Open CASCADE Technology 7.8.2.dev
|
A framework to supply the Graphic3d structure of the object to be presented. On the first display request, this structure is created by calling the appropriate algorithm and retaining this framework for further display. This abstract framework is inherited in Application Interactive Services (AIS), notably by AIS_InteractiveObject. Consequently, 3D presentation should be handled by the relevant daughter classes and their member functions in AIS. This is particularly true in the creation of new interactive objects. More...
#include <PrsMgr_PresentableObject.hxx>
Public Member Functions | |
PrsMgr_Presentations & | Presentations () |
Return presentations. | |
Graphic3d_ZLayerId | ZLayer () const |
Get ID of Z layer for main presentation. | |
virtual void | SetZLayer (const Graphic3d_ZLayerId theLayerId) |
Set Z layer ID and update all presentations of the presentable object. The layers mechanism allows drawing objects in higher layers in overlay of objects in lower layers. | |
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). | |
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. | |
const Handle< Graphic3d_ViewAffinity > & | ViewAffinity () const |
Return view affinity mask. | |
Standard_Boolean | HasDisplayMode () const |
Returns true if the Interactive Object has display mode setting overriding global setting (within Interactive Context). | |
Standard_Integer | DisplayMode () const |
Returns the display mode setting of the Interactive Object. The range of supported display mode indexes should be specified within object definition and filtered by AccepDisplayMode(). | |
void | SetDisplayMode (const Standard_Integer theMode) |
Sets the display mode for the interactive object. An object can have its own temporary display mode, which is different from that proposed by the interactive context. | |
void | UnsetDisplayMode () |
Removes display mode settings from the interactive object. | |
Standard_Boolean | HasHilightMode () const |
Returns true if the Interactive Object is in highlight mode. | |
Standard_Integer | HilightMode () const |
Returns highlight display mode. This is obsolete method for backward compatibility - use HilightAttributes() and DynamicHilightAttributes() instead. | |
void | SetHilightMode (const Standard_Integer theMode) |
Sets highlight display mode. This is obsolete method for backward compatibility - use HilightAttributes() and DynamicHilightAttributes() instead. | |
void | UnsetHilightMode () |
Unsets highlight display mode. | |
virtual Standard_Boolean | AcceptDisplayMode (const Standard_Integer theMode) const |
Returns true if the class of objects accepts specified display mode index. 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. At least one display mode index should be accepted by this method. Although subclass can leave default implementation, it is highly desired defining exact list of supported modes instead, which is usually an enumeration for one object or objects class sharing similar list of display modes. | |
virtual Standard_Integer | DefaultDisplayMode () const |
Returns the default display mode. | |
Standard_Boolean | ToBeUpdated (Standard_Boolean theToIncludeHidden=Standard_False) const |
Returns TRUE if any active presentation has invalidation flag. | |
void | SetToUpdate (Standard_Integer theMode) |
Flags presentation to be updated; UpdatePresentations() will recompute these presentations. | |
void | SetToUpdate () |
flags all the Presentations to be Updated. | |
Standard_Boolean | IsInfinite () const |
Returns true if the interactive object is infinite; FALSE by default. This flag affects various operations operating on bounding box of graphic presentations of this object. For instance, infinite objects are not taken in account for View FitAll. This does not necessarily means that object is actually infinite, auxiliary objects might be also marked with this flag to achieve desired behavior. | |
void | SetInfiniteState (const Standard_Boolean theFlag=Standard_True) |
Sets if object should be considered as infinite. | |
PrsMgr_TypeOfPresentation3d | TypeOfPresentation3d () const |
Returns information on whether the object accepts display in HLR mode or not. | |
void | SetTypeOfPresentation (const PrsMgr_TypeOfPresentation3d theType) |
Set type of presentation. | |
PrsMgr_DisplayStatus | DisplayStatus () const |
Return presentation display status; PrsMgr_DisplayStatus_None by default. | |
presentation attributes | |
const Handle< Prs3d_Drawer > & | Attributes () const |
Returns the attributes settings. | |
virtual void | SetAttributes (const Handle< Prs3d_Drawer > &theDrawer) |
Initializes the drawing tool theDrawer. | |
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::HighlightStyle(). | |
virtual void | SetHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer) |
Initializes the hilight drawing tool theDrawer. | |
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::HighlightStyle(). | |
virtual void | SetDynamicHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer) |
Initializes the dynamic hilight drawing tool. | |
virtual void | UnsetHilightAttributes () |
Clears settings provided by the hilight drawing tool theDrawer. | |
void | SynchronizeAspects () |
Synchronize presentation aspects after their modification. | |
object transformation | |
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. | |
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. | |
const Handle< TopLoc_Datum3D > & | 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. | |
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. | |
void | SetLocalTransformation (const Handle< TopLoc_Datum3D > &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. | |
Standard_Boolean | HasTransformation () const |
Returns true if object has a transformation that is different from the identity. | |
const Handle< TopLoc_Datum3D > & | 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. | |
const gp_Trsf & | LocalTransformation () 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. | |
const gp_Trsf & | Transformation () 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. | |
const gp_GTrsf & | InversedTransformation () const |
Return inversed transformation. | |
const Handle< TopLoc_Datum3D > & | CombinedParentTransformation () const |
Return combined parent transformation. | |
virtual void | ResetTransformation () |
resets local transformation to identity. | |
virtual void | UpdateTransformation () |
Updates final transformation (parent + local) of presentable object and its presentations. | |
clipping planes | |
const Handle< Graphic3d_SequenceOfHClipPlane > & | ClipPlanes () const |
Get clip planes. | |
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. | |
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 subtracted from limit to predict the maximum possible number of object clipping planes. | |
virtual void | RemoveClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane) |
Removes previously added clip plane. | |
parent/children properties | |
PrsMgr_PresentableObject * | Parent () const |
Returns parent of current object in scene hierarchy. | |
const PrsMgr_ListOfPresentableObjects & | Children () const |
Returns children of the current object. | |
virtual void | AddChild (const Handle< PrsMgr_PresentableObject > &theObject) |
Makes theObject child of current object in scene hierarchy. | |
void | AddChildWithCurrentTransformation (const Handle< PrsMgr_PresentableObject > &theObject) |
Makes theObject child of current object in scene hierarchy with keeping the current global transformation So the object keeps the same position/orientation in the global CS. | |
virtual void | RemoveChild (const Handle< PrsMgr_PresentableObject > &theObject) |
Removes theObject from children of current object in scene hierarchy. | |
void | RemoveChildWithRestoreTransformation (const Handle< PrsMgr_PresentableObject > &theObject) |
Removes theObject from children of current object in scene hierarchy with keeping the current global transformation. So the object keeps the same position/orientation in the global CS. | |
Standard_Boolean | HasOwnPresentations () const |
Returns true if object should have own presentations. | |
virtual void | BoundingBox (Bnd_Box &theBndBox) |
Returns bounding box of object correspondingly to its current display mode. This method requires presentation to be already computed, since it relies on bounding box of presentation structures, which are supposed to be same/close amongst different display modes of this object. | |
simplified presentation properties API | |
void | SetIsoOnTriangulation (const Standard_Boolean theIsEnabled) |
Enables or disables on-triangulation build of isolines according to the flag given. | |
Aspect_TypeOfFacingModel | CurrentFacingModel () const |
Returns the current facing model which is in effect. | |
void | SetCurrentFacingModel (const Aspect_TypeOfFacingModel theModel=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. | |
Standard_Boolean | HasColor () const |
Returns true if the Interactive Object has color. | |
virtual void | Color (Quantity_Color &theColor) const |
Returns the color setting of the Interactive Object. | |
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()) | |
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. | |
Standard_Boolean | HasWidth () const |
Returns true if the Interactive Object has width. | |
Standard_Real | Width () const |
Returns the width setting of the Interactive Object. | |
virtual void | SetWidth (const Standard_Real theWidth) |
Allows you to provide the setting aValue for width. Only the Interactive Object knows which Drawer attribute is affected by the width setting. | |
virtual void | UnsetWidth () |
Reset width to default value. | |
Standard_Boolean | HasMaterial () const |
Returns true if the Interactive Object has a setting for material. | |
virtual Graphic3d_NameOfMaterial | Material () const |
Returns the current material setting as enumeration value. | |
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. | |
virtual void | UnsetMaterial () |
Removes the setting for material. | |
Standard_Boolean | IsTransparent () const |
Returns true if there is a transparency setting. | |
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. | |
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. | |
virtual void | UnsetTransparency () |
Removes the transparency setting. The object is opaque by default. | |
virtual Standard_Boolean | HasPolygonOffsets () const |
Returns Standard_True if <myDrawer> has non-null shading aspect. | |
virtual void | PolygonOffsets (Standard_Integer &aMode, Standard_ShortReal &aFactor, Standard_ShortReal &aUnits) const |
Retrieves current polygon offsets settings from <myDrawer>. | |
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. | |
virtual void | UnsetAttributes () |
Clears settings provided by the drawing tool aDrawer. | |
virtual void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const |
Dumps the content of me into the stream. | |
Public Member Functions inherited from Standard_Transient | |
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. | |
deprecated methods | |
PrsMgr_PresentableObject * | myParent |
pointer to the parent object | |
PrsMgr_Presentations | myPresentations |
list of presentations | |
Handle< Graphic3d_ViewAffinity > | myViewAffinity |
view affinity mask | |
Handle< Graphic3d_SequenceOfHClipPlane > | myClipPlanes |
sequence of object-specific clipping planes | |
Handle< Prs3d_Drawer > | myDrawer |
main presentation attributes | |
Handle< Prs3d_Drawer > | myHilightDrawer |
(optional) custom presentation attributes for highlighting selected object | |
Handle< Prs3d_Drawer > | myDynHilightDrawer |
(optional) custom presentation attributes for highlighting detected object | |
Handle< Graphic3d_TransformPers > | myTransformPersistence |
transformation persistence | |
Handle< TopLoc_Datum3D > | myLocalTransformation |
local transformation relative to parent object | |
Handle< TopLoc_Datum3D > | myTransformation |
absolute transformation of this object (combined parents + local transformations) | |
Handle< TopLoc_Datum3D > | myCombinedParentTransform |
transformation of parent object (combined for all parents) | |
PrsMgr_ListOfPresentableObjects | myChildren |
list of children | |
gp_GTrsf | myInvTransformation |
inversion of absolute transformation (combined parents + local transformations) | |
PrsMgr_TypeOfPresentation3d | myTypeOfPresentation3d |
presentation type | |
PrsMgr_DisplayStatus | myDisplayStatus |
presentation display status | |
Aspect_TypeOfFacingModel | myCurrentFacingModel |
current facing model | |
Standard_ShortReal | myOwnWidth |
custom width value | |
Standard_Boolean | hasOwnColor |
own color flag | |
Standard_Boolean | hasOwnMaterial |
own material flag | |
Standard_Boolean | myInfiniteState |
infinite flag | |
Standard_Boolean | myIsMutable |
mutable flag | |
Standard_Boolean | myHasOwnPresentations |
flag indicating if object should have own presentations | |
Standard_Boolean | myToPropagateVisualState |
flag indicating if visual state (display/erase/color) should be propagated to all children | |
void | ToBeUpdated (TColStd_ListOfInteger &ListOfMode) const |
gives the list of modes which are flagged "to be updated". | |
Standard_Boolean | ToPropagateVisualState () const |
Get value of the flag "propagate visual state" It means that the display/erase/color visual state is propagated automatically to all children; by default, the flag is true. | |
void | SetPropagateVisualState (const Standard_Boolean theFlag) |
Change the value of the flag "propagate visual state". | |
void | Update (Standard_Boolean theToIncludeHidden=Standard_False) |
Recomputes all presentations of the object. | |
void | Update (Standard_Integer theMode, Standard_Boolean theToClearOther) |
Recomputes the presentation in the given mode. | |
interface methods | |
PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView) | |
Protected empty constructor. | |
virtual | ~PrsMgr_PresentableObject () |
Destructor. | |
virtual void | Fill (const Handle< PrsMgr_PresentationManager > &thePrsMgr, const Handle< PrsMgr_Presentation > &thePrs, const Standard_Integer theMode) |
Fills the given 3D view presentation for specified display mode using Compute() method. In addition, configures other properties of presentation (transformation, clipping planes). | |
virtual void | Compute (const Handle< PrsMgr_PresentationManager > &thePrsMgr, const Handle< Prs3d_Presentation > &thePrs, const Standard_Integer theMode)=0 |
Calculates the 3D view presentation for specified display mode. This is a key interface for implementing Presentable Object interface. | |
virtual void | computeHLR (const Handle< Graphic3d_Camera > &theProjector, const Handle< TopLoc_Datum3D > &theTrsf, const Handle< Prs3d_Presentation > &thePrs) |
Calculates hidden line removal presentation for specific camera position. Each of the views in the viewer and every modification such as rotation, for example, entails recalculation. Default implementation throws Standard_NotImplemented exception Warning! The transformation must be applied to the object before computation. | |
Standard_Boolean | UpdatePresentations (Standard_Boolean theToIncludeHidden=Standard_False) |
Recomputes invalidated presentations of the object. | |
virtual void | UpdateClipping () |
General virtual method for internal update of presentation state when some modifications on list of clip planes occurs. Base implementation propagate clip planes to every presentation. | |
virtual void | SetCombinedParentTransform (const Handle< TopLoc_Datum3D > &theTrsf) |
Sets myCombinedParentTransform to theTransformation. Thus object receives transformation from parent node and able to derive its own. | |
virtual void | setLocalTransformation (const Handle< TopLoc_Datum3D > &theTransformation) |
Sets local transformation to theTransformation. | |
void | recomputeComputed () const |
Recompute computed (HLR) presentations (when view is in computed mode). | |
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. | |
static const gp_Trsf & | getIdentityTrsf () |
Return the identity transformation. | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
Static Public Member Functions inherited from Standard_Transient | |
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. | |
A framework to supply the Graphic3d structure of the object to be presented. On the first display request, this structure is created by calling the appropriate algorithm and retaining this framework for further display. This abstract framework is inherited in Application Interactive Services (AIS), notably by AIS_InteractiveObject. Consequently, 3D presentation should be handled by the relevant daughter classes and their member functions in AIS. This is particularly true in the creation of new interactive objects.
Key interface methods to be implemented by every Selectable Object:
Warning! Methods managing standard attributes (SetColor(), SetWidth(), SetMaterial()) have different meaning for objects of different type (or no meaning at all). Sub-classes might override these methods to modify Prs3d_Drawer or class properties providing a convenient short-cut depending on application needs. For more sophisticated configuring, Prs3d_Drawer should be modified directly, while short-cuts might be left unimplemented.
|
protected |
Protected empty constructor.
|
protectedvirtual |
Destructor.
|
inlinevirtual |
Returns true if the class of objects accepts specified display mode index. 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. At least one display mode index should be accepted by this method. Although subclass can leave default implementation, it is highly desired defining exact list of supported modes instead, which is usually an enumeration for one object or objects class sharing similar list of display modes.
Reimplemented in AIS_Axis, AIS_CameraFrustum, AIS_ColorScale, AIS_ConnectedInteractive, AIS_LightSource, AIS_MediaPlayer, AIS_Plane, AIS_PlaneTrihedron, AIS_Point, AIS_RubberBand, AIS_Shape, AIS_TextLabel, AIS_TexturedShape, AIS_Trihedron, AIS_ViewCube, AIS_XRTrackedDevice, MeshVS_Mesh, PrsDim_Dimension, and PrsDim_Relation.
|
virtual |
Makes theObject child of current object in scene hierarchy.
void PrsMgr_PresentableObject::AddChildWithCurrentTransformation | ( | const Handle< PrsMgr_PresentableObject > & | theObject | ) |
Makes theObject child of current object in scene hierarchy with keeping the current global transformation So the object keeps the same position/orientation in the global CS.
|
virtual |
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 subtracted from limit to predict the maximum possible number of object clipping planes.
thePlane | [in] the clip plane to be appended to map of clip planes. |
|
inline |
Returns the attributes settings.
|
virtual |
Returns bounding box of object correspondingly to its current display mode. This method requires presentation to be already computed, since it relies on bounding box of presentation structures, which are supposed to be same/close amongst different display modes of this object.
Reimplemented in IVtkOCC_SelectableObject.
|
inline |
Returns children of the current object.
|
inline |
Get clip planes.
|
inlinevirtual |
Returns the color setting of the Interactive Object.
Reimplemented in AIS_Shape.
|
inline |
Return combined parent transformation.
|
protectedpure virtual |
Calculates the 3D view presentation for specified display mode. This is a key interface for implementing Presentable Object interface.
thePrsMgr | presentation manager where presentation has been created |
thePrs | presentation to fill |
theMode | display mode to compute; can be any number accepted by AcceptDisplayMode() method |
Implemented in AIS_CameraFrustum, AIS_ColoredShape, AIS_ColorScale, AIS_ConnectedInteractive, AIS_LightSource, AIS_Manipulator, AIS_MediaPlayer, AIS_MultipleConnectedInteractive, AIS_PlaneTrihedron, AIS_Point, AIS_PointCloud, AIS_RubberBand, AIS_Shape, AIS_TextLabel, AIS_TexturedShape, AIS_Trihedron, AIS_ViewCube, AIS_XRTrackedDevice, MeshVS_Mesh, PrsDim_AngleDimension, PrsDim_DiameterDimension, PrsDim_LengthDimension, PrsDim_RadiusDimension, QABugs_PresentableObject, StdSelect_Shape, and XCAFPrs_AISObject.
|
protectedvirtual |
Calculates hidden line removal presentation for specific camera position. Each of the views in the viewer and every modification such as rotation, for example, entails recalculation. Default implementation throws Standard_NotImplemented exception Warning! The transformation must be applied to the object before computation.
theProjector | [in] view orientation |
theTrsf | [in] additional transformation, or NULL if undefined |
thePrs | [in] presentation to fill |
Reimplemented in AIS_ConnectedInteractive, and AIS_Shape.
|
inline |
Returns the current facing model which is in effect.
|
inlinevirtual |
Returns the default display mode.
|
inline |
Returns the display mode setting of the Interactive Object. The range of supported display mode indexes should be specified within object definition and filtered by AccepDisplayMode().
|
inline |
Return presentation display status; PrsMgr_DisplayStatus_None by default.
|
virtual |
Dumps the content of me into the stream.
Reimplemented in AIS_InteractiveObject, AIS_Shape, AIS_Trihedron, SelectMgr_SelectableObject, and StdSelect_Shape.
|
inline |
Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalDynamic and Prs3d_TypeOfHighlight_Dynamic defined within AIS_InteractiveContext::HighlightStyle().
|
protectedvirtual |
Fills the given 3D view presentation for specified display mode using Compute() method. In addition, configures other properties of presentation (transformation, clipping planes).
thePrsMgr | presentation manager where presentation has been created |
thePrs | presentation to fill |
theMode | display mode to compute; can be any number accepted by AcceptDisplayMode() method |
|
staticprotected |
Return the identity transformation.
|
inline |
Returns true if the Interactive Object has color.
|
inline |
Returns true if the Interactive Object has display mode setting overriding global setting (within Interactive Context).
|
inline |
Returns true if the Interactive Object is in highlight mode.
|
inline |
Returns true if the Interactive Object has a setting for material.
|
inline |
Returns true if object should have own presentations.
|
virtual |
Returns Standard_True if <myDrawer> has non-null shading aspect.
|
inline |
Returns true if object has a transformation that is different from the identity.
|
inline |
Returns true if the Interactive Object has width.
|
inline |
Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalSelected and Prs3d_TypeOfHighlight_Selected defined within AIS_InteractiveContext::HighlightStyle().
|
inline |
Returns highlight display mode. This is obsolete method for backward compatibility - use HilightAttributes() and DynamicHilightAttributes() instead.
|
inline |
Return inversed transformation.
|
inline |
Returns true if the interactive object is infinite; FALSE by default. This flag affects various operations operating on bounding box of graphic presentations of this object. For instance, infinite objects are not taken in account for View FitAll. This does not necessarily means that object is actually infinite, auxiliary objects might be also marked with this flag to achieve desired behavior.
|
inline |
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).
|
inline |
Returns true if there is a transparency setting.
|
inline |
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.
|
inline |
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.
|
virtual |
Returns the current material setting as enumeration value.
Reimplemented in AIS_Shape.
|
inline |
Returns parent of current object in scene hierarchy.
|
virtual |
Retrieves current polygon offsets settings from <myDrawer>.
|
inline |
Return presentations.
|
protected |
Recompute computed (HLR) presentations (when view is in computed mode).
|
virtual |
Removes theObject from children of current object in scene hierarchy.
void PrsMgr_PresentableObject::RemoveChildWithRestoreTransformation | ( | const Handle< PrsMgr_PresentableObject > & | theObject | ) |
Removes theObject from children of current object in scene hierarchy with keeping the current global transformation. So the object keeps the same position/orientation in the global CS.
|
virtual |
Removes previously added clip plane.
thePlane | [in] the clip plane to be removed from map of clip planes. |
|
protected |
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.
|
virtual |
resets local transformation to identity.
Reimplemented in SelectMgr_SelectableObject.
|
inlinevirtual |
Initializes the drawing tool theDrawer.
|
virtual |
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.
|
inlinevirtual |
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())
Reimplemented in AIS_Axis, AIS_CameraFrustum, AIS_Circle, AIS_ColoredShape, AIS_Line, AIS_Plane, AIS_PlaneTrihedron, AIS_Point, AIS_PointCloud, AIS_Shape, AIS_TextLabel, AIS_TexturedShape, AIS_Trihedron, AIS_ViewCube, and PrsDim_Relation.
|
protectedvirtual |
Sets myCombinedParentTransform to theTransformation. Thus object receives transformation from parent node and able to derive its own.
|
inline |
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.
|
inline |
Sets the display mode for the interactive object. An object can have its own temporary display mode, which is different from that proposed by the interactive context.
|
inlinevirtual |
Initializes the dynamic hilight drawing tool.
|
inlinevirtual |
Initializes the hilight drawing tool theDrawer.
void PrsMgr_PresentableObject::SetHilightMode | ( | const Standard_Integer | theMode | ) |
Sets highlight display mode. This is obsolete method for backward compatibility - use HilightAttributes() and DynamicHilightAttributes() instead.
void PrsMgr_PresentableObject::SetInfiniteState | ( | const Standard_Boolean | theFlag = Standard_True | ) |
Sets if object should be considered as infinite.
|
inline |
Enables or disables on-triangulation build of isolines according to the flag given.
|
inline |
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.
|
inline |
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.
|
protectedvirtual |
Sets local transformation to theTransformation.
Reimplemented in AIS_LightSource, and AIS_Manipulator.
|
virtual |
Sets the material aMat defining this display attribute for the interactive object. Material aspect determines shading aspect, color and transparency of visible entities.
Reimplemented in AIS_ColoredShape, AIS_PointCloud, AIS_Shape, AIS_TextLabel, AIS_TexturedShape, AIS_ViewCube, and XCAFPrs_AISObject.
|
virtual |
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.
|
virtual |
Sets up polygon offsets for this object.
|
inline |
Change the value of the flag "propagate visual state".
|
inline |
flags all the Presentations to be Updated.
void PrsMgr_PresentableObject::SetToUpdate | ( | Standard_Integer | theMode | ) |
Flags presentation to be updated; UpdatePresentations() will recompute these presentations.
theMode | presentation (display mode) to invalidate, or -1 to invalidate them all |
|
virtual |
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.
Reimplemented in AIS_Manipulator.
|
virtual |
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.
Reimplemented in AIS_ColoredShape, AIS_Shape, AIS_TextLabel, AIS_Triangulation, and AIS_ViewCube.
void PrsMgr_PresentableObject::SetTypeOfPresentation | ( | const PrsMgr_TypeOfPresentation3d | theType | ) |
Set type of presentation.
|
inlinevirtual |
Allows you to provide the setting aValue for width. Only the Interactive Object knows which Drawer attribute is affected by the width setting.
Reimplemented in AIS_Axis, AIS_Circle, AIS_ColoredShape, AIS_Line, and AIS_Shape.
|
virtual |
Set Z layer ID and update all presentations of the presentable object. The layers mechanism allows drawing objects in higher layers in overlay of objects in lower layers.
Reimplemented in SelectMgr_SelectableObject.
void PrsMgr_PresentableObject::SynchronizeAspects | ( | ) |
Synchronize presentation aspects after their modification.
This method should be called after modifying primitive aspect properties (material, texture, shader) so that modifications will take effect on already computed presentation groups (thus avoiding re-displaying the object).
Standard_Boolean PrsMgr_PresentableObject::ToBeUpdated | ( | Standard_Boolean | theToIncludeHidden = Standard_False | ) | const |
Returns TRUE if any active presentation has invalidation flag.
theToIncludeHidden | when TRUE, also checks hidden presentations |
void PrsMgr_PresentableObject::ToBeUpdated | ( | TColStd_ListOfInteger & | ListOfMode | ) | const |
gives the list of modes which are flagged "to be updated".
|
inline |
Get value of the flag "propagate visual state" It means that the display/erase/color visual state is propagated automatically to all children; by default, the flag is true.
|
inline |
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.
|
inline |
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.
|
inline |
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.
|
inlinevirtual |
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.
Reimplemented in AIS_Shape.
|
inline |
Returns information on whether the object accepts display in HLR mode or not.
|
virtual |
Clears settings provided by the drawing tool aDrawer.
Reimplemented in AIS_ViewCube.
|
inlinevirtual |
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.
Reimplemented in AIS_Axis, AIS_CameraFrustum, AIS_Circle, AIS_Line, AIS_Plane, AIS_Point, AIS_PointCloud, AIS_Shape, AIS_TexturedShape, AIS_Trihedron, AIS_ViewCube, and PrsDim_Relation.
|
inline |
Removes display mode settings from the interactive object.
|
inlinevirtual |
Clears settings provided by the hilight drawing tool theDrawer.
Reimplemented in AIS_ViewCube.
|
inline |
Unsets highlight display mode.
|
virtual |
Removes the setting for material.
Reimplemented in AIS_PointCloud, AIS_Shape, AIS_TexturedShape, and AIS_ViewCube.
|
virtual |
Removes the transparency setting. The object is opaque by default.
Reimplemented in AIS_CameraFrustum, AIS_ColoredShape, AIS_Shape, AIS_TextLabel, AIS_Triangulation, and AIS_ViewCube.
|
inlinevirtual |
Reset width to default value.
Reimplemented in AIS_Axis, AIS_Circle, AIS_ColoredShape, AIS_Line, and AIS_Shape.
|
inlineprotected |
Recomputes all presentations of the object.
|
protected |
Recomputes the presentation in the given mode.
theMode | presentation (display mode) to recompute |
theToClearOther | when TRUE, other presentations (display modes) will be removed |
|
protectedvirtual |
General virtual method for internal update of presentation state when some modifications on list of clip planes occurs. Base implementation propagate clip planes to every presentation.
Reimplemented in SelectMgr_SelectableObject.
|
protected |
Recomputes invalidated presentations of the object.
theToIncludeHidden | if TRUE, then even hidden invalidated presentations will be updated |
|
virtual |
Updates final transformation (parent + local) of presentable object and its presentations.
Reimplemented in SelectMgr_SelectableObject.
|
inline |
Return view affinity mask.
|
inline |
Returns the width setting of the Interactive Object.
|
inline |
Get ID of Z layer for main presentation.
|
protected |
own color flag
|
protected |
own material flag
|
protected |
list of children
|
protected |
sequence of object-specific clipping planes
|
protected |
transformation of parent object (combined for all parents)
|
protected |
current facing model
|
protected |
presentation display status
|
protected |
main presentation attributes
|
protected |
(optional) custom presentation attributes for highlighting detected object
|
protected |
flag indicating if object should have own presentations
|
protected |
(optional) custom presentation attributes for highlighting selected object
|
protected |
infinite flag
|
protected |
inversion of absolute transformation (combined parents + local transformations)
|
protected |
mutable flag
|
protected |
local transformation relative to parent object
|
protected |
custom width value
|
protected |
pointer to the parent object
|
protected |
list of presentations
|
protected |
flag indicating if visual state (display/erase/color) should be propagated to all children
|
protected |
absolute transformation of this object (combined parents + local transformations)
|
protected |
transformation persistence
|
protected |
presentation type
|
protected |
view affinity mask