Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public 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. <br>

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

 
virtual void Destroy ()
 
 ~MeshVS_Mesh ()
 
virtual void Compute (const Handle< PrsMgr_PresentationManager3d > &PM, const Handle< Prs3d_Presentation > &Prs, const Standard_Integer DisplayMode)
 
 Computes presentation using builders added to sequence. Each builder computes <br>

own part of mesh presentation according to its type.
More...

 
virtual void ComputeSelection (const Handle< SelectMgr_Selection > &Sel, const Standard_Integer SelectMode)
 Computes selection according to SelectMode
More...
 
virtual void HilightSelected (const Handle< PrsMgr_PresentationManager3d > &PM, const SelectMgr_SequenceOfOwner &Owners)
 Draw selected owners presentation
More...
 
virtual void HilightOwnerWithColor (const Handle< PrsMgr_PresentationManager3d > &PM, const Quantity_NameOfColor Color, const Handle< SelectMgr_EntityOwner > &Owner)
 Draw hilighted owner presentation
More...
 
virtual void ClearSelected ()
 Clears internal selection presentation
More...
 
Standard_Integer GetBuildersCount () const
 How many builders there are in sequence
More...
 
Handle_MeshVS_PrsBuilder GetBuilder (const Standard_Integer Index) const
 Returns builder by its index in sequence
More...
 
Handle_MeshVS_PrsBuilder GetBuilderById (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. <br>

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. <br>

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_PrsBuilder GetHilighter () const
 Returns hilighter
More...
 
void RemoveBuilder (const Standard_Integer Index)
 
 Removes builder from sequence. If it is hilighter, hilighter will be NULL <br>

( Don't remember to set it to other after!!! )
More...

 
void RemoveBuilderById (const Standard_Integer Id)
 Removes builder with identificator Id
More...
 
Handle_MeshVS_PrsBuilder FindBuilder (const Standard_CString TypeString) const
 Finds builder by its type the string represents
More...
 
const
MeshVS_DataMapOfIntegerOwner
GetOwnerMaps (const Standard_Boolean IsElement)
 Returns map of owners.
More...
 
Handle_MeshVS_DataSource GetDataSource () const
 Returns default builders' data source
More...
 
void SetDataSource (const Handle< MeshVS_DataSource > &aDataSource)
 Sets default builders' data source
More...
 
Handle_MeshVS_Drawer GetDrawer () 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 <br>

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 <br>

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 <br>

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 &aColor)
 
virtual void SetColor (const Quantity_NameOfColor aColor)
 only the interactive obj knowns which Drawer attribute
is affected by the color (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 myOwnColor)
More...
 
virtual void UnsetColor ()
 
 Removes color settings. Only the Interactive Object <br>

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. <br>

Only the Interactive Object knows which Drawer
attribute is affected by the width setting.
More...

 
virtual void UnsetWidth ()
 
virtual Standard_Boolean AcceptDisplayMode (const Standard_Integer aMode) const
 
 Returns true if the class of objects accepts the display mode aMode. <br>

The interactive context can have a default mode of
representation for the set of Interactive Objects. This
mode may not be accepted by a given class of
objects. Consequently, this virtual method allowing us
to get information about the class in question must be implemented.
More...

 
virtual Standard_Integer DefaultDisplayMode () const
 
 Returns the default display mode. This method is to <br>

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.
More...
 
void SetInfiniteState (const Standard_Boolean aFlag=Standard_True)
 
 Sets the infinite state flag aFlage. <br>

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 <br>

to an interactive context.
More...

 
Handle_AIS_InteractiveContext GetContext () 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 <br>

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. <br>

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. <br>

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 > &ApplicativeEntity)
 
 Allows you to attribute the owner ApplicativeEntity to <br>

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 <br>

to attribute an Owner to it in the form of a Transient.
This method removes the owner from the graphic entity.
More...

 
Standard_Boolean HasUsers () const
 
const TColStd_ListOfTransientUsers () const
 
void AddUser (const Handle< Standard_Transient > &aUser)
 
void ClearUsers ()
 
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. <br>

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. <br>

The range of possibilities is the following:
More...

 
Standard_Boolean HasSelectionMode () const
 
 Allows you to change the selection mode of an <br>

Interactive Object.
The default selection mode setting is 0.
For shapes, for example, the selection modes are as follows:
More...

 
Standard_Integer SelectionMode () const
 Returns the selection mode of the interactive object.
More...
 
void SetSelectionMode (const Standard_Integer aMode)
 
 You can change the default selection mode index <br>

aMode of an Interactive Object.
This is only of interest if you decide that mode 0
adopted by convention will not do.
More...

 
void UnsetSelectionMode ()
 
 You can change the default selection mode index of <br>

an Interactive Object.
This is only of interest if you decide that the 0 mode
adopted by convention will not do.
More...

 
Standard_Integer SelectionPriority () const
 
 Returns the selection priority setting. -1 indicates that there is none. <br>

You can modify the selection priority of an owner to
make one entity more selectionable than another one.
The default selection priority for an owner is 5, for
example. To increase selection priority, choose a
setting between 5 and 10. An entity with priority 7 will
take priority over one with a setting of 6 if both
objects are selected at the same time.
You could give vertices priority 8, edges priority 7,
faces priority 6, and shapes priority 5. If a vertex, an
edge and a face are simultaneously detected during
selection, only the vertex will then be highlighted.
For trihedra, for example, the default priorities are the following four:
More...

 
void SetSelectionPriority (const Standard_Integer aPriority)
 
 Allows you to provide a setting aPriority for selection priority. <br>

You can modify selection priority of an owner to make
one entity more selectionable than another one. The
default selection priority for an owner is 5, for
example. To increase selection priority, choose a
setting between 5 and 10. An entity with priority 7 will
take priority over one with a setting of 6.
More...

 
void UnsetSelectionPriority ()
 Removes the setting for selection priority. SelectionPriority then returns -1.
More...
 
Standard_Boolean HasSelectionPriority () const
 
 Returns true if there is a setting for selection priority. <br>

You can modify selection priority of an owner to make
one entity more selectionable than another one. The
default selection priority for an owner is 5, for
example. To increase selection priority, choose a
setting between 5 and 10. An entity with priority 7 will
take priority over one with a setting of 6.
More...

 
Standard_Boolean HasHilightMode () const
 Returns true if the Interactive Object is in highlight mode.
More...
 
Standard_Integer HilightMode () const
 
 Returns the setting for highlight mode. <br>

At dynamic detection, the presentation echoed by the
Interactive Context, is by default the presentation
already on the screen. You can specify a Highlight
presentation mode which is valid no matter what the
active representation of the object. It makes no
difference whether this choice is temporary or
definitive. To do this, we use the following functions:
More...

 
void SetHilightMode (const Standard_Integer anIndex)
 
 Sets the highlight mode anIndex for the interactive object. <br>

If, for example, you want to systematically highlight
the wireframe presentation of a shape - whether
visualized in wireframe presentation or with shading -
you set the highlight mode to 0.
More...

 
void UnsetHilightMode ()
 Allows the user to take a given Prs for hilight
ex : for a shape which would be displayed in shading mode
the hilight Prs is the wireframe mode.
if No specific hilight mode is defined, the displayed Prs
will be the hilighted one.
More...
 
Standard_Boolean HasColor () const
 Returns true if the Interactive Object has color.
More...
 
virtual Quantity_NameOfColor Color () const
 Returns the color setting of the Interactive Object.
More...
 
virtual void Color (Quantity_Color &aColor) const
 
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. <br>

This will be on of the following materials:
More...

 
virtual void SetMaterial (const Graphic3d_NameOfMaterial aName)
 
 Sets the name aName for material defining this <br>

display attribute for the interactive object.
Material aspect determines shading aspect, color and
transparency of visible entities.
More...

 
virtual void SetMaterial (const Graphic3d_MaterialAspect &aName)
 
 Sets the material aMat defining this display attribute <br>

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. <br>

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. <br>

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 SetAttributes (const Handle< AIS_Drawer > &aDrawer)
 Initializes the drawing tool aDrawer.
More...
 
const Handle_AIS_Drawer & Attributes () const
 Returns the attributes settings.
More...
 
virtual void UnsetAttributes ()
 Clears settings provided by the drawing tool aDrawer.
More...
 
void State (const Standard_Integer theState)
 
Standard_Integer State () const
 
void SetTransformation (const Handle< Geom_Transformation > &aTranformation, const Standard_Boolean postConcatenate=Standard_False, const Standard_Boolean updateSelection=Standard_True)
 
 Transforms all presentations of the object <br>

and replace the actual transformation matrix if <postConcatenate> is FALSE.
Note that the selection must be updated only at the end of
object animation when <updateSelection> is TRUE
More...

 
void UnsetTransformation ()
 Deactivate the current transformation
More...
 
Handle_Geom_Transformation Transformation ()
 
 Returns the current transformation associated <br>

to the first available presentation of this object.
More...

 
Standard_Boolean HasTransformation () const
 Returns TRUE when this object is transformed
More...
 
Standard_Boolean HasPresentation () const
 Returns TRUE when this object has a presentation
in the current DisplayMode()
More...
 
Handle_Prs3d_Presentation Presentation () const
 Returns the current presentation of this object
according to the current DisplayMode()
More...
 
void SetAspect (const Handle< Prs3d_BasicAspect > &anAspect, const Standard_Boolean globalChange=Standard_True)
 Sets the graphic basic aspect to the current presentation.
When <globalChange> is TRUE , the full object presentation
is changed.
When <globalChange> is FALSE , only the current group
of the object presentation is changed.
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. <br>
     It modifies all existing presentations of <anObj> (if any), <br>
     so it is reasonable to call this method after <anObj> has been displayed. <br>
     Otherwise, Compute() method should pass Graphic3d_AspectFillArea3d <br>
     aspect from <myDrawer> to Graphic3d_Group to make polygon offsets work. <br>


<aMode> parameter can contain various combinations of
Aspect_PolygonOffsetMode enumeration elements (Aspect_POM_None means
that polygon offsets are not changed).
If <aMode> is different from Aspect_POM_Off and Aspect_POM_None, then <aFactor> and <aUnits>
arguments are used by graphic renderer to calculate a depth offset value:

offset = <aFactor> * m + <aUnits> * r, where
m - maximum depth slope for the polygon currently being displayed,
r - minimum window coordinates depth resolution (implementation-specific).

Deafult settings for OCC 3D viewer: mode = Aspect_POM_Fill, factor = 1., units = 0.

Negative offset values move polygons closer to the viewport,
while positive values shift polygons away.
Consult OpenGL reference for details (glPolygonOffset function description).

NOTE: This method has a side effect - it creates own shading aspect
if not yet created, so it is better to set up object material,
color, etc. first.
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...
 
- Public Member Functions inherited from SelectMgr_SelectableObject
virtual Standard_Integer NbPossibleSelection () const
 defines the number of different modes of selection
(or decomposition) for an Object.
More...
 
void UpdateSelection ()
 re-computes the sensitive primitives for all modes
More...
 
void UpdateSelection (const Standard_Integer aMode)
 re-computes the sensitive primitives which correspond to
the <amode>th selection mode.
More...
 
void AddSelection (const Handle< SelectMgr_Selection > &aSelection, const Standard_Integer aMode)
 
 Adds the selection aSelection with the selection mode <br>

index aMode to this framework.
More...

 
void ClearSelections (const Standard_Boolean update=Standard_False)
 
 Empties all the selections in the SelectableObject <br>
     <update> parameter defines whether all object's <br>

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 aMode) const
 Returns the selection Selection having the selection mode aMode.
More...
 
Standard_Boolean HasSelection (const Standard_Integer aMode) const
 
 Returns true if a selection corresponding to the <br>

selection mode aMode is present in this framework.
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 ResetLocation ()
 
virtual void UpdateLocation ()
 Recomputes the location of the selection aSelection.
More...
 
virtual Standard_Boolean IsAutoHilight () const
 
 If returns True, the old mechanism for highlighting <br>

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_Presentation GetHilightPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
 
Handle_Prs3d_Presentation GetSelectPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
 
virtual void SetZLayer (const Handle< PrsMgr_PresentationManager > &thePrsMgr, const Standard_Integer theLayerId)
 
 Set Z layer ID and update all presentations of <br>

the selectable object. The layer can be set only for displayed object.
If all object presentations are removed, the layer ID will be set to
default value when computing presentation. The layers mechanism allows
drawing objects in higher layers in overlay of objects in lower layers.
More...

 
- Public Member Functions inherited from PrsMgr_PresentableObject
PrsMgr_TypeOfPresentation3d TypeOfPresentation3d () const
 Returns information on whether the object accepts display in HLR mode or not.
More...
 
virtual void SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag, const gp_Pnt &APoint)
 
  Sets up Transform Persistence Mode for this object. <br>

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 APoint parameter (except Graphic3d_TMF_TriedronPers flag
More...

 
void SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag)
 Calls previous method with point (0,0,0)
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)
 
void SetToUpdate (const Standard_Integer aMode)
 flags the Prs of mode <AMode> to be Updated.
the Update will be done when needed.
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...
 
virtual void SetLocation (const TopLoc_Location &aLoc)
 
Standard_Boolean HasLocation () const
 
const TopLoc_LocationLocation () const
 
virtual void UpdateLocation (const Handle< Prs3d_Presentation > &P)
 
Standard_Integer GetZLayer (const Handle< PrsMgr_PresentationManager > &thePrsMgr) const
 
 Get ID of Z layer. If no presentations of object is displayed, <br>

and layer ID is unavailable, the -1 value is returned.
More...

 
virtual void AddClipPlane (const Graphic3d_ClipPlane_Handle &thePlane)
 
 Adds clip plane for graphical clipping for all display mode <br>

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 Graphic3d_ClipPlane_Handle &thePlane)
 Removes previously added clip plane.
More...
 
virtual void SetClipPlanes (const Graphic3d_SequenceOfHClipPlane &thePlanes)
 
 Set clip planes for graphical clipping for all display mode presentations. <br>

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...

 
const
Graphic3d_SequenceOfHClipPlane
GetClipPlanes () const
 Get clip planes.
More...
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. 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 ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const 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 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...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. 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_Drawer myCurrentDrawer
 
Handle_MeshVS_Drawer mySelectionDrawer
 
Handle_MeshVS_Drawer myHilightDrawer
 
Handle_SelectMgr_EntityOwner myWholeMeshOwner
 
- Protected Attributes inherited from AIS_InteractiveObject
Handle_AIS_Drawer myDrawer
 
Standard_Real myTransparency
 
Quantity_Color myOwnColor
 
Graphic3d_NameOfMaterial myOwnMaterial
 
Standard_Integer myHilightMode
 
Standard_Real myOwnWidth
 
Standard_Boolean myInfiniteState
 
Standard_Boolean hasOwnColor
 
Standard_Boolean hasOwnMaterial
 
Aspect_TypeOfFacingModel myCurrentFacingModel
 
Standard_Boolean myRecomputeEveryPrs
 
TColStd_ListOfInteger myToRecomputeModes
 
- Protected Attributes inherited from SelectMgr_SelectableObject
SelectMgr_SequenceOfSelection myselections
 
- Protected Attributes inherited from PrsMgr_PresentableObject
PrsMgr_Presentations myPresentations
 
PrsMgr_TypeOfPresentation3d myTypeOfPresentation3d
 
TopLoc_Location myLocation
 
Graphic3d_SequenceOfHClipPlane myClipPlanes
 

Additional Inherited Members

- Protected Member Functions inherited from AIS_InteractiveObject
 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)
 
virtual void UpdateLocation (const Handle< SelectMgr_Selection > &aSelection)
 Updates locations in all sensitive entities from <aSelection>
and in corresponding entity owners.
More...
 
- Protected Member Functions inherited from PrsMgr_PresentableObject
 PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 
virtual void Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Prs3d_Presentation > &aPresentation)
 
 Calculates the 3D view aPresentation and its <br>

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 <br>

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...

 
void Update (const Standard_Boolean AllModes=Standard_False)
 recomputes all presentations of the object.
More...
 
void Update (const Standard_Integer aMode, const Standard_Boolean ClearOther)
 Recomputes the presentation in the given mode.
If ClearOther is true, other presentation will be cleared.
More...
 
virtual void Fill (const Handle< PrsMgr_PresentationManager > &aPresentationManager, const Handle< PrsMgr_Presentation > &aPresentation, const Standard_Integer aMode=0)
 High-level interface for controlling polygon offsets
More...
 
PrsMgr_PresentationsPresentations ()
 
virtual void UpdateClipping ()
 
 General virtual method for internal update of presentation state <br>

when some modifications on list of clip planes occurs. Base
implementation propagate clip planes to every presentation.
More...

 

Detailed Description

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

Constructor & Destructor Documentation

MeshVS_Mesh::MeshVS_Mesh ( const Standard_Boolean  theIsAllowOverlapped = Standard_False)

 Constructor. <br>

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

MeshVS_Mesh::~MeshVS_Mesh ( )
inline

Member Function Documentation

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

 Adds builder to tale of sequence. <br>

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

virtual void MeshVS_Mesh::ClearSelected ( )
virtual

Clears internal selection presentation

Reimplemented from SelectMgr_SelectableObject.

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

 Computes presentation using builders added to sequence. Each builder computes <br>

own part of mesh presentation according to its type.

Reimplemented from PrsMgr_PresentableObject.

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

Computes selection according to SelectMode

Implements SelectMgr_SelectableObject.

virtual void MeshVS_Mesh::Destroy ( )
virtual
Handle_MeshVS_PrsBuilder MeshVS_Mesh::FindBuilder ( const Standard_CString  TypeString) const

Finds builder by its type the string represents

Handle_MeshVS_PrsBuilder MeshVS_Mesh::GetBuilder ( const Standard_Integer  Index) const

Returns builder by its index in sequence

Handle_MeshVS_PrsBuilder MeshVS_Mesh::GetBuilderById ( const Standard_Integer  Id) const

Returns builder by its ID

Standard_Integer MeshVS_Mesh::GetBuildersCount ( ) const

How many builders there are in sequence

Handle_MeshVS_DataSource MeshVS_Mesh::GetDataSource ( ) const

Returns default builders' data source

Handle_MeshVS_Drawer MeshVS_Mesh::GetDrawer ( ) const

Returns default builders' drawer

Standard_Integer MeshVS_Mesh::GetFreeId ( ) const

 Returns the smallest positive ID, not occupied by any builder. <br>

This method using when builder is created with ID = -1

const Handle_TColStd_HPackedMapOfInteger& MeshVS_Mesh::GetHiddenElems ( ) const

Returns map of hidden elements (may be null handle)

const Handle_TColStd_HPackedMapOfInteger& MeshVS_Mesh::GetHiddenNodes ( ) const

Returns map of hidden nodes (may be null handle)

Handle_MeshVS_PrsBuilder MeshVS_Mesh::GetHilighter ( ) const

Returns hilighter

MeshVS_MeshSelectionMethod MeshVS_Mesh::GetMeshSelMethod ( ) const

Returns set mesh selection method (see MeshVS.cdl)

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

Returns map of owners.

const Handle_TColStd_HPackedMapOfInteger& MeshVS_Mesh::GetSelectableNodes ( ) const

Returns map of selectable elements (may be null handle)

virtual void MeshVS_Mesh::HilightOwnerWithColor ( const Handle< PrsMgr_PresentationManager3d > &  PM,
const Quantity_NameOfColor  Color,
const Handle< SelectMgr_EntityOwner > &  Owner 
)
virtual

Draw hilighted owner presentation

Reimplemented from SelectMgr_SelectableObject.

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

Draw selected owners presentation

Reimplemented from SelectMgr_SelectableObject.

Standard_Boolean MeshVS_Mesh::IsHiddenElem ( const Standard_Integer  ID) const

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

Standard_Boolean MeshVS_Mesh::IsHiddenNode ( const Standard_Integer  ID) const

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

Standard_Boolean MeshVS_Mesh::IsSelectableElem ( const Standard_Integer  ID) const

Returns True if specified element is not hidden

Standard_Boolean MeshVS_Mesh::IsSelectableNode ( const Standard_Integer  ID) const

Returns True if specified node is specified as selectable.

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

Returns True if the given owner represents a whole mesh.

void MeshVS_Mesh::RemoveBuilder ( const Standard_Integer  Index)

 Removes builder from sequence. If it is hilighter, hilighter will be NULL <br>

( Don't remember to set it to other after!!! )

void MeshVS_Mesh::RemoveBuilderById ( const Standard_Integer  Id)

Removes builder with identificator Id

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

Sets default builders' data source

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

Sets default builders' drawer

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

Sets map of hidden elements

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

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

Changes hilighter ( see above )

Standard_Boolean MeshVS_Mesh::SetHilighter ( const Standard_Integer  Index)

Sets builder with sequence index "Index" as hilighter

Standard_Boolean MeshVS_Mesh::SetHilighterById ( const Standard_Integer  Id)

Sets builder with identificator "Id" as hilighter

void MeshVS_Mesh::SetMeshSelMethod ( const MeshVS_MeshSelectionMethod  M)

Sets mesh selection method (see MeshVS.cdl)

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

Sets map of selectable nodes.

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

MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::my0DOwners
protected
Handle_MeshVS_Drawer MeshVS_Mesh::myCurrentDrawer
protected
MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myElementOwners
protected
MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myFaceOwners
protected
MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myGroupOwners
protected
Handle_MeshVS_Drawer MeshVS_Mesh::myHilightDrawer
protected
MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myLinkOwners
protected
MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myMeshOwners
protected
MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myNodeOwners
protected
Handle_MeshVS_Drawer MeshVS_Mesh::mySelectionDrawer
protected
MeshVS_DataMapOfIntegerOwner MeshVS_Mesh::myVolumeOwners
protected
Handle_SelectMgr_EntityOwner MeshVS_Mesh::myWholeMeshOwner
protected

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