#include <ModelAPI_Events.h>
#include <ModelAPI_Tools.h>
#include <ModelAPI_ResultConstruction.h>
+#include <ModelAPI_ResultCompSolid.h>
#include <GeomAPI_PlanarEdges.h>
#include <Events_InfoMessage.h>
#include <Prs3d_PointAspect.hxx>
#include <TopoDS_Builder.hxx>
#include <SelectMgr_SelectionManager.hxx>
-#include <StdPrs_WFDeflectionShape.hxx>
+#include <StdPrs_WFShape.hxx>
#include <StdSelect_BRepSelectionTool.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Prs3d_LineAspect.hxx>
//*******************************************************************************************
-IMPLEMENT_STANDARD_HANDLE(PartSet_ResultSketchPrs, ViewerData_AISShape);
IMPLEMENT_STANDARD_RTTIEXT(PartSet_ResultSketchPrs, ViewerData_AISShape);
PartSet_ResultSketchPrs::PartSet_ResultSketchPrs(ResultPtr theResult)
TopoDS_Shape aShape = aShapePtr->impl<TopoDS_Shape>();
Set(aShape);
Handle(Prs3d_Drawer) aDrawer = Attributes();
- if (aDrawer->HasOwnPointAspect())
+ if (aDrawer->HasOwnPointAspect())
aDrawer->PointAspect()->SetTypeOfMarker(Aspect_TOM_PLUS);
else
aDrawer->SetPointAspect(new Prs3d_PointAspect(Aspect_TOM_PLUS, Quantity_NOC_YELLOW, 1.));
void PartSet_ResultSketchPrs::Compute(
const Handle(PrsMgr_PresentationManager3d)& thePresentationManager,
- const Handle(Prs3d_Presentation)& thePresentation,
+ const Handle(Prs3d_Presentation)& thePresentation,
const Standard_Integer theMode)
{
thePresentation->Clear();
setAuxiliaryPresentationStyle(true);
Handle(Prs3d_Drawer) aDrawer = Attributes();
- StdPrs_WFDeflectionShape::Add(thePresentation, myAuxiliaryCompound, aDrawer);
+ StdPrs_WFShape::Add(thePresentation, myAuxiliaryCompound, aDrawer);
}
if (!aReadyToDisplay) {
- Events_InfoMessage("PartSet_ResultSketchPrs",
+ Events_InfoMessage("PartSet_ResultSketchPrs",
"An empty AIS presentation: PartSet_ResultSketchPrs").send();
static const Events_ID anEvent = Events_Loop::eventByName(EVENT_EMPTY_AIS_PRESENTATION);
ModelAPI_EventCreator::get()->sendUpdated(myResult, anEvent);
TopTools_IndexedMapOfShape aSubShapes;
TopExp::MapShapes (theShape, theType, aSubShapes);
- Standard_Boolean
+ Standard_Boolean
isComesFromDecomposition = !((aSubShapes.Extent() == 1) && (theShape == aSubShapes (1)));
int anExtent = aSubShapes.Extent();
for (Standard_Integer aShIndex = 1; aShIndex <= aSubShapes.Extent(); ++aShIndex)
TopoDS_Compound aComp;
aBuilder.MakeCompound(aComp);
aBuilder.Add(aComp, myOriginalShape);
-
+
for(NCollection_List<TopoDS_Shape>::Iterator anIt(mySketchFaceList); anIt.More(); anIt.Next()) {
const TopoDS_Shape& aFace = anIt.Value();
aBuilder.Add(aComp, aFace);
debugInfo(aComp, TopAbs_FACE); // 2
#endif
Set(aComp);
- double aBodyDefDeflection = Config_PropManager::real("Visualization", "body_deflection",
- ModelAPI_ResultBody::DEFAULT_DEFLECTION());
+ double aBodyDefDeflection = Config_PropManager::real("Visualization", "body_deflection");
Attributes()->SetDeviationCoefficient(aBodyDefDeflection);
aShapeIsChanged = true;
}
void PartSet_ResultSketchPrs::setAuxiliaryPresentationStyle(const bool isAuxiliary)
{
- Standard_Integer aLineStyle = isAuxiliary?
- SketchPlugin_SketchEntity::SKETCH_LINE_STYLE_AUXILIARY() :
+ Standard_Integer aLineStyle = isAuxiliary?
+ SketchPlugin_SketchEntity::SKETCH_LINE_STYLE_AUXILIARY() :
SketchPlugin_SketchEntity::SKETCH_LINE_STYLE();
Handle(Prs3d_Drawer) aDrawer = Attributes();
if (aDrawer->HasOwnWireAspect()) {
aLineAspect = aDrawer->WireAspect();
}
- Quantity_Color aCurrentColor;
- Aspect_TypeOfLine aPrevLineType;
- Standard_Real aCurrentWidth;
- aLineAspect->Aspect()->Values(aCurrentColor, aPrevLineType, aCurrentWidth);
+ Quantity_Color aCurrentColor = aLineAspect->Aspect()->Color();
+ Aspect_TypeOfLine aPrevLineType = aLineAspect->Aspect()->Type();
+ Standard_Real aCurrentWidth = aLineAspect->Aspect()->Width();
bool isChangedLineType = aType != aPrevLineType;
if (isChangedLineType) {
- aLineAspect->SetTypeOfLine(aType);
+ Handle(Prs3d_LineAspect) aAspect = new Prs3d_LineAspect(aCurrentColor, aType, aCurrentWidth);
+ aDrawer->SetLineAspect(aAspect);
+ aDrawer->SetWireAspect(aAspect);
+ SetAttributes(aDrawer);
}
}
return;
theFaceList.Clear();
- ResultConstructionPtr aConstruction =
+ ResultConstructionPtr aConstruction =
std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(myResult);
if (aConstruction.get()) {
int aFacesNum = aConstruction->facesNum();