Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
AIS_Shape Class Reference

A framework to manage presentation and selection of shapes.
AIS_Shape is the interactive object which is used the
most by applications. There are standard functions
available which allow you to prepare selection
operations on the constituent elements of shapes -
vertices, edges, faces etc - in an open local context.
The selection modes specific to "Shape" type objects
are referred to as Standard Activation Mode. These
modes are only taken into account in open local
context and only act on Interactive Objects which
have redefined the virtual method
AcceptShapeDecomposition so that it returns true.
Several advanced functions are also available. These
include functions to manage deviation angle and
deviation coefficient - both HLR and non-HLR - of
an inheriting shape class. These services allow you to
select one type of shape interactive object for higher
precision drawing. When you do this, the
AIS_Drawer::IsOwn... functions corresponding to the
above deviation angle and coefficient functions return
true indicating that there is a local setting available
for the specific object.
More...

#include <AIS_Shape.hxx>

Inheritance diagram for AIS_Shape:
Inheritance graph
[legend]

Public Member Functions

 AIS_Shape (const TopoDS_Shape &shap)
 
 Initializes construction of the shape shap from wires, <br>

edges and vertices.
More...

 
virtual Standard_Integer Signature () const
 Returns index 0. This value refers to SHAPE from TopAbs_ShapeEnum
More...
 
virtual AIS_KindOfInteractive Type () const
 Returns Object as the type of Interactive Object.
More...
 
virtual Standard_Boolean AcceptShapeDecomposition () const
 Returns true if the Interactive Object accepts shape decomposition.
More...
 
void Set (const TopoDS_Shape &ashap)
 Constructs an instance of the shape object ashape.
More...
 
const TopoDS_ShapeShape () const
 Returns this shape object.
More...
 
Standard_Boolean SetOwnDeviationCoefficient ()
 Sets a local value for deviation coefficient for this specific shape.
More...
 
Standard_Boolean SetOwnHLRDeviationCoefficient ()
 Sets a local value for HLR deviation coefficient for this specific shape.
More...
 
Standard_Boolean SetOwnDeviationAngle ()
 Sets a local value for deviation angle for this specific shape.
More...
 
Standard_Boolean SetOwnHLRDeviationAngle ()
 Sets a local value for HLR deviation angle for this specific shape.
More...
 
void SetOwnDeviationCoefficient (const Standard_Real aCoefficient)
 Sets a local value for deviation coefficient for this specific shape.
More...
 
void SetOwnHLRDeviationCoefficient (const Standard_Real aCoefficient)
 sets myOwnHLRDeviationCoefficient field in AIS_Drawer &
recomputes presentation
More...
 
void SetAngleAndDeviation (const Standard_Real anAngle)
 this compute a new angle and Deviation from the value anAngle
and set the values stored in myDrawer with these that become local to the shape
More...
 
Standard_Real UserAngle () const
 gives back the angle initial value put by the User.
More...
 
void SetOwnDeviationAngle (const Standard_Real anAngle)
 sets myOwnDeviationAngle field in AIS_Drawer & recomputes presentation
More...
 
void SetHLRAngleAndDeviation (const Standard_Real anAngle)
 this compute a new Angle and Deviation from the value anAngle for HLR
and set the values stored in myDrawer for with these that become local to the shape
More...
 
void SetOwnHLRDeviationAngle (const Standard_Real anAngle)
 sets myOwnHLRDeviationAngle field in AIS_Drawer & recomputes presentation
More...
 
Standard_Boolean OwnDeviationCoefficient (Standard_Real &aCoefficient, Standard_Real &aPreviousCoefficient) const
 
   Returns true and the values of the deviation <br>

coefficient aCoefficient and the previous deviation
coefficient aPreviousCoefficient. If these values are
not already set, false is returned.
More...

 
Standard_Boolean OwnHLRDeviationCoefficient (Standard_Real &aCoefficient, Standard_Real &aPreviousCoefficient) const
 
  Returns   true and the values of the HLR deviation <br>

coefficient aCoefficient and the previous HLR
deviation coefficient aPreviousCoefficient. If these
values are not already set, false is returned.
More...

 
Standard_Boolean OwnDeviationAngle (Standard_Real &anAngle, Standard_Real &aPreviousAngle) const
 
 Returns true and the values of the deviation angle <br>

anAngle and the previous deviation angle aPreviousAngle.
If these values are not already set, false is returned.
More...

 
Standard_Boolean OwnHLRDeviationAngle (Standard_Real &anAngle, Standard_Real &aPreviousAngle) const
 
 Returns true and the values   of the HLR deviation <br>

angle anAngle and of the previous HLR deviation
angle aPreviousAngle. If these values are not
already set, false is returned.
More...

 
void SetTypeOfHLR (const Prs3d_TypeOfHLR theTypeOfHLR)
 Sets the type of HLR algorithm used by the shape
More...
 
Prs3d_TypeOfHLR TypeOfHLR () const
 Gets the type of HLR algorithm
More...
 
virtual void SetColor (const Quantity_NameOfColor aColor)
 
 Sets the color aColor in the reconstructed <br>

compound shape. Acts via the Drawer methods below on the appearance of:
More...

 
virtual void SetColor (const Quantity_Color &aColor)
 
virtual void UnsetColor ()
 Removes settings for color in the reconstructed compound shape.
More...
 
virtual void SetWidth (const Standard_Real aValue)
 Sets the value aValue for line width in the reconstructed compound shape.
More...
 
virtual void UnsetWidth ()
 Removes the setting for line width in the reconstructed compound shape.
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)
 
 Allows you to provide settings for the material aName <br>

in the reconstructed compound shape.
More...

 
virtual void UnsetMaterial ()
 Removes settings for material in the reconstructed compound shape.
More...
 
virtual void SetTransparency (const Standard_Real aValue=0.6)
 Sets the value aValue for transparency in the reconstructed compound shape.
More...
 
virtual void UnsetTransparency ()
 Removes the setting for transparency in the reconstructed compound shape.
More...
 
virtual const Bnd_BoxBoundingBox ()
 
 Constructs a bounding box with which to reconstruct <br>

compound topological shapes for presentation.
More...

 
virtual Quantity_NameOfColor Color () const
 
Returns the NameOfColor attributes of the shape accordingly to <br>

the current facing model;
More...

 
virtual void Color (Quantity_Color &aColor) const
 
Returns the Color attributes of the shape accordingly to <br>

the current facing model;
More...

 
virtual Graphic3d_NameOfMaterial Material () const
 
Returns the NameOfMaterial attributes of the shape accordingly to <br>

the current facing model;
More...

 
virtual Standard_Real Transparency () const
 
Returns the transparency attributes of the shape accordingly to <br>

the current facing model;
More...

 
- Public Member Functions inherited from AIS_InteractiveObject
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 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...
 
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...
 
Standard_Boolean IsTransparent () const
 Returns true if there is a transparency setting.
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 void HilightSelected (const Handle< PrsMgr_PresentationManager3d > &PM, const SelectMgr_SequenceOfOwner &Seq)
 Method which draws selected owners ( for fast presentation draw )
More...
 
virtual void ClearSelected ()
 
 Method which clear all selected owners belonging <br>

to this selectable object ( for fast presentation draw )
More...

 
virtual void HilightOwnerWithColor (const Handle< PrsMgr_PresentationManager3d > &thePM, const Quantity_NameOfColor theColor, const Handle< SelectMgr_EntityOwner > &theOwner)
 
 Method which hilight an owner belonging to <br>

this selectable object ( for fast presentation draw )
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...
 

Static Public Member Functions

static TopAbs_ShapeEnum SelectionType (const Standard_Integer aDecompositionMode)
 
 Activates the same TopAbs shape enumerations as <br>

those used by SelectionMode assigning a type to the mode aDecompositionMode.
More...

 
static Standard_Integer SelectionMode (const TopAbs_ShapeEnum aShapeType)
 
 Establishes an equivalence between a mode and the <br>

type, aShapeType, of selection. The correspondences are as follows:
More...

 
static Standard_Real GetDeflection (const TopoDS_Shape &aShape, const Handle< Prs3d_Drawer > &aDrawer)
 

Protected Member Functions

virtual void Compute (const Handle< PrsMgr_PresentationManager3d > &aPresentationManager, const Handle< Prs3d_Presentation > &aPresentation, const Standard_Integer aMode=0)
 
 Calculates the 3D view aPresentation and its <br>

updates. The latter are managed by aPresentationManager.
aPresentableObject has the display mode aMode;
this has the default value of 0, that is, the wireframe display mode.
More...

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

 
virtual void ComputeSelection (const Handle< SelectMgr_Selection > &aSelection, const Standard_Integer aMode)
 
 Recovers and calculates any sensitive primitive, <br>

aSelection, available in Shape mode, specified by
aMode. As a rule, these are sensitive faces.
This method is defined as virtual. This enables you to
implement it in the creation of a new class of AIS
Interactive Object. You need to do this and in so
doing, redefine this method, if you create a class
which enriches the list of signatures and types.
More...

 
void LoadRecomputable (const Standard_Integer TheMode)
 
void setColor (const Handle< AIS_Drawer > &theDrawer, const Quantity_Color &theColor) const
 
void setWidth (const Handle< AIS_Drawer > &theDrawer, const Standard_Real theWidth) const
 
void setTransparency (const Handle< AIS_Drawer > &theDrawer, const Standard_Real theValue) const
 
- 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)
 
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...

 

Static Protected Member Functions

static void DisplayBox (const Handle< Prs3d_Presentation > &aPrs, const Bnd_Box &aBox, const Handle< Prs3d_Drawer > &aDrawer)
 

Protected Attributes

TopoDS_Shape myshape
 
Bnd_Box myBB
 
Standard_Boolean myCompBB
 
- 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
 

Detailed Description

A framework to manage presentation and selection of shapes.
AIS_Shape is the interactive object which is used the
most by applications. There are standard functions
available which allow you to prepare selection
operations on the constituent elements of shapes -
vertices, edges, faces etc - in an open local context.
The selection modes specific to "Shape" type objects
are referred to as Standard Activation Mode. These
modes are only taken into account in open local
context and only act on Interactive Objects which
have redefined the virtual method
AcceptShapeDecomposition so that it returns true.
Several advanced functions are also available. These
include functions to manage deviation angle and
deviation coefficient - both HLR and non-HLR - of
an inheriting shape class. These services allow you to
select one type of shape interactive object for higher
precision drawing. When you do this, the
AIS_Drawer::IsOwn... functions corresponding to the
above deviation angle and coefficient functions return
true indicating that there is a local setting available
for the specific object.

Constructor & Destructor Documentation

AIS_Shape::AIS_Shape ( const TopoDS_Shape shap)

 Initializes construction of the shape shap from wires, <br>

edges and vertices.

Member Function Documentation

virtual Standard_Boolean AIS_Shape::AcceptShapeDecomposition ( ) const
virtual

Returns true if the Interactive Object accepts shape decomposition.

Reimplemented from AIS_InteractiveObject.

virtual const Bnd_Box& AIS_Shape::BoundingBox ( )
virtual

 Constructs a bounding box with which to reconstruct <br>

compound topological shapes for presentation.

virtual Quantity_NameOfColor AIS_Shape::Color ( ) const
virtual

Returns the NameOfColor attributes of the shape accordingly to <br>

the current facing model;

Reimplemented from AIS_InteractiveObject.

virtual void AIS_Shape::Color ( Quantity_Color aColor) const
virtual

Returns the Color attributes of the shape accordingly to <br>

the current facing model;

Reimplemented from AIS_InteractiveObject.

virtual void AIS_Shape::Compute ( const Handle< PrsMgr_PresentationManager3d > &  aPresentationManager,
const Handle< Prs3d_Presentation > &  aPresentation,
const Standard_Integer  aMode = 0 
)
protectedvirtual

 Calculates the 3D view aPresentation and its <br>

updates. The latter are managed by aPresentationManager.
aPresentableObject has the display mode aMode;
this has the default value of 0, that is, the wireframe display mode.

Reimplemented from PrsMgr_PresentableObject.

Reimplemented in AIS_TexturedShape, AIS_ColoredShape, and XCAFPrs_AISObject.

virtual void AIS_Shape::Compute ( const Handle< Prs3d_Projector > &  aProjector,
const Handle< Prs3d_Presentation > &  aPresentation 
)
protectedvirtual

 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.

Reimplemented from PrsMgr_PresentableObject.

virtual void AIS_Shape::Compute ( const Handle< Prs3d_Projector > &  aProjector,
const Handle< Geom_Transformation > &  aTrsf,
const Handle< Prs3d_Presentation > &  aPresentation 
)
protectedvirtual

 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.

Reimplemented from PrsMgr_PresentableObject.

virtual void AIS_Shape::ComputeSelection ( const Handle< SelectMgr_Selection > &  aSelection,
const Standard_Integer  aMode 
)
protectedvirtual

 Recovers and calculates any sensitive primitive, <br>

aSelection, available in Shape mode, specified by
aMode. As a rule, these are sensitive faces.
This method is defined as virtual. This enables you to
implement it in the creation of a new class of AIS
Interactive Object. You need to do this and in so
doing, redefine this method, if you create a class
which enriches the list of signatures and types.

Implements SelectMgr_SelectableObject.

static void AIS_Shape::DisplayBox ( const Handle< Prs3d_Presentation > &  aPrs,
const Bnd_Box aBox,
const Handle< Prs3d_Drawer > &  aDrawer 
)
staticprotected
static Standard_Real AIS_Shape::GetDeflection ( const TopoDS_Shape aShape,
const Handle< Prs3d_Drawer > &  aDrawer 
)
static
void AIS_Shape::LoadRecomputable ( const Standard_Integer  TheMode)
protected
virtual Graphic3d_NameOfMaterial AIS_Shape::Material ( ) const
virtual

Returns the NameOfMaterial attributes of the shape accordingly to <br>

the current facing model;

Reimplemented from AIS_InteractiveObject.

Standard_Boolean AIS_Shape::OwnDeviationAngle ( Standard_Real anAngle,
Standard_Real aPreviousAngle 
) const

 Returns true and the values of the deviation angle <br>

anAngle and the previous deviation angle aPreviousAngle.
If these values are not already set, false is returned.

Standard_Boolean AIS_Shape::OwnDeviationCoefficient ( Standard_Real aCoefficient,
Standard_Real aPreviousCoefficient 
) const

   Returns true and the values of the deviation <br>

coefficient aCoefficient and the previous deviation
coefficient aPreviousCoefficient. If these values are
not already set, false is returned.

Standard_Boolean AIS_Shape::OwnHLRDeviationAngle ( Standard_Real anAngle,
Standard_Real aPreviousAngle 
) const

 Returns true and the values   of the HLR deviation <br>

angle anAngle and of the previous HLR deviation
angle aPreviousAngle. If these values are not
already set, false is returned.

Standard_Boolean AIS_Shape::OwnHLRDeviationCoefficient ( Standard_Real aCoefficient,
Standard_Real aPreviousCoefficient 
) const

  Returns   true and the values of the HLR deviation <br>

coefficient aCoefficient and the previous HLR
deviation coefficient aPreviousCoefficient. If these
values are not already set, false is returned.

static Standard_Integer AIS_Shape::SelectionMode ( const TopAbs_ShapeEnum  aShapeType)
static

 Establishes an equivalence between a mode and the <br>

type, aShapeType, of selection. The correspondences are as follows:

  • mode 0 - Shape
  • mode 1 - Vertex
  • mode 2 - Edge
  • mode 3 - Wire
  • mode 4 - Face
  • mode 5 - Shell
  • mode 6 - Solid
  • mode 7 - Compsolid
  • mode 8 - Compound
static TopAbs_ShapeEnum AIS_Shape::SelectionType ( const Standard_Integer  aDecompositionMode)
static

 Activates the same TopAbs shape enumerations as <br>

those used by SelectionMode assigning a type to the mode aDecompositionMode.

void AIS_Shape::Set ( const TopoDS_Shape ashap)

Constructs an instance of the shape object ashape.

void AIS_Shape::SetAngleAndDeviation ( const Standard_Real  anAngle)

this compute a new angle and Deviation from the value anAngle
and set the values stored in myDrawer with these that become local to the shape

virtual void AIS_Shape::SetColor ( const Quantity_NameOfColor  aColor)
virtual

 Sets the color aColor in the reconstructed <br>

compound shape. Acts via the Drawer methods below on the appearance of:

  • free boundaries:
    AIS_Drawer_FreeBoundaryAspect,
  • isos: AIS_Drawer_UIsoAspect,
    AIS_Drawer_VIsoAspect,
  • shared boundaries:
    AIS_Drawer_UnFreeBoundaryAspect,
  • shading: AIS_Drawer_ShadingAspect,
  • visible line color in hidden line mode:
    AIS_Drawer_SeenLineAspect
  • hidden line color in hidden line mode:
    AIS_Drawer_HiddenLineAspect.

Reimplemented from AIS_InteractiveObject.

virtual void AIS_Shape::SetColor ( const Quantity_Color aColor)
virtual

Reimplemented from AIS_InteractiveObject.

Reimplemented in AIS_ColoredShape, and XCAFPrs_AISObject.

void AIS_Shape::setColor ( const Handle< AIS_Drawer > &  theDrawer,
const Quantity_Color theColor 
) const
protected
void AIS_Shape::SetHLRAngleAndDeviation ( const Standard_Real  anAngle)

this compute a new Angle and Deviation from the value anAngle for HLR
and set the values stored in myDrawer for with these that become local to the shape

virtual void AIS_Shape::SetMaterial ( const Graphic3d_NameOfMaterial  aName)
virtual

 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.

Reimplemented from AIS_InteractiveObject.

Reimplemented in XCAFPrs_AISObject.

virtual void AIS_Shape::SetMaterial ( const Graphic3d_MaterialAspect aName)
virtual

 Allows you to provide settings for the material aName <br>

in the reconstructed compound shape.

Reimplemented from AIS_InteractiveObject.

Reimplemented in XCAFPrs_AISObject.

Standard_Boolean AIS_Shape::SetOwnDeviationAngle ( )

Sets a local value for deviation angle for this specific shape.

void AIS_Shape::SetOwnDeviationAngle ( const Standard_Real  anAngle)

sets myOwnDeviationAngle field in AIS_Drawer & recomputes presentation

Standard_Boolean AIS_Shape::SetOwnDeviationCoefficient ( )

Sets a local value for deviation coefficient for this specific shape.

void AIS_Shape::SetOwnDeviationCoefficient ( const Standard_Real  aCoefficient)

Sets a local value for deviation coefficient for this specific shape.

Standard_Boolean AIS_Shape::SetOwnHLRDeviationAngle ( )

Sets a local value for HLR deviation angle for this specific shape.

void AIS_Shape::SetOwnHLRDeviationAngle ( const Standard_Real  anAngle)

sets myOwnHLRDeviationAngle field in AIS_Drawer & recomputes presentation

Standard_Boolean AIS_Shape::SetOwnHLRDeviationCoefficient ( )

Sets a local value for HLR deviation coefficient for this specific shape.

void AIS_Shape::SetOwnHLRDeviationCoefficient ( const Standard_Real  aCoefficient)

sets myOwnHLRDeviationCoefficient field in AIS_Drawer &
recomputes presentation

virtual void AIS_Shape::SetTransparency ( const Standard_Real  aValue = 0.6)
virtual

Sets the value aValue for transparency in the reconstructed compound shape.

Reimplemented from AIS_InteractiveObject.

Reimplemented in AIS_ColoredShape, and XCAFPrs_AISObject.

void AIS_Shape::setTransparency ( const Handle< AIS_Drawer > &  theDrawer,
const Standard_Real  theValue 
) const
protected
void AIS_Shape::SetTypeOfHLR ( const Prs3d_TypeOfHLR  theTypeOfHLR)

Sets the type of HLR algorithm used by the shape

virtual void AIS_Shape::SetWidth ( const Standard_Real  aValue)
virtual

Sets the value aValue for line width in the reconstructed compound shape.

Reimplemented from AIS_InteractiveObject.

Reimplemented in AIS_ColoredShape.

void AIS_Shape::setWidth ( const Handle< AIS_Drawer > &  theDrawer,
const Standard_Real  theWidth 
) const
protected
const TopoDS_Shape& AIS_Shape::Shape ( ) const

Returns this shape object.

virtual Standard_Integer AIS_Shape::Signature ( ) const
virtual

Returns index 0. This value refers to SHAPE from TopAbs_ShapeEnum

Reimplemented from AIS_InteractiveObject.

virtual Standard_Real AIS_Shape::Transparency ( ) const
virtual

Returns the transparency attributes of the shape accordingly to <br>

the current facing model;

Reimplemented from AIS_InteractiveObject.

virtual AIS_KindOfInteractive AIS_Shape::Type ( ) const
virtual

Returns Object as the type of Interactive Object.

Reimplemented from AIS_InteractiveObject.

Prs3d_TypeOfHLR AIS_Shape::TypeOfHLR ( ) const

Gets the type of HLR algorithm

virtual void AIS_Shape::UnsetColor ( )
virtual

Removes settings for color in the reconstructed compound shape.

Reimplemented from AIS_InteractiveObject.

Reimplemented in XCAFPrs_AISObject.

virtual void AIS_Shape::UnsetMaterial ( )
virtual

Removes settings for material in the reconstructed compound shape.

Reimplemented from AIS_InteractiveObject.

Reimplemented in XCAFPrs_AISObject.

virtual void AIS_Shape::UnsetTransparency ( )
virtual

Removes the setting for transparency in the reconstructed compound shape.

Reimplemented from AIS_InteractiveObject.

Reimplemented in XCAFPrs_AISObject.

virtual void AIS_Shape::UnsetWidth ( )
virtual

Removes the setting for line width in the reconstructed compound shape.

Reimplemented from AIS_InteractiveObject.

Standard_Real AIS_Shape::UserAngle ( ) const

gives back the angle initial value put by the User.

Field Documentation

Bnd_Box AIS_Shape::myBB
protected
Standard_Boolean AIS_Shape::myCompBB
protected
TopoDS_Shape AIS_Shape::myshape
protected

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