Open CASCADE Technology 7.9.0
|
This class provides methods to compute base mesh presentation. More...
#include <MeshVS_MeshPrsBuilder.hxx>
Public Member Functions | |
MeshVS_MeshPrsBuilder (const Handle< MeshVS_Mesh > &Parent, const MeshVS_DisplayModeFlags &Flags=MeshVS_DMF_OCCMask, const Handle< MeshVS_DataSource > &DS=0, const Standard_Integer Id=-1, const MeshVS_BuilderPriority &Priority=MeshVS_BP_Mesh) | |
Creates builder with certain display mode flags, data source, ID and priority. | |
virtual void | Build (const Handle< Prs3d_Presentation > &Prs, const TColStd_PackedMapOfInteger &IDs, TColStd_PackedMapOfInteger &IDsToExclude, const Standard_Boolean IsElement, const Standard_Integer DisplayMode) const override |
Builds base mesh presentation by calling the methods below. | |
virtual void | BuildNodes (const Handle< Prs3d_Presentation > &Prs, const TColStd_PackedMapOfInteger &IDs, TColStd_PackedMapOfInteger &IDsToExclude, const Standard_Integer DisplayMode) const |
Builds nodes presentation. | |
virtual void | BuildElements (const Handle< Prs3d_Presentation > &Prs, const TColStd_PackedMapOfInteger &IDs, TColStd_PackedMapOfInteger &IDsToExclude, const Standard_Integer DisplayMode) const |
Builds elements presentation. | |
virtual void | BuildHilightPrs (const Handle< Prs3d_Presentation > &Prs, const TColStd_PackedMapOfInteger &IDs, const Standard_Boolean IsElement) const |
Builds presentation of hilighted entity. | |
![]() | |
virtual void | CustomBuild (const Handle< Prs3d_Presentation > &Prs, const TColStd_PackedMapOfInteger &IDs, TColStd_PackedMapOfInteger &IDsToExclude, const Standard_Integer DisplayMode) const |
This method is called to build presentation of custom elements (they have MeshVS_ET_0D type). IDs is set of numeric identificators of elements for custom building. IDsToExclude is set of IDs to exclude from processing. If some entity has been excluded, it is not processed by other builders. DisplayMode is numeric constant describing display mode (see MeshVS_DisplayModeFlags.hxx) | |
virtual Handle< Select3D_SensitiveEntity > | CustomSensitiveEntity (const Handle< SelectMgr_EntityOwner > &Owner, const Standard_Integer SelectMode) const |
This method is called to build sensitive of custom elements ( they have MeshVS_ET_0D type ) | |
Standard_Integer | GetFlags () const |
Returns flags, assigned with builder during creation. | |
virtual Standard_Boolean | TestFlags (const Standard_Integer DisplayMode) const |
Test whether display mode has flags assigned with this builder. This method has default implementation and can be redefined for advance behavior Returns Standard_True only if display mode is appropriate for this builder. | |
Standard_Integer | GetId () const |
Returns builder ID. | |
Standard_Integer | GetPriority () const |
Returns priority; as priority bigger, as soon builder will be called. | |
Handle< MeshVS_DataSource > | GetDataSource () const |
Returns custom data source or default ( from MeshVS_Mesh ) if custom is NULL. | |
void | SetDataSource (const Handle< MeshVS_DataSource > &newDS) |
Change custom data source. | |
Handle< MeshVS_Drawer > | GetDrawer () const |
Returns custom drawer or default ( from MeshVS_Mesh ) if custom is NULL. | |
void | SetDrawer (const Handle< MeshVS_Drawer > &newDr) |
Change custom drawer. | |
void | SetExcluding (const Standard_Boolean state) |
Set excluding state. If it is Standard_True, the nodes or elements, processed by current builder will be noted and next builder won't process its. | |
Standard_Boolean | IsExcludingOn () const |
Read excluding state. | |
void | SetPresentationManager (const Handle< PrsMgr_PresentationManager > &thePrsMgr) |
Set presentation manager for builder. | |
Handle< PrsMgr_PresentationManager > | GetPresentationManager () const |
Get presentation manager of builder. | |
![]() | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Static Public Member Functions | |
static void | AddVolumePrs (const Handle< MeshVS_HArray1OfSequenceOfInteger > &Topo, const TColStd_Array1OfReal &Nodes, const Standard_Integer NbNodes, const Handle< Graphic3d_ArrayOfPrimitives > &Array, const Standard_Boolean IsReflected, const Standard_Boolean IsShrinked, const Standard_Boolean IsSelect, const Standard_Real ShrinkCoef) |
Add to array polygons or polylines representing volume. | |
static void | HowManyPrimitives (const Handle< MeshVS_HArray1OfSequenceOfInteger > &Topo, const Standard_Boolean AsPolygons, const Standard_Boolean IsSelect, const Standard_Integer NbNodes, Standard_Integer &Vertices, Standard_Integer &Bounds) |
Calculate how many polygons or polylines are necessary to draw passed topology. | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
Protected Member Functions | |
void | AddLinkPrs (const TColStd_Array1OfReal &theCoords, const Handle< Graphic3d_ArrayOfSegments > &theLines, const Standard_Boolean IsShrinked, const Standard_Real ShrinkCoef) const |
Add to array of polylines some lines representing link. | |
void | AddFaceWirePrs (const TColStd_Array1OfReal &theCoords, const Standard_Integer theNbNodes, const Handle< Graphic3d_ArrayOfSegments > &theLines, const Standard_Boolean theIsShrinked, const Standard_Real theShrinkingCoef) const |
Add to array of segments representing face's wire. | |
void | AddFaceSolidPrs (const Standard_Integer ID, const TColStd_Array1OfReal &theCoords, const Standard_Integer theNbNodes, const Standard_Integer theMaxNodes, const Handle< Graphic3d_ArrayOfTriangles > &theTriangles, const Standard_Boolean theIsReflected, const Standard_Boolean theIsShrinked, const Standard_Real theShrinkCoef, const Standard_Boolean theIsMeshSmoothShading) const |
Add to array of polygons a polygon representing face. | |
void | DrawArrays (const Handle< Prs3d_Presentation > &Prs, const Handle< Graphic3d_ArrayOfPrimitives > &thePolygons, const Handle< Graphic3d_ArrayOfPrimitives > &theLines, const Handle< Graphic3d_ArrayOfPrimitives > &theLinkLines, const Handle< Graphic3d_ArrayOfPrimitives > &theVolumesInShad, const Standard_Boolean IsPolygonsEdgesOff, const Standard_Boolean IsSelected, const Handle< Graphic3d_AspectFillArea3d > &theFillAsp, const Handle< Graphic3d_AspectLine3d > &theLineAsp) const |
Draw array of polygons and polylines in the certain order according to transparency. | |
![]() | |
MeshVS_PrsBuilder (const Handle< MeshVS_Mesh > &Parent, const MeshVS_DisplayModeFlags &Flags, const Handle< MeshVS_DataSource > &DS, const Standard_Integer Id, const MeshVS_BuilderPriority &Priority=MeshVS_BP_Default) | |
Constructor Parent is pointer to MeshVS_Mesh object Flags is set of display modes corresponding to this builder DS is data source object, from which builder will pick geometry and topological information Id is numeric identificator of builder. You must set it to positive integer, but if you set it to -1, constructor will select the smallest integer, not occupied by other builders Priority is numerical priority constant. As priority bigger, as sooner builder starts during presentation construction. | |
Handle< MeshVS_DataSource > | DataSource () const |
Returns only custom data source. | |
Handle< MeshVS_Drawer > | Drawer () const |
Returns only custom drawer. | |
Static Protected Member Functions | |
static void | CalculateCenter (const TColStd_Array1OfReal &theCoords, const Standard_Integer NbNodes, Standard_Real &xG, Standard_Real &yG, Standard_Real &zG) |
Default calculation of center of face or link. This method if useful for shrink mode presentation theCoords is array of nodes coordinates in the strict order X1, Y1, Z1, X2... NbNodes is number of nodes an element consist of xG, yG, zG are coordinates of center whose will be returned. | |
Additional Inherited Members | |
typedef void | base_type |
Returns a type descriptor about this object. | |
![]() | |
MeshVS_MeshPtr | myParentMesh |
This class provides methods to compute base mesh presentation.
MeshVS_MeshPrsBuilder::MeshVS_MeshPrsBuilder | ( | const Handle< MeshVS_Mesh > & | Parent, |
const MeshVS_DisplayModeFlags & | Flags = MeshVS_DMF_OCCMask, | ||
const Handle< MeshVS_DataSource > & | DS = 0, | ||
const Standard_Integer | Id = -1, | ||
const MeshVS_BuilderPriority & | Priority = MeshVS_BP_Mesh ) |
Creates builder with certain display mode flags, data source, ID and priority.
|
protected |
Add to array of polygons a polygon representing face.
|
protected |
Add to array of segments representing face's wire.
|
protected |
Add to array of polylines some lines representing link.
|
static |
Add to array polygons or polylines representing volume.
|
overridevirtual |
Builds base mesh presentation by calling the methods below.
Implements MeshVS_PrsBuilder.
|
virtual |
Builds elements presentation.
|
virtual |
Builds presentation of hilighted entity.
|
virtual |
Builds nodes presentation.
|
staticprotected |
Default calculation of center of face or link. This method if useful for shrink mode presentation theCoords is array of nodes coordinates in the strict order X1, Y1, Z1, X2... NbNodes is number of nodes an element consist of xG, yG, zG are coordinates of center whose will be returned.
|
protected |
Draw array of polygons and polylines in the certain order according to transparency.
|
static |
Calculate how many polygons or polylines are necessary to draw passed topology.