1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-03 14:10:33 +03:00

Update MeshVS_PrsBuilder & MeshVS_MeshPrsBuilder.

This commit is contained in:
isk
2016-09-01 16:29:18 +03:00
parent e5593d7d75
commit 409cc6f981
2 changed files with 40 additions and 6 deletions

View File

@@ -158,10 +158,17 @@ void MeshVS_MeshPrsBuilder::BuildNodes ( const Handle(Prs3d_Presentation)& Prs,
if ( k>0 )
{
Prs3d_Root::NewGroup ( Prs );
Handle (Graphic3d_Group) aNodeGroup = Prs3d_Root::CurrentGroup ( Prs );
aNodeGroup->SetPrimitivesAspect ( aNodeMark );
aNodeGroup->AddPrimitiveArray (aNodePoints);
if (myIsCreateGroup)
{
Prs3d_Root::NewGroup(Prs);
Handle(Graphic3d_Group) aNodeGroup = Prs3d_Root::CurrentGroup(Prs);
aNodeGroup->SetPrimitivesAspect(aNodeMark);
aNodeGroup->AddPrimitiveArray(aNodePoints);
}
else
{
myArrayOfPrimitives = aNodePoints;
}
}
}
@@ -506,8 +513,22 @@ void MeshVS_MeshPrsBuilder::BuildElements( const Handle(Prs3d_Presentation)& Prs
// << "Face segs: " << aEdgeSegments->ItemNumber() << " from " << aNbEdgePrimitives << std::endl
// << "Link segs: " << aLinkSegments->ItemNumber() << " from " << aNbLinkPrimitives << std::endl;
DrawArrays ( Prs, aFaceTriangles, aEdgeSegments, aLinkSegments, aVolmTriangles,
!showEdges, HasSelectFlag, aFill, aBeam );
if (myIsCreateGroup)
{
DrawArrays ( Prs, aFaceTriangles, aEdgeSegments, aLinkSegments, aVolmTriangles,
!showEdges, HasSelectFlag, aFill, aBeam );
}
else
{
if (!aFaceTriangles.IsNull())
{
myArrayOfPrimitives = aFaceTriangles;
}
else if (!aEdgeSegments.IsNull())
{
myArrayOfPrimitives = aEdgeSegments;
}
}
if ( !aCustomElements.IsEmpty() )
CustomBuild ( Prs, aCustomElements, IDsToExclude, DisplayMode );

View File

@@ -106,6 +106,16 @@ public:
void SetIsCreateGroup(const Standard_Boolean theIsCreate)
{
myIsCreateGroup = theIsCreate;
}
const Handle(Graphic3d_ArrayOfPrimitives)& ArrayOfPrimitives() const
{
return myArrayOfPrimitives;
}
DEFINE_STANDARD_RTTIEXT(MeshVS_PrsBuilder,MMgt_TShared)
@@ -142,6 +152,9 @@ private:
Standard_Integer myPriority;
Handle(PrsMgr_PresentationManager3d) myPrsMgr;
protected:
mutable Handle(Graphic3d_ArrayOfPrimitives) myArrayOfPrimitives;
Standard_Boolean myIsCreateGroup;
};