Open CASCADE Technology  7.3.1.dev
Public Member Functions | Protected Member Functions | Protected Attributes
MeshVS_Mesh Class Reference

the main class provides interface to create mesh presentation as a whole More...

#include <MeshVS_Mesh.hxx>

Inheritance diagram for MeshVS_Mesh:
Inheritance graph
[legend]

Public Member Functions

 MeshVS_Mesh (const Standard_Boolean theIsAllowOverlapped=Standard_False)
 Constructor. theIsAllowOverlapped is Standard_True, if it is allowed to draw edges overlapped with beams Its value is stored in drawer. More...
 
virtual Standard_Boolean AcceptDisplayMode (const Standard_Integer theMode) const override
 Returns true for supported display modes basing on a list of defined builders. More...
 
virtual void Compute (const Handle< PrsMgr_PresentationManager3d > &PM, const Handle< Prs3d_Presentation > &Prs, const Standard_Integer DisplayMode) override
 Computes presentation using builders added to sequence. Each builder computes own part of mesh presentation according to its type. More...
 
virtual void ComputeSelection (const Handle< SelectMgr_Selection > &Sel, const Standard_Integer SelectMode) override
 Computes selection according to SelectMode. More...
 
virtual void HilightSelected (const Handle< PrsMgr_PresentationManager3d > &PM, const SelectMgr_SequenceOfOwner &Owners) override
 Draw selected owners presentation. More...
 
virtual void HilightOwnerWithColor (const Handle< PrsMgr_PresentationManager3d > &thePM, const Handle< Prs3d_Drawer > &theColor, const Handle< SelectMgr_EntityOwner > &theOwner) override
 Draw hilighted owner presentation. More...
 
virtual void ClearSelected () override
 Clears internal selection presentation. More...
 
Standard_Integer GetBuildersCount () const
 How many builders there are in sequence. More...
 
Handle< MeshVS_PrsBuilderGetBuilder (const Standard_Integer Index) const
 Returns builder by its index in sequence. More...
 
Handle< MeshVS_PrsBuilderGetBuilderById (const Standard_Integer Id) const
 Returns builder by its ID. More...
 
Standard_Integer GetFreeId () const
 Returns the smallest positive ID, not occupied by any builder. This method using when builder is created with ID = -1. More...
 
void AddBuilder (const Handle< MeshVS_PrsBuilder > &Builder, const Standard_Boolean TreatAsHilighter=Standard_False)
 Adds builder to tale of sequence. PrsBuilder is builder to be added If TreatAsHilighter is true, MeshVS_Mesh will use this builder to create presentation of hilighted and selected owners. Only one builder can be hilighter, so that if you call this method with TreatAsHilighter = Standard_True some times, only last builder will be hilighter WARNING: As minimum one builder must be added as hilighter, otherwise selection cannot be computed. More...
 
void SetHilighter (const Handle< MeshVS_PrsBuilder > &Builder)
 Changes hilighter ( see above ) More...
 
Standard_Boolean SetHilighter (const Standard_Integer Index)
 Sets builder with sequence index "Index" as hilighter. More...
 
Standard_Boolean SetHilighterById (const Standard_Integer Id)
 Sets builder with identificator "Id" as hilighter. More...
 
Handle< MeshVS_PrsBuilderGetHilighter () const
 Returns hilighter. More...
 
void RemoveBuilder (const Standard_Integer Index)
 Removes builder from sequence. If it is hilighter, hilighter will be NULL ( Don't remember to set it to other after!!! ) More...
 
void RemoveBuilderById (const Standard_Integer Id)
 Removes builder with identificator Id. More...
 
Handle< MeshVS_PrsBuilderFindBuilder (const Standard_CString TypeString) const
 Finds builder by its type the string represents. More...
 
const MeshVS_DataMapOfIntegerOwnerGetOwnerMaps (const Standard_Boolean IsElement)
 Returns map of owners. More...
 
Handle< MeshVS_DataSourceGetDataSource () const
 Returns default builders' data source. More...
 
void SetDataSource (const Handle< MeshVS_DataSource > &aDataSource)
 Sets default builders' data source. More...
 
Handle< MeshVS_DrawerGetDrawer () const
 Returns default builders' drawer. More...
 
void SetDrawer (const Handle< MeshVS_Drawer > &aDrawer)
 Sets default builders' drawer. More...
 
Standard_Boolean IsHiddenElem (const Standard_Integer ID) const
 Returns True if specified element is hidden By default no elements are hidden. More...
 
Standard_Boolean IsHiddenNode (const Standard_Integer ID) const
 Returns True if specified node is hidden. By default all nodes are hidden. More...
 
Standard_Boolean IsSelectableElem (const Standard_Integer ID) const
 Returns True if specified element is not hidden. More...
 
Standard_Boolean IsSelectableNode (const Standard_Integer ID) const
 Returns True if specified node is specified as selectable. More...
 
const Handle< TColStd_HPackedMapOfInteger > & GetHiddenNodes () const
 Returns map of hidden nodes (may be null handle) More...
 
void SetHiddenNodes (const Handle< TColStd_HPackedMapOfInteger > &Ids)
 Sets map of hidden nodes, which shall not be displayed individually. If nodes shared by some elements shall not be drawn, they should be included into that map. More...
 
const Handle< TColStd_HPackedMapOfInteger > & GetHiddenElems () const
 Returns map of hidden elements (may be null handle) More...
 
void SetHiddenElems (const Handle< TColStd_HPackedMapOfInteger > &Ids)
 Sets map of hidden elements. More...
 
const Handle< TColStd_HPackedMapOfInteger > & GetSelectableNodes () const
 Returns map of selectable elements (may be null handle) More...
 
void SetSelectableNodes (const Handle< TColStd_HPackedMapOfInteger > &Ids)
 Sets map of selectable nodes. More...
 
void UpdateSelectableNodes ()
 Automatically computes selectable nodes; the node is considered as being selectable if it is either not hidden, or is hidden but referred by at least one non-hidden element. Thus all nodes that are visible (either individually, or as ends or corners of elements) are selectable by default. More...
 
MeshVS_MeshSelectionMethod GetMeshSelMethod () const
 Returns set mesh selection method (see MeshVS.cdl) More...
 
void SetMeshSelMethod (const MeshVS_MeshSelectionMethod M)
 Sets mesh selection method (see MeshVS.cdl) More...
 
virtual Standard_Boolean IsWholeMeshOwner (const Handle< SelectMgr_EntityOwner > &theOwner) const
 Returns True if the given owner represents a whole mesh. More...
 
- Public Member Functions inherited from AIS_InteractiveObject
virtual AIS_KindOfInteractive Type () const
 Returns the kind of Interactive Object: More...
 
virtual Standard_Integer Signature () const
 Specifies additional characteristics of Interactive Objects. A signature is, in fact, an index with integer values assigned different properties. This method is frequently used in conjuction with Type to give a particular type and signature to an Interactive Object. By default, the Interactive Object has a None type and a signature of 0. Among the datums, this signature is attributed to the shape The remaining datums have the following default signatures: More...
 
virtual Standard_Boolean AcceptShapeDecomposition () const
 Informs the graphic context that the interactive Object may be decomposed into sub-shapes for dynamic selection. The most used Interactive Object is AIS_Shape. Activation methods for standard selection modes are proposed in the Interactive Context. These include selection by vertex or by edges. For datums with the same behavior as AIS_Shape, such as vetices and edges, we must redefine the virtual method so that AcceptShapeDecomposition returns false. Rule for selection : Mode 0 : Selection of the interactive Object itself Mode 1 : Selection of vertices Mode 2 : Selection Of Edges Mode 3 : Selection Of Wires Mode 4 : Selection Of Faces ... More...
 
void SetCurrentFacingModel (const Aspect_TypeOfFacingModel aModel=Aspect_TOFM_BOTH_SIDE)
 change the current facing model apply on polygons for SetColor(), SetTransparency(), SetMaterial() methods default facing model is Aspect_TOFM_TWO_SIDE. This mean that attributes is applying both on the front and back face. More...
 
Aspect_TypeOfFacingModel CurrentFacingModel () const
 Returns the current facing model which is in effect. More...
 
virtual void SetColor (const Quantity_Color &theColor)
 Only the interactive object knowns which Drawer attribute is affected by the color, if any (ex: for a wire,it's the wireaspect field of the drawer, but for a vertex, only the point aspect field is affected by the color). WARNING : Do not forget to set the corresponding fields here (hasOwnColor and myDrawer->SetColor()) More...
 
virtual void UnsetColor ()
 Removes color settings. Only the Interactive Object knows which Drawer attribute is affected by the color setting. For a wire, for example, wire aspect is the attribute affected. For a vertex, however, only point aspect is affected by the color setting. More...
 
virtual void SetWidth (const Standard_Real aValue)
 Allows you to provide the setting aValue for width. Only the Interactive Object knows which Drawer attribute is affected by the width setting. More...
 
virtual void UnsetWidth ()
 
virtual Standard_Integer DefaultDisplayMode () const
 Returns the default display mode. This method is to be implemented when the main mode is not mode 0. More...
 
void Redisplay (const Standard_Boolean AllModes=Standard_False)
 Updates the active presentation; if <AllModes> = Standard_True all the presentations inside are recomputed. IMPORTANT: It is preferable to call Redisplay method of corresponding AIS_InteractiveContext instance for cases when it is accessible. This method just redirects call to myCTXPtr, so this class field must be up to date for proper result. More...
 
void SetInfiniteState (const Standard_Boolean aFlag=Standard_True)
 Sets the infinite state flag aFlage. if <aFlag> = True , the interactiveObject is considered as infinite, i.e. its graphic presentations are not taken in account for View FitAll... More...
 
Standard_Boolean IsInfinite () const
 Returns true if the interactive object is infinite. In this case, its graphic presentations are not taken into account in the fit-all view. More...
 
Standard_Boolean HasInteractiveContext () const
 Indicates whether the Interactive Object has a pointer to an interactive context. More...
 
Handle< AIS_InteractiveContextGetContext () const
 Returns the context pointer to the interactive context. More...
 
virtual void SetContext (const Handle< AIS_InteractiveContext > &aCtx)
 Sets the interactive context aCtx and provides a link to the default drawing tool or "Drawer" if there is none. More...
 
Standard_Boolean HasOwner () const
 Returns true if the object has an owner attributed to it. The owner can be a shape for a set of sub-shapes or a sub-shape for sub-shapes which it is composed of, and takes the form of a transient. More...
 
const Handle< Standard_Transient > & GetOwner () const
 Returns the owner of the Interactive Object. The owner can be a shape for a set of sub-shapes or a sub-shape for sub-shapes which it is composed of, and takes the form of a transient. There are two types of owners: More...
 
void SetOwner (const Handle< Standard_Transient > &theApplicativeEntity)
 Allows you to attribute the owner theApplicativeEntity to an Interactive Object. This can be a shape for a set of sub-shapes or a sub-shape for sub-shapes which it is composed of. The owner takes the form of a transient. More...
 
void ClearOwner ()
 Each Interactive Object has methods which allow us to attribute an Owner to it in the form of a Transient. This method removes the owner from the graphic entity. More...
 
Standard_Boolean HasDisplayMode () const
 Returns true if the Interactive Object has a display mode setting. Otherwise, it is displayed in Neutral Point. More...
 
void SetDisplayMode (const Standard_Integer aMode)
 Sets the display mode aMode for the interactive object. An object can have its own temporary display mode, which is different from that proposed by the interactive context. The range of possibilities currently proposed is the following: More...
 
void UnsetDisplayMode ()
 Removes display mode settings from the interactive object. More...
 
Standard_Integer DisplayMode () const
 Returns the display mode setting of the Interactive Object. The range of possibilities is the following: More...
 
Standard_Boolean HasHilightMode () const
 Returns true if the Interactive Object is in highlight mode. More...
 
Standard_Integer HilightMode () const
 Returns highlight display mode. This is obsolete method for backward compatibility - use ::HilightAttributes() and ::DynamicHilightAttributes() instead. More...
 
void SetHilightMode (const Standard_Integer theMode)
 Sets highlight display mode. This is obsolete method for backward compatibility - use ::HilightAttributes() and ::DynamicHilightAttributes() instead. More...
 
void UnsetHilightMode ()
 Unsets highlight display mode. More...
 
Standard_Boolean HasColor () const
 Returns true if the Interactive Object has color. More...
 
virtual void Color (Quantity_Color &theColor) const
 Returns the color setting of the Interactive Object. More...
 
Standard_Boolean HasWidth () const
 Returns true if the Interactive Object has width. More...
 
Standard_Real Width () const
 Returns the width setting of the Interactive Object. More...
 
Standard_Boolean HasMaterial () const
 Returns true if the Interactive Object has a setting for material. More...
 
virtual Graphic3d_NameOfMaterial Material () const
 Returns the current material setting. This will be on of the following materials: More...
 
virtual void SetMaterial (const Graphic3d_MaterialAspect &aName)
 Sets the material aMat defining this display attribute for the interactive object. Material aspect determines shading aspect, color and transparency of visible entities. More...
 
virtual void UnsetMaterial ()
 Removes the setting for material. More...
 
virtual void SetTransparency (const Standard_Real aValue=0.6)
 Attributes a setting aValue for transparency. The transparency value should be between 0.0 and 1.0. At 0.0 an object will be totally opaque, and at 1.0, fully transparent. Warning At a value of 1.0, there may be nothing visible. More...
 
Standard_Boolean IsTransparent () const
 Returns true if there is a transparency setting. More...
 
virtual Standard_Real Transparency () const
 Returns the transparency setting. This will be between 0.0 and 1.0. At 0.0 an object will be totally opaque, and at 1.0, fully transparent. More...
 
virtual void UnsetTransparency ()
 Removes the transparency setting. The object is opaque by default. More...
 
virtual void UnsetAttributes () override
 Clears settings provided by the drawing tool aDrawer. More...
 
Standard_Boolean HasPresentation () const
 Returns TRUE when this object has a presentation in the current DisplayMode() More...
 
Handle< Prs3d_PresentationPresentation () const
 Returns the current presentation of this object according to the current DisplayMode() More...
 
void SetAspect (const Handle< Prs3d_BasicAspect > &anAspect)
 Sets the graphic basic aspect to the current presentation. More...
 
virtual void SetPolygonOffsets (const Standard_Integer aMode, const Standard_ShortReal aFactor=1.0, const Standard_ShortReal aUnits=0.0)
 Sets up polygon offsets for this object. It modifies all existing presentations of <anObj> (if any), so it is reasonable to call this method after <anObj> has been displayed. Otherwise, Compute() method should pass Graphic3d_AspectFillArea3d aspect from <myDrawer> to Graphic3d_Group to make polygon offsets work. More...
 
virtual Standard_Boolean HasPolygonOffsets () const
 Returns Standard_True if <myDrawer> has non-null shading aspect. More...
 
virtual void PolygonOffsets (Standard_Integer &aMode, Standard_ShortReal &aFactor, Standard_ShortReal &aUnits) const
 Retrieves current polygon offsets settings from <myDrawer>. More...
 
virtual void BoundingBox (Bnd_Box &theBndBox) override
 Returns bounding box of object correspondingly to its current display mode. More...
 
void SetIsoOnTriangulation (const Standard_Boolean theIsEnabled)
 Enables or disables on-triangulation build of isolines according to the flag given. More...
 
void SynchronizeAspects ()
 Synchronize presentation aspects after their modification. More...
 
- Public Member Functions inherited from SelectMgr_SelectableObject
virtual ~SelectMgr_SelectableObject ()
 Clears all selections of the object. More...
 
void RecomputePrimitives ()
 Re-computes the sensitive primitives for all modes. IMPORTANT: Do not use this method to update selection primitives except implementing custom selection manager! This method does not take into account necessary BVH updates, but may invalidate the pointers it refers to. TO UPDATE SELECTION properly from outside classes, use method UpdateSelection. More...
 
void RecomputePrimitives (const Standard_Integer theMode)
 Re-computes the sensitive primitives which correspond to the <theMode>th selection mode. IMPORTANT: Do not use this method to update selection primitives except implementing custom selection manager! selection manager! This method does not take into account necessary BVH updates, but may invalidate the pointers it refers to. TO UPDATE SELECTION properly from outside classes, use method UpdateSelection. More...
 
void AddSelection (const Handle< SelectMgr_Selection > &aSelection, const Standard_Integer aMode)
 Adds the selection aSelection with the selection mode index aMode to this framework. More...
 
void ClearSelections (const Standard_Boolean update=Standard_False)
 Empties all the selections in the SelectableObject <update> parameter defines whether all object's selections should be flagged for further update or not. This improved method can be used to recompute an object's selection (without redisplaying the object completely) when some selection mode is activated not for the first time. More...
 
const Handle< SelectMgr_Selection > & Selection (const Standard_Integer theMode) const
 Returns the selection having specified selection mode or NULL. More...
 
Standard_Boolean HasSelection (const Standard_Integer theMode) const
 Returns true if a selection corresponding to the selection mode theMode was computed for this object. More...
 
const SelectMgr_SequenceOfSelectionSelections () const
 Return the sequence of selections. More...
 
void Init ()
 Begins the iteration scanning for sensitive primitives. More...
 
Standard_Boolean More () const
 Continues the iteration scanning for sensitive primitives. More...
 
void Next ()
 Continues the iteration scanning for sensitive primitives. More...
 
const Handle< SelectMgr_Selection > & CurrentSelection () const
 Returns the current selection in this framework. More...
 
void ResetTransformation () override
 resets local transformation to identity. More...
 
virtual void UpdateTransformation () override
 Recomputes the location of the selection aSelection. More...
 
virtual void UpdateTransformations (const Handle< SelectMgr_Selection > &aSelection)
 Updates locations in all sensitive entities from <aSelection> and in corresponding entity owners. More...
 
virtual void ClearDynamicHighlight (const Handle< PrsMgr_PresentationManager3d > &theMgr)
 Method that needs to be implemented when the object manages selection and dynamic highlighting on its own. Clears or invalidates dynamic highlight presentation. By default it clears immediate draw of given presentation manager. More...
 
virtual Standard_Boolean IsAutoHilight () const
 If returns True, the old mechanism for highlighting selected objects is used (HilightSelected Method may be empty). If returns False, the HilightSelected method will be fully responsible for highlighting selected entity owners belonging to this selectable object. More...
 
virtual void SetAutoHilight (const Standard_Boolean newAutoHilight)
 Set AutoHilight property to true or false Sets up Transform Persistence Mode for this object. More...
 
Handle< Prs3d_PresentationGetHilightPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
 
Handle< Prs3d_PresentationGetSelectPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
 
virtual void ErasePresentations (Standard_Boolean theToRemove)
 Removes presentations returned by GetHilightPresentation() and GetSelectPresentation(). More...
 
virtual void SetZLayer (const Graphic3d_ZLayerId theLayerId) override
 Set Z layer ID and update all presentations of the selectable object. The layers mechanism allows drawing objects in higher layers in overlay of objects in lower layers. More...
 
void UpdateSelection (const Standard_Integer theMode=-1)
 Sets update status FULL to selections of the object. Must be used as the only method of UpdateSelection from outer classes to prevent BVH structures from being outdated. More...
 
void SetAssemblyOwner (const Handle< SelectMgr_EntityOwner > &theOwner, const Standard_Integer theMode=-1)
 Sets common entity owner for assembly sensitive object entities. More...
 
Bnd_Box BndBoxOfSelected (const Handle< SelectMgr_IndexedMapOfOwner > &theOwners)
 Returns a bounding box of sensitive entities with the owners given if they are a part of activated selection. More...
 
Standard_Integer GlobalSelectionMode () const
 Returns the mode for selection of object as a whole. More...
 
virtual Handle< SelectMgr_EntityOwnerGlobalSelOwner () const
 Returns the owner of mode for selection of object as a whole. More...
 
virtual const Handle< SelectMgr_EntityOwner > & GetAssemblyOwner () const
 Returns common entity owner if the object is an assembly. More...
 
- Public Member Functions inherited from PrsMgr_PresentableObject
PrsMgr_PresentationsPresentations ()
 
PrsMgr_TypeOfPresentation3d TypeOfPresentation3d () const
 Returns information on whether the object accepts display in HLR mode or not. More...
 
const Handle< Graphic3d_TransformPers > & TransformPersistence () const
 Returns Transformation Persistence defining a special Local Coordinate system where this presentable object is located or NULL handle if not defined. Position of the object having Transformation Persistence is mutable and depends on camera position. The same applies to a bounding box of the object. More...
 
virtual void SetTransformPersistence (const Handle< Graphic3d_TransformPers > &theTrsfPers)
 Sets up Transform Persistence defining a special Local Coordinate system where this object should be located. Note that management of Transform Persistence object is more expensive than of the normal one, because it requires its position being recomputed basing on camera position within each draw call / traverse. More...
 
void SetTransformPersistence (const Graphic3d_TransModeFlags theMode, const gp_Pnt &thePoint=gp_Pnt(0.0, 0.0, 0.0))
 Sets up Transform Persistence Mode for this object. This function used to lock in object position, rotation and / or zooming relative to camera position. Object will be drawn in the origin setted by thePoint parameter (except Graphic3d_TMF_TriedronPers flag. More...
 
Graphic3d_TransModeFlags GetTransformPersistenceMode () const
 Gets Transform Persistence Mode for this object. More...
 
gp_Pnt GetTransformPersistencePoint () const
 Gets point of transform persistence for this object. More...
 
void SetTypeOfPresentation (const PrsMgr_TypeOfPresentation3d aType)
 
Standard_Boolean ToBeUpdated (Standard_Boolean theToIncludeHidden=Standard_False) const
 Returns TRUE if any active presentation has invalidation flag. More...
 
void SetToUpdate (Standard_Integer theMode)
 Flags presentation to be updated; UpdatePresentations() will recompute these presentations. More...
 
void SetToUpdate ()
 flags all the Presentations to be Updated. More...
 
void ToBeUpdated (TColStd_ListOfInteger &ListOfMode) const
 gives the list of modes which are flagged "to be updated". More...
 
const Handle< Geom_Transformation > & LocalTransformationGeom () const
 Return the local transformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
void SetLocalTransformation (const gp_Trsf &theTrsf)
 Sets local transformation to theTransformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
void SetLocalTransformation (const Handle< Geom_Transformation > &theTrsf)
 Sets local transformation to theTransformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
Standard_Boolean HasTransformation () const
 Returns true if object has a transformation that is different from the identity. More...
 
const Handle< Geom_Transformation > & TransformationGeom () const
 Return the transformation taking into account transformation of parent object(s). Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
const gp_TrsfLocalTransformation () const
 Return the local transformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
const gp_TrsfTransformation () const
 Return the transformation taking into account transformation of parent object(s). Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
const gp_GTrsfInversedTransformation () const
 
Graphic3d_ZLayerId ZLayer () const
 Get ID of Z layer. More...
 
virtual void AddClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane)
 Adds clip plane for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be substracted from limit to predict the maximum possible number of object clipping planes. More...
 
virtual void RemoveClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane)
 Removes previously added clip plane. More...
 
virtual void SetClipPlanes (const Handle< Graphic3d_SequenceOfHClipPlane > &thePlanes)
 Set clip planes for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be subtracted from limit to predict the maximum possible number of object clipping planes. More...
 
void SetClipPlanes (const Graphic3d_SequenceOfHClipPlane &thePlanes)
 
const Handle< Graphic3d_SequenceOfHClipPlane > & ClipPlanes () const
 Get clip planes. More...
 
virtual void SetMutable (const Standard_Boolean theIsMutable)
 Sets if the object has mutable nature (content or location will be changed regularly). This method should be called before object displaying to take effect. More...
 
Standard_Boolean IsMutable () const
 Returns true if object has mutable nature (content or location are be changed regularly). Mutable object will be managed in different way than static onces (another optimizations). More...
 
virtual void AddChild (const Handle< PrsMgr_PresentableObject > &theObject)
 Makes theObject child of current object in scene hierarchy. More...
 
virtual void RemoveChild (const Handle< PrsMgr_PresentableObject > &theObject)
 Removes theObject from children of current object in scene hierarchy. More...
 
const PrsMgr_ListOfPresentableObjectsChildren () const
 Returns children of the current object. More...
 
Standard_Boolean HasOwnPresentations () const
 Returns true if object should have own presentations. More...
 
PrsMgr_PresentableObjectPointer Parent () const
 Returns parent of current object in scene hierarchy. More...
 
virtual void SetAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the drawing tool theDrawer. More...
 
const Handle< Prs3d_Drawer > & Attributes () const
 Returns the attributes settings. More...
 
const Handle< Prs3d_Drawer > & HilightAttributes () const
 Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalSelected and Prs3d_TypeOfHighlight_Selected defined within AIS_InteractiveContext. More...
 
virtual void SetHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the hilight drawing tool theDrawer. More...
 
const Handle< Prs3d_Drawer > & DynamicHilightAttributes () const
 Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalDynamic and Prs3d_TypeOfHighlight_Dynamic defined within AIS_InteractiveContext. More...
 
virtual void SetDynamicHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the dynamic hilight drawing tool. More...
 
virtual void UnsetHilightAttributes ()
 Clears settings provided by the hilight drawing tool theDrawer. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object. More...
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
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. More...
 
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. More...
 
Standard_TransientThis () 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. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 
void IncrementRefCounter () const
 Increments the reference counter of this object. More...
 
Standard_Integer DecrementRefCounter () const
 Decrements the reference counter of this object; returns the decremented value. More...
 

Protected Member Functions

void scanFacesForSharedNodes (const TColStd_PackedMapOfInteger &theAllElements, const Standard_Integer theNbMaxFaceNodes, TColStd_PackedMapOfInteger &theSharedNodes) const
 Stores all vertices that belong to one of the faces to the given map. More...
 
- Protected Member Functions inherited from AIS_InteractiveObject
void replaceAspects (const Graphic3d_MapOfAspectsToAspects &theMap)
 Replace aspects of existing (computed) presentation groups, so that the new aspects can be applied without recomputing presentation. It is NOT recommended approach, because user has to fill such map and then search for each occurrence in computed groups. The recommended approach is computing presentation with necessary customized aspects, and then modify them directly followed by SynchronizeAspects() call. More...
 
 AIS_InteractiveObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 The TypeOfPresention3d means that the interactive object may have a presentation dependant of the view of Display. More...
 
- Protected Member Functions inherited from SelectMgr_SelectableObject
 SelectMgr_SelectableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 
void setGlobalSelMode (const Standard_Integer theMode)
 
virtual void UpdateClipping () override
 Update clipping planes state. More...
 
virtual void updateSelection (const Standard_Integer theMode)
 
- Protected Member Functions inherited from PrsMgr_PresentableObject
 PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 
virtual ~PrsMgr_PresentableObject ()
 
virtual void Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Prs3d_Presentation > &aPresentation)
 Calculates the 3D view aPresentation and its updates. The latter are managed by aPresentationManager. Each of the views in the viewer and every modification such as rotation, for example, entails recalculation. It must be redefined to implement hidden line removal for the object. The user never calls this method himself. This is done via the InteractiveContext object and is dependent on the point of view from which the object is displayed. More...
 
virtual void Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Geom_Transformation > &aTrsf, const Handle< Prs3d_Presentation > &aPresentation)
 Calculates the 3D view aPresentation and its updates. The latter are managed by aPresentationManager. A point of view is provided by the projector aProjector, and the geometric transformation which has transformed associated presentable objects is specified by aTrsf. This function is to be used in case where a hidden line removal display cannot be calculated automatically. This occurs when associated presentable objects have been transformed geometrically, but not translated. Warning The transformation aTrsf must be applied to the object before computation. More...
 
Standard_Boolean UpdatePresentations (Standard_Boolean theToIncludeHidden=Standard_False)
 Recomputes invalidated presentations of the object. More...
 
void Update (Standard_Boolean theToIncludeHidden=Standard_False)
 Recomputes all presentations of the object. More...
 
void Update (Standard_Integer theMode, Standard_Boolean theToClearOther)
 Recomputes the presentation in the given mode. More...
 
virtual void Fill (const Handle< PrsMgr_PresentationManager > &aPresentationManager, const Handle< PrsMgr_Presentation > &aPresentation, const Standard_Integer aMode)
 High-level interface for controlling polygon offsets. More...
 
virtual void SetCombinedParentTransform (const Handle< Geom_Transformation > &theTrsf)
 Sets myCombinedParentTransform to theTransformation. Thus object receives transformation from parent node and able to derive its own. More...
 
virtual void setLocalTransformation (const Handle< Geom_Transformation > &theTransformation)
 Sets local transformation to theTransformation. More...
 
void recomputeComputed () const
 Recompute computed (HLR) presentations (when view is in computed mode). More...
 

Protected Attributes

MeshVS_DataMapOfIntegerOwner myNodeOwners
 
MeshVS_DataMapOfIntegerOwner myElementOwners
 
MeshVS_DataMapOfIntegerOwner my0DOwners
 
MeshVS_DataMapOfIntegerOwner myLinkOwners
 
MeshVS_DataMapOfIntegerOwner myFaceOwners
 
MeshVS_DataMapOfIntegerOwner myVolumeOwners
 
MeshVS_DataMapOfIntegerOwner myGroupOwners
 
MeshVS_DataMapOfIntegerOwner myMeshOwners
 
Handle< MeshVS_DrawermyCurrentDrawer
 
Handle< MeshVS_DrawermySelectionDrawer
 
Handle< MeshVS_DrawermyHilightDrawer
 
Handle< SelectMgr_EntityOwnermyWholeMeshOwner
 
- Protected Attributes inherited from AIS_InteractiveObject
AIS_InteractiveContextmyCTXPtr
 
Handle< Standard_TransientmyOwner
 
Standard_ShortReal myOwnWidth
 
Aspect_TypeOfFacingModel myCurrentFacingModel
 
Standard_Boolean myInfiniteState
 
Standard_Boolean hasOwnColor
 
Standard_Boolean hasOwnMaterial
 
- Protected Attributes inherited from SelectMgr_SelectableObject
SelectMgr_SequenceOfSelection myselections
 
Handle< Prs3d_PresentationmySelectionPrs
 
Handle< Prs3d_PresentationmyHilightPrs
 
Standard_Boolean myAutoHilight
 
- Protected Attributes inherited from PrsMgr_PresentableObject
PrsMgr_Presentations myPresentations
 
Handle< Graphic3d_SequenceOfHClipPlanemyClipPlanes
 
Handle< Prs3d_DrawermyDrawer
 
Handle< Prs3d_DrawermyHilightDrawer
 
Handle< Prs3d_DrawermyDynHilightDrawer
 
PrsMgr_TypeOfPresentation3d myTypeOfPresentation3d
 
Standard_Boolean myIsMutable
 
Standard_Boolean myHasOwnPresentations
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object. More...
 
- Static Public Member Functions inherited from Standard_Transient
static const char * get_type_name ()
 Returns a type descriptor about this object. More...
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class. More...
 

Detailed Description

the main class provides interface to create mesh presentation as a whole

Constructor & Destructor Documentation

◆ MeshVS_Mesh()

MeshVS_Mesh::MeshVS_Mesh ( const Standard_Boolean  theIsAllowOverlapped = Standard_False)

Constructor. theIsAllowOverlapped is Standard_True, if it is allowed to draw edges overlapped with beams Its value is stored in drawer.

Member Function Documentation

◆ AcceptDisplayMode()

virtual Standard_Boolean MeshVS_Mesh::AcceptDisplayMode ( const Standard_Integer  theMode) const
overridevirtual

Returns true for supported display modes basing on a list of defined builders.

Reimplemented from AIS_InteractiveObject.

◆ AddBuilder()

void MeshVS_Mesh::AddBuilder ( const Handle< MeshVS_PrsBuilder > &  Builder,
const Standard_Boolean  TreatAsHilighter = Standard_False 
)

Adds builder to tale of sequence. PrsBuilder is builder to be added If TreatAsHilighter is true, MeshVS_Mesh will use this builder to create presentation of hilighted and selected owners. Only one builder can be hilighter, so that if you call this method with TreatAsHilighter = Standard_True some times, only last builder will be hilighter WARNING: As minimum one builder must be added as hilighter, otherwise selection cannot be computed.

◆ ClearSelected()

virtual void MeshVS_Mesh::ClearSelected ( )
overridevirtual

Clears internal selection presentation.

Reimplemented from SelectMgr_SelectableObject.

◆ Compute()

virtual void MeshVS_Mesh::Compute ( const Handle< PrsMgr_PresentationManager3d > &  PM,
const Handle< Prs3d_Presentation > &  Prs,
const Standard_Integer  DisplayMode 
)
overridevirtual

Computes presentation using builders added to sequence. Each builder computes own part of mesh presentation according to its type.

Reimplemented from PrsMgr_PresentableObject.

◆ ComputeSelection()

virtual void MeshVS_Mesh::ComputeSelection ( const Handle< SelectMgr_Selection > &  Sel,
const Standard_Integer  SelectMode 
)
overridevirtual

Computes selection according to SelectMode.

Implements SelectMgr_SelectableObject.

◆ FindBuilder()

Handle< MeshVS_PrsBuilder > MeshVS_Mesh::FindBuilder ( const Standard_CString  TypeString) const

Finds builder by its type the string represents.

◆ GetBuilder()

Handle< MeshVS_PrsBuilder > MeshVS_Mesh::GetBuilder ( const Standard_Integer  Index) const

Returns builder by its index in sequence.

◆ GetBuilderById()

Handle< MeshVS_PrsBuilder > MeshVS_Mesh::GetBuilderById ( const Standard_Integer  Id) const

Returns builder by its ID.

◆ GetBuildersCount()

Standard_Integer MeshVS_Mesh::GetBuildersCount ( ) const

How many builders there are in sequence.

◆ GetDataSource()

Handle< MeshVS_DataSource > MeshVS_Mesh::GetDataSource ( ) const

Returns default builders' data source.

◆ GetDrawer()

Handle< MeshVS_Drawer > MeshVS_Mesh::GetDrawer ( ) const

Returns default builders' drawer.

◆ GetFreeId()

Standard_Integer MeshVS_Mesh::GetFreeId ( ) const

Returns the smallest positive ID, not occupied by any builder. This method using when builder is created with ID = -1.

◆ GetHiddenElems()

const Handle< TColStd_HPackedMapOfInteger >& MeshVS_Mesh::GetHiddenElems ( ) const

Returns map of hidden elements (may be null handle)

◆ GetHiddenNodes()

const Handle< TColStd_HPackedMapOfInteger >& MeshVS_Mesh::GetHiddenNodes ( ) const

Returns map of hidden nodes (may be null handle)

◆ GetHilighter()

Handle< MeshVS_PrsBuilder > MeshVS_Mesh::GetHilighter ( ) const

Returns hilighter.

◆ GetMeshSelMethod()

MeshVS_MeshSelectionMethod MeshVS_Mesh::GetMeshSelMethod ( ) const

Returns set mesh selection method (see MeshVS.cdl)

◆ GetOwnerMaps()

const MeshVS_DataMapOfIntegerOwner& MeshVS_Mesh::GetOwnerMaps ( const Standard_Boolean  IsElement)

Returns map of owners.

◆ GetSelectableNodes()

const Handle< TColStd_HPackedMapOfInteger >& MeshVS_Mesh::GetSelectableNodes ( ) const

Returns map of selectable elements (may be null handle)

◆ HilightOwnerWithColor()

virtual void MeshVS_Mesh::HilightOwnerWithColor ( const Handle< PrsMgr_PresentationManager3d > &  thePM,
const Handle< Prs3d_Drawer > &  theColor,
const Handle< SelectMgr_EntityOwner > &  theOwner 
)
overridevirtual

Draw hilighted owner presentation.

Reimplemented from SelectMgr_SelectableObject.

◆ HilightSelected()

virtual void MeshVS_Mesh::HilightSelected ( const Handle< PrsMgr_PresentationManager3d > &  PM,
const SelectMgr_SequenceOfOwner Owners 
)
overridevirtual

Draw selected owners presentation.

Reimplemented from SelectMgr_SelectableObject.

◆ IsHiddenElem()

Standard_Boolean MeshVS_Mesh::IsHiddenElem ( const Standard_Integer  ID) const

Returns True if specified element is hidden By default no elements are hidden.

◆ IsHiddenNode()

Standard_Boolean MeshVS_Mesh::IsHiddenNode ( const Standard_Integer  ID) const

Returns True if specified node is hidden. By default all nodes are hidden.

◆ IsSelectableElem()

Standard_Boolean MeshVS_Mesh::IsSelectableElem ( const Standard_Integer  ID) const

Returns True if specified element is not hidden.

◆ IsSelectableNode()

Standard_Boolean MeshVS_Mesh::IsSelectableNode ( const Standard_Integer  ID) const

Returns True if specified node is specified as selectable.

◆ IsWholeMeshOwner()

virtual Standard_Boolean MeshVS_Mesh::IsWholeMeshOwner ( const Handle< SelectMgr_EntityOwner > &  theOwner) const
virtual

Returns True if the given owner represents a whole mesh.

◆ RemoveBuilder()

void MeshVS_Mesh::RemoveBuilder ( const Standard_Integer  Index)

Removes builder from sequence. If it is hilighter, hilighter will be NULL ( Don't remember to set it to other after!!! )

◆ RemoveBuilderById()

void MeshVS_Mesh::RemoveBuilderById ( const Standard_Integer  Id)

Removes builder with identificator Id.

◆ scanFacesForSharedNodes()

void MeshVS_Mesh::scanFacesForSharedNodes ( const TColStd_PackedMapOfInteger theAllElements,
const Standard_Integer  theNbMaxFaceNodes,
TColStd_PackedMapOfInteger theSharedNodes 
) const
protected

Stores all vertices that belong to one of the faces to the given map.

Parameters
theAllElements[in] the map of all mesh elements
theNbMaxFaceNodes[in] the maximum amount of nodes per face, retrieved from drawer
theSharedNodes[out] the result map of all vertices that belong to one face at least

◆ SetDataSource()

void MeshVS_Mesh::SetDataSource ( const Handle< MeshVS_DataSource > &  aDataSource)

Sets default builders' data source.

◆ SetDrawer()

void MeshVS_Mesh::SetDrawer ( const Handle< MeshVS_Drawer > &  aDrawer)

Sets default builders' drawer.

◆ SetHiddenElems()

void MeshVS_Mesh::SetHiddenElems ( const Handle< TColStd_HPackedMapOfInteger > &  Ids)

Sets map of hidden elements.

◆ SetHiddenNodes()

void MeshVS_Mesh::SetHiddenNodes ( const Handle< TColStd_HPackedMapOfInteger > &  Ids)

Sets map of hidden nodes, which shall not be displayed individually. If nodes shared by some elements shall not be drawn, they should be included into that map.

◆ SetHilighter() [1/2]

void MeshVS_Mesh::SetHilighter ( const Handle< MeshVS_PrsBuilder > &  Builder)

Changes hilighter ( see above )

◆ SetHilighter() [2/2]

Standard_Boolean MeshVS_Mesh::SetHilighter ( const Standard_Integer  Index)

Sets builder with sequence index "Index" as hilighter.

◆ SetHilighterById()

Standard_Boolean MeshVS_Mesh::SetHilighterById ( const Standard_Integer  Id)

Sets builder with identificator "Id" as hilighter.

◆ SetMeshSelMethod()

void MeshVS_Mesh::SetMeshSelMethod ( const MeshVS_MeshSelectionMethod  M)

Sets mesh selection method (see MeshVS.cdl)

◆ SetSelectableNodes()

void MeshVS_Mesh::SetSelectableNodes ( const Handle< TColStd_HPackedMapOfInteger > &  Ids)

Sets map of selectable nodes.

◆ UpdateSelectableNodes()

void MeshVS_Mesh::UpdateSelectableNodes ( )

Automatically computes selectable nodes; the node is considered as being selectable if it is either not hidden, or is hidden but referred by at least one non-hidden element. Thus all nodes that are visible (either individually, or as ends or corners of elements) are selectable by default.

Field Documentation

◆ my0DOwners

MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::my0DOwners
protected

◆ myCurrentDrawer

Handle< MeshVS_Drawer > MeshVS_Mesh::myCurrentDrawer
protected

◆ myElementOwners

MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myElementOwners
protected

◆ myFaceOwners

MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myFaceOwners
protected

◆ myGroupOwners

MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myGroupOwners
protected

◆ myHilightDrawer

Handle< MeshVS_Drawer > MeshVS_Mesh::myHilightDrawer
protected

◆ myLinkOwners

MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myLinkOwners
protected

◆ myMeshOwners

MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myMeshOwners
protected

◆ myNodeOwners

MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myNodeOwners
protected

◆ mySelectionDrawer

Handle< MeshVS_Drawer > MeshVS_Mesh::mySelectionDrawer
protected

◆ myVolumeOwners

MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myVolumeOwners
protected

◆ myWholeMeshOwner

Handle< SelectMgr_EntityOwner > MeshVS_Mesh::myWholeMeshOwner
protected

The documentation for this class was generated from the following file: