#include <AIS_InteractiveObject.hxx>
Inheritance diagram for AIS_InteractiveObject:
Public Member Functions | |
virtual Standard_EXPORT AIS_KindOfInteractive | Type () const |
Returns the kind of Interactive Object: - None - Datum - Relation - Object By default, the interactive object has a None type. Because specific shapes entail different behavior according to their sub-shapes, you may need to create a Local Context. This will allow you to specify the additional characteristics which you need to handle these shapes. . | |
virtual Standard_EXPORT 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: - Point signature 1 - Axis signature 2 - Trihedron signature 3 - PlaneTrihedron signature 4 - Line signature 5 - Circle signature 6 - Plane signature 7. . | |
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 ... . | |
Standard_EXPORT 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. | |
Standard_EXPORT Aspect_TypeOfFacingModel | CurrentFacingModel () const |
Returns the current facing model which is in effect. . | |
virtual Standard_EXPORT void | SetColor (const Quantity_Color &aColor) |
virtual Standard_EXPORT 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) | |
virtual Standard_EXPORT 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. . | |
virtual Standard_EXPORT 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. . | |
virtual Standard_EXPORT void | UnsetWidth () |
virtual Standard_EXPORT Standard_Boolean | AcceptDisplayMode (const Standard_Integer aMode) const |
Returns true if the class of objects accepts the display mode aMode. 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. . | |
virtual Standard_EXPORT Standard_Integer | DefaultDisplayMode () const |
Returns the default display mode. This method is to be implemented when the main mode is not mode 0. . | |
Standard_EXPORT void | Redisplay (const Standard_Boolean AllModes=Standard_False) |
Updates the active presentation; if <allmodes> = Standard_True all the presentations inside are recomputed. . | |
Standard_EXPORT 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... . | |
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. . | |
Standard_EXPORT Standard_Boolean | HasInteractiveContext () const |
Indicates whether the Interactive Object has a pointer to an interactive context. . | |
Standard_EXPORT Handle_AIS_InteractiveContext | GetContext () const |
Returns the context pointer to the interactive context. . | |
virtual Standard_EXPORT 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. . | |
Standard_EXPORT 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. . | |
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: - Direct owners, decomposition shapes such as edges, wires, and faces. - Users, presentable objects connecting to sensitive primitives, or a shape which has been decomposed. . | |
void | SetOwner (const Handle(Standard_Transient)&ApplicativeEntity) |
Allows you to attribute the owner ApplicativeEntity 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. . | |
Standard_EXPORT 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. . | |
Standard_EXPORT Standard_Boolean | HasUsers () const |
const TColStd_ListOfTransient & | Users () const |
Standard_EXPORT void | AddUser (const Handle(Standard_Transient)&aUser) |
Standard_EXPORT void | ClearUsers () |
Standard_Boolean | HasDisplayMode () const |
Returns true if the Interactive Object has a display mode setting. Otherwise, it is displayed in Neutral Point. . | |
Standard_EXPORT 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: - AIS_WireFrame - AIS_Shaded - AIS_QuickHLR - AIS_ExactHLR This range can, however, be extended through the creation of new display modes. . | |
void | UnsetDisplayMode () |
Removes display mode settings from the interactive object. . | |
Standard_Integer | DisplayMode () const |
Returns the display mode setting of the Interactive Object. The range of possibilities is the following: - AIS_WireFrame - AIS_Shaded - AIS_QuickHLR - AIS_ExactHLR This range can, however, be extended through the creation of new display modes. . | |
Standard_EXPORT Standard_Boolean | HasSelectionMode () const |
Allows you to change the selection mode of an Interactive Object. The default selection mode setting is 0. For shapes, for example, the selection modes are as follows: - mode 0 - selection of the shape itself - mode 1 - selection of vertices - mode 2 - selection of edges - mode 3 - selection of wires - mode 4 - selection of faces - mode 5 - selection of shells - mode 6 - selection of solids - mode 7 - selection of compounds For trihedra, on the other hand, the selection modes are the following four: - mode 0 - selection of a trihedron - mode 1 - selection of its origin - mode 2 - selection of its axes - mode 3 - selection of its planes . | |
Standard_EXPORT Standard_Integer | SelectionMode () const |
Returns the selection mode of the interactive object. . | |
Standard_EXPORT void | SetSelectionMode (const Standard_Integer aMode) |
You can change the default selection mode index aMode of an Interactive Object. This is only of interest if you decide that mode 0 adopted by convention will not do. . | |
void | UnsetSelectionMode () |
You can change the default selection mode index of an Interactive Object. This is only of interest if you decide that the 0 mode adopted by convention will not do. . | |
Standard_Integer | SelectionPriority () const |
Returns the selection priority setting. -1 indicates that there is none. 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: - priority 1 - a trihedron - priority 5 - its origin - priority 3 - its axes - priority 2 - its planes . | |
void | SetSelectionPriority (const Standard_Integer aPriority) |
Allows you to provide a setting aPriority for selection priority. 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. . | |
void | UnsetSelectionPriority () |
Removes the setting for selection priority. SelectionPriority then returns -1. . | |
Standard_Boolean | HasSelectionPriority () const |
Returns true if there is a setting for selection priority. 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. . | |
Standard_Boolean | HasHilightMode () const |
Returns true if the Interactive Object is in highlight mode. . | |
Standard_Integer | HilightMode () const |
Returns the setting for highlight mode. 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: - SetHilightMode - UnSetHilightMode In the case of a shape, whether it is visualized in wireframe presentation or with shading, we want to systematically highlight the wireframe presentation. Consequently, we set the highlight mode to 0. . | |
void | SetHilightMode (const Standard_Integer anIndex) |
Sets the highlight mode anIndex for the interactive object. 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. . | |
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. . | |
Standard_Boolean | HasColor () const |
Returns true if the Interactive Object has color. . | |
virtual Quantity_NameOfColor | Color () const |
Returns the color setting of the Interactive Object. . | |
virtual void | Color (Quantity_Color &aColor) const |
Standard_Boolean | HasWidth () const |
Returns true if the Interactive Object has width. . | |
Standard_EXPORT Standard_Real | Width () const |
Returns the width setting of the Interactive Object. . | |
Standard_EXPORT Standard_Boolean | HasMaterial () const |
Returns true if the Interactive Object has a setting for material. . | |
virtual Standard_EXPORT Graphic3d_NameOfMaterial | Material () const |
Returns the current material setting. This will be on of the following materials: - Brass - Bronze - Gold - Pewter - Silver - Stone. . | |
virtual Standard_EXPORT void | SetMaterial (const Graphic3d_NameOfMaterial aName) |
Sets the name aName for material defining this display attribute for the interactive object. Material aspect determines shading aspect, color and transparency of visible entities. . | |
virtual Standard_EXPORT 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 Standard_EXPORT void | UnsetMaterial () |
Removes the setting for material. . | |
virtual Standard_EXPORT 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. . | |
Standard_Boolean | IsTransparent () const |
Returns true if there is a transparency setting. . | |
virtual Standard_EXPORT 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 Standard_EXPORT void | UnsetTransparency () |
Removes the transparency setting. The object is opaque by default. . | |
virtual Standard_EXPORT void | SetAttributes (const Handle(AIS_Drawer)&aDrawer) |
Initializes the drawing tool aDrawer. . | |
const Handle_AIS_Drawer & | Attributes () const |
Returns the attributes settings. . | |
virtual Standard_EXPORT void | UnsetAttributes () |
Clears settings provided by the drawing tool aDrawer. . | |
void | State (const Standard_Integer theState) |
Standard_Integer | State () const |
virtual Standard_EXPORT void | SetDegenerateModel (const Aspect_TypeOfDegenerateModel aModel=Aspect_TDM_WIREFRAME, const Quantity_Ratio aRatio=0.0) |
Sets the model of degeneration for the shaded representation according to the degenerate ratio >= 0. & <= 1. where : <aratio> = 0. indicate that all polygons of the object will be displayed. <aratio> = 1. indicate that no polygons will be displayed !! When <aratio> is > 0 & < 1. the corresponding amount of object polygons will be displayed with a random method. Warning: the degenerate structure is shown only when the animation and degenerate flags are set to TRUE in V3d_View::SetAnimationMode(..) Category: Methods to manage the object degeneration . | |
virtual Standard_EXPORT Aspect_TypeOfDegenerateModel | DegenerateModel (Quantity_Ratio &aRatio) const |
returns the current degeneration model and ratio for the polygons | |
Standard_EXPORT 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 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 . | |
Standard_EXPORT void | UnsetTransformation () |
Deactivate the current transformation . | |
Standard_EXPORT Handle_Geom_Transformation | Transformation () |
Returns the current transformation associated to the first available presentation of this object. . | |
Standard_EXPORT Standard_Boolean | HasTransformation () const |
Returns TRUE when this object is transformed . | |
Standard_EXPORT Standard_Boolean | HasPresentation () const |
Returns TRUE when this object has a presentation in the current DisplayMode() . | |
Standard_EXPORT Handle_Prs3d_Presentation | Presentation () const |
Returns the current presentation of this object according to the current DisplayMode() . | |
Standard_EXPORT 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. . | |
virtual Standard_EXPORT void | SetPolygonOffsets (const Standard_Integer aMode, const Standard_Real aFactor=1.0, const Standard_Real 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. . | |
virtual Standard_EXPORT Standard_Boolean | HasPolygonOffsets () const |
Returns Standard_True if <mydrawer> has non-null shading aspect . | |
virtual Standard_EXPORT void | PolygonOffsets (Standard_Integer &aMode, Standard_Real &aFactor, Standard_Real &aUnits) const |
Retrieves current polygon offsets settings from <mydrawer>. . | |
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const |
Protected Member Functions | |
Standard_EXPORT | 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 . | |
virtual Standard_EXPORT void | Fill (const Handle(PrsMgr_PresentationManager)&aPresentationManager, const Handle(PrsMgr_Presentation)&aPresentation, const Standard_Integer aMode=0) |
High-level interface for controlling polygon offsets . | |
Protected Attributes | |
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 |
Private Member Functions | |
virtual Standard_EXPORT Standard_Boolean | RecomputeEveryPrs () const |
Standard_EXPORT void | MustRecomputePrs (const Standard_Integer aMode) const |
Standard_EXPORT const TColStd_ListOfInteger & | ListOfRecomputeModes () const |
Standard_EXPORT void | SetRecomputeOk () |
Private Attributes | |
AIS_PToContext | myCTXPtr |
Handle_Standard_Transient | myOwner |
TColStd_ListOfTransient | myUsers |
Standard_Integer | mySelPriority |
Standard_Integer | myDisplayMode |
Standard_Integer | mySelectionMode |
Standard_Integer | mystate |
Standard_Boolean | myHasTransformation |
|
|
|
Reimplemented in AIS_Axis, AIS_Plane, AIS_PlaneTrihedron, AIS_Point, AIS_Relation, and AIS_Trihedron. |
|
Reimplemented in AIS_ConnectedInteractive, AIS_ConnectedShape, AIS_MultipleConnectedShape, and AIS_Shape. |
|
|
|
|
|
|
|
|
|
Reimplemented in AIS_Shape. |
|
Reimplemented in AIS_Shape. |
|
|
|
|
|
|
|
|
|
Reimplemented from PrsMgr_PresentableObject. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in AIS_Shape. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in AIS_Axis, AIS_Circle, AIS_Line, AIS_Plane, AIS_PlaneTrihedron, AIS_Point, AIS_Relation, AIS_Shape, and AIS_Trihedron. |
|
Reimplemented in AIS_Axis, AIS_Circle, AIS_Line, AIS_Plane, AIS_PlaneTrihedron, AIS_Point, AIS_Relation, AIS_Shape, AIS_Trihedron, and Voxel_Prs. |
|
Reimplemented in AIS_Plane, and AIS_Trihedron. |
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in AIS_Shape. |
|
Reimplemented in AIS_Shape. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in AIS_Axis, AIS_Circle, AIS_Line, and AIS_Shape. |
|
|
|
|
|
|
|
|
Reimplemented in AIS_Shape. |
|
|
|
|
Reimplemented in AIS_Axis, AIS_Circle, AIS_Line, AIS_Plane, AIS_Point, AIS_Relation, AIS_Shape, and AIS_Trihedron. |
|
|
|
|
|
Reimplemented in AIS_Shape. |
|
|
|
|
|
|
|
Reimplemented in AIS_Shape. |
|
Reimplemented in AIS_Axis, AIS_Circle, AIS_Line, AIS_Shape, and AIS_Trihedron. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|