Open CASCADE Technology  7.2.0
Public Member Functions | Static Public Member Functions

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 Prs3d_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, edges and vertices. More...
 
virtual Standard_Integer Signature () const override
 Returns index 0. This value refers to SHAPE from TopAbs_ShapeEnum. More...
 
virtual AIS_KindOfInteractive Type () const override
 Returns Object as the type of Interactive Object. More...
 
virtual Standard_Boolean AcceptShapeDecomposition () const override
 Returns true if the Interactive Object accepts shape decomposition. More...
 
void Set (const TopoDS_Shape &theShape)
 Constructs an instance of the shape object theShape. 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 Prs3d_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 Prs3d_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 Prs3d_Drawer & recomputes presentation More...
 
Standard_Boolean OwnDeviationCoefficient (Standard_Real &aCoefficient, Standard_Real &aPreviousCoefficient) const
 Returns true and the values of the deviation 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 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 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 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_Color &theColor) override
 Sets the color aColor in the reconstructed compound shape. Acts via the Drawer methods below on the appearance of: More...
 
virtual void UnsetColor () override
 Removes settings for color in the reconstructed compound shape. More...
 
virtual void SetWidth (const Standard_Real aValue) override
 Sets the value aValue for line width in the reconstructed compound shape. Changes line aspects for lines-only presentation modes like Wireframe and Bounding Box. Doesn't change face boundary line aspect. More...
 
virtual void UnsetWidth () override
 Removes the setting for line width in the reconstructed compound shape. More...
 
virtual void SetMaterial (const Graphic3d_MaterialAspect &aName) override
 Allows you to provide settings for the material aName in the reconstructed compound shape. More...
 
virtual void UnsetMaterial () override
 Removes settings for material in the reconstructed compound shape. More...
 
virtual void SetTransparency (const Standard_Real aValue=0.6) override
 Sets the value aValue for transparency in the reconstructed compound shape. More...
 
virtual void UnsetTransparency () override
 Removes the setting for transparency in the reconstructed compound shape. More...
 
virtual const Bnd_BoxBoundingBox ()
 Constructs a bounding box with which to reconstruct compound topological shapes for presentation. More...
 
virtual void Color (Quantity_Color &aColor) const override
 Returns the Color attributes of the shape accordingly to the current facing model;. More...
 
virtual Graphic3d_NameOfMaterial Material () const override
 Returns the NameOfMaterial attributes of the shape accordingly to the current facing model;. More...
 
virtual Standard_Real Transparency () const override
 Returns the transparency attributes of the shape accordingly to 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 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. 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 be implemented when the main mode is not mode 0. More...
 
void Redisplay (const Standard_Boolean AllModes=Standard_False)
 Updates the active presentation; if <AllModes> = Standard_True all the presentations inside are recomputed. IMPORTANT: It is preferable to call Redisplay method of corresponding AIS_InteractiveContext instance for cases when it is accessible. This method just redirects call to myCTXPtr, so this class field must be up to date for proper result. More...
 
void SetInfiniteState (const Standard_Boolean aFlag=Standard_True)
 Sets the infinite state flag aFlage. if <aFlag> = True , the interactiveObject is considered as infinite, i.e. its graphic presentations are not taken in account for View FitAll... More...
 
Standard_Boolean IsInfinite () const
 Returns true if the interactive object is infinite. In this case, its graphic presentations are not taken into account in the fit-all view. More...
 
Standard_Boolean HasInteractiveContext () const
 Indicates whether the Interactive Object has a pointer to an interactive context. More...
 
Handle< AIS_InteractiveContextGetContext () const
 Returns the context pointer to the interactive context. More...
 
virtual void SetContext (const Handle< AIS_InteractiveContext > &aCtx)
 Sets the interactive context aCtx and provides a link to the default drawing tool or "Drawer" if there is none. More...
 
Standard_Boolean HasOwner () const
 Returns true if the object has an owner attributed to it. The owner can be a shape for a set of sub-shapes or a sub-shape for sub-shapes which it is composed of, and takes the form of a transient. More...
 
const Handle< Standard_Transient > & GetOwner () const
 Returns the owner of the Interactive Object. The owner can be a shape for a set of sub-shapes or a sub-shape for sub-shapes which it is composed of, and takes the form of a transient. There are two types of owners: More...
 
void SetOwner (const Handle< Standard_Transient > &theApplicativeEntity)
 Allows you to attribute the owner theApplicativeEntity to an Interactive Object. This can be a shape for a set of sub-shapes or a sub-shape for sub-shapes which it is composed of. The owner takes the form of a transient. More...
 
void ClearOwner ()
 Each Interactive Object has methods which allow us to attribute an Owner to it in the form of a Transient. This method removes the owner from the graphic entity. More...
 
Standard_Boolean HasDisplayMode () const
 Returns true if the Interactive Object has a display mode setting. Otherwise, it is displayed in Neutral Point. More...
 
void SetDisplayMode (const Standard_Integer aMode)
 Sets the display mode aMode for the interactive object. An object can have its own temporary display mode, which is different from that proposed by the interactive context. The range of possibilities currently proposed is the following: More...
 
void UnsetDisplayMode ()
 Removes display mode settings from the interactive object. More...
 
Standard_Integer DisplayMode () const
 Returns the display mode setting of the Interactive Object. The range of possibilities is the following: More...
 
Standard_Boolean HasHilightMode () const
 Returns true if the Interactive Object is in highlight mode. More...
 
Standard_Integer HilightMode () const
 Returns highlight display mode. This is obsolete method for backward compatibility - use ::HilightAttributes() and ::DynamicHilightAttributes() instead. More...
 
void SetHilightMode (const Standard_Integer theMode)
 Sets highlight display mode. This is obsolete method for backward compatibility - use ::HilightAttributes() and ::DynamicHilightAttributes() instead. More...
 
void UnsetHilightMode ()
 Unsets highlight display mode. More...
 
Standard_Boolean HasColor () const
 Returns true if the Interactive Object has color. More...
 
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 UnsetAttributes () override
 Clears settings provided by the drawing tool aDrawer. More...
 
Standard_Boolean HasPresentation () const
 Returns TRUE when this object has a presentation in the current DisplayMode() More...
 
Handle< Prs3d_PresentationPresentation () const
 Returns the current presentation of this object according to the current DisplayMode() More...
 
void SetAspect (const Handle< Prs3d_BasicAspect > &anAspect)
 Sets the graphic basic aspect to the current presentation. More...
 
virtual void SetPolygonOffsets (const Standard_Integer aMode, const Standard_ShortReal aFactor=1.0, const Standard_ShortReal aUnits=0.0)
 Sets up polygon offsets for this object. It modifies all existing presentations of <anObj> (if any), so it is reasonable to call this method after <anObj> has been displayed. Otherwise, Compute() method should pass Graphic3d_AspectFillArea3d aspect from <myDrawer> to Graphic3d_Group to make polygon offsets work. More...
 
virtual Standard_Boolean HasPolygonOffsets () const
 Returns Standard_True if <myDrawer> has non-null shading aspect. More...
 
virtual void PolygonOffsets (Standard_Integer &aMode, Standard_ShortReal &aFactor, Standard_ShortReal &aUnits) const
 Retrieves current polygon offsets settings from <myDrawer>. More...
 
virtual void BoundingBox (Bnd_Box &theBndBox) override
 Returns bounding box of object correspondingly to its current display mode. More...
 
void SetIsoOnTriangulation (const Standard_Boolean theIsEnabled)
 Enables or disables on-triangulation build of isolines according to the flag given. More...
 
void SynchronizeAspects ()
 Synchronize presentation aspects after their modification. More...
 
- Public Member Functions inherited from SelectMgr_SelectableObject
virtual ~SelectMgr_SelectableObject ()
 Clears all selections of the object. More...
 
void RecomputePrimitives ()
 Re-computes the sensitive primitives for all modes. IMPORTANT: Do not use this method to update selection primitives except implementing custom selection manager! This method does not take into account necessary BVH updates, but may invalidate the pointers it refers to. TO UPDATE SELECTION properly from outside classes, use method UpdateSelection. More...
 
void RecomputePrimitives (const Standard_Integer theMode)
 Re-computes the sensitive primitives which correspond to the <theMode>th selection mode. IMPORTANT: Do not use this method to update selection primitives except implementing custom selection manager! selection manager! This method does not take into account necessary BVH updates, but may invalidate the pointers it refers to. TO UPDATE SELECTION properly from outside classes, use method UpdateSelection. More...
 
void AddSelection (const Handle< SelectMgr_Selection > &aSelection, const Standard_Integer aMode)
 Adds the selection aSelection with the selection mode index aMode to this framework. More...
 
void ClearSelections (const Standard_Boolean update=Standard_False)
 Empties all the selections in the SelectableObject <update> parameter defines whether all object's selections should be flagged for further update or not. This improved method can be used to recompute an object's selection (without redisplaying the object completely) when some selection mode is activated not for the first time. More...
 
const Handle< SelectMgr_Selection > & Selection (const Standard_Integer aMode) const
 Returns the selection Selection having the selection mode aMode. More...
 
virtual Standard_Boolean HasSelection (const Standard_Integer theMode) const
 Returns true if a selection corresponding to the selection mode theMode was computed for this object. More...
 
void Init ()
 Begins the iteration scanning for sensitive primitives. More...
 
Standard_Boolean More () const
 Continues the iteration scanning for sensitive primitives. More...
 
void Next ()
 Continues the iteration scanning for sensitive primitives. More...
 
const Handle< SelectMgr_Selection > & CurrentSelection () const
 Returns the current selection in this framework. More...
 
void ResetTransformation () override
 resets local transformation to identity. More...
 
virtual void UpdateTransformation () override
 Recomputes the location of the selection aSelection. More...
 
virtual void UpdateTransformations (const Handle< SelectMgr_Selection > &aSelection)
 Updates locations in all sensitive entities from <aSelection> and in corresponding entity owners. More...
 
virtual void 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 to this selectable object ( for fast presentation draw ) More...
 
virtual void ClearDynamicHighlight (const Handle< PrsMgr_PresentationManager3d > &theMgr)
 Method that needs to be implemented when the object manages selection and dynamic highlighting on its own. Clears or invalidates dynamic highlight presentation. By default it clears immediate draw of given presentation manager. More...
 
virtual void HilightOwnerWithColor (const Handle< PrsMgr_PresentationManager3d > &thePM, const Handle< Prs3d_Drawer > &theStyle, const Handle< SelectMgr_EntityOwner > &theOwner)
 Method which hilight an owner belonging to this selectable object ( for fast presentation draw ) More...
 
virtual Standard_Boolean IsAutoHilight () const
 If returns True, the old mechanism for highlighting selected objects is used (HilightSelected Method may be empty). If returns False, the HilightSelected method will be fully responsible for highlighting selected entity owners belonging to this selectable object. More...
 
virtual void SetAutoHilight (const Standard_Boolean newAutoHilight)
 Set AutoHilight property to true or false Sets up Transform Persistence Mode for this object. More...
 
Handle< Prs3d_PresentationGetHilightPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
 
Handle< Prs3d_PresentationGetSelectPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
 
virtual void ErasePresentations (Standard_Boolean theToRemove)
 Removes presentations returned by GetHilightPresentation() and GetSelectPresentation(). More...
 
virtual void SetZLayer (const Graphic3d_ZLayerId theLayerId) override
 Set Z layer ID and update all presentations of the selectable object. The layers mechanism allows drawing objects in higher layers in overlay of objects in lower layers. More...
 
void UpdateSelection (const Standard_Integer theMode=-1)
 Sets update status FULL to selections of the object. Must be used as the only method of UpdateSelection from outer classes to prevent BVH structures from being outdated. More...
 
void SetAssemblyOwner (const Handle< SelectMgr_EntityOwner > &theOwner, const Standard_Integer theMode=-1)
 Sets common entity owner for assembly sensitive object entities. More...
 
const Handle< SelectMgr_EntityOwner > & GetAssemblyOwner () const
 Returns common entity owner if the object is an assembly. More...
 
Bnd_Box BndBoxOfSelected (const Handle< SelectMgr_IndexedMapOfOwner > &theOwners)
 Returns a bounding box of sensitive entities with the owners given if they are a part of activated selection. More...
 
Standard_Integer GlobalSelectionMode () const
 Returns the mode for selection of object as a whole. More...
 
virtual Handle< SelectMgr_EntityOwnerGlobalSelOwner () const
 Returns the owner of mode for selection of object as a whole. More...
 
- Public Member Functions inherited from PrsMgr_PresentableObject
PrsMgr_PresentationsPresentations ()
 
PrsMgr_TypeOfPresentation3d TypeOfPresentation3d () const
 Returns information on whether the object accepts display in HLR mode or not. More...
 
const Handle< Graphic3d_TransformPers > & TransformPersistence () const
 
virtual void SetTransformPersistence (const Handle< Graphic3d_TransformPers > &theTrsfPers)
 Sets up Transform Persistence for this object. More...
 
 Standard_DEPRECATED ("This method is deprecated - SetTransformPersistence() taking Graphic3d_TransformPers should be called instead") void SetTransformPersistence(const Graphic3d_TransModeFlags theMode
 Sets up Transform Persistence Mode for this object. This function used to lock in object position, rotation and / or zooming relative to camera position. Object will be drawn in the origin setted by thePoint parameter (except Graphic3d_TMF_TriedronPers flag. More...
 
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...
 
const Handle< Geom_Transformation > & LocalTransformationGeom () const
 Return the local transformation. More...
 
void SetLocalTransformation (const gp_Trsf &theTrsf)
 Sets local transformation to theTransformation. More...
 
void SetLocalTransformation (const Handle< Geom_Transformation > &theTrsf)
 Sets local transformation to theTransformation. More...
 
Standard_Boolean HasTransformation () const
 Returns true if object has a transformation that is different from the identity. More...
 
const Handle< Geom_Transformation > & TransformationGeom () const
 Return the transformation taking into account transformation of parent object(s). More...
 
const gp_TrsfLocalTransformation () const
 Return the local transformation. More...
 
const gp_TrsfTransformation () const
 Return the transformation taking into account transformation of parent object(s). More...
 
const gp_GTrsfInversedTransformation () const
 
virtual void UpdateTransformation (const Handle< Prs3d_Presentation > &P)
 
Graphic3d_ZLayerId ZLayer () const
 Get ID of Z layer. More...
 
virtual void AddClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane)
 Adds clip plane for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be substracted from limit to predict the maximum possible number of object clipping planes. More...
 
virtual void RemoveClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane)
 Removes previously added clip plane. More...
 
virtual void SetClipPlanes (const Handle< Graphic3d_SequenceOfHClipPlane > &thePlanes)
 Set clip planes for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be subtracted from limit to predict the maximum possible number of object clipping planes. More...
 
 Standard_DEPRECATED ("This method is deprecated - overload taking Handle should be used instead") void SetClipPlanes(const Graphic3d_SequenceOfHClipPlane &thePlanes)
 
const Handle< Graphic3d_SequenceOfHClipPlane > & ClipPlanes () const
 Get clip planes. More...
 
virtual void SetMutable (const Standard_Boolean theIsMutable)
 Sets if the object has mutable nature (content or location will be changed regularly). This method should be called before object displaying to take effect. More...
 
Standard_Boolean IsMutable () const
 Returns true if object has mutable nature (content or location are be changed regularly). Mutable object will be managed in different way than static onces (another optimizations). More...
 
virtual void AddChild (const Handle< PrsMgr_PresentableObject > &theObject)
 Makes theObject child of current object in scene hierarchy. More...
 
virtual void RemoveChild (const Handle< PrsMgr_PresentableObject > &theObject)
 Removes theObject from children of current object in scene hierarchy. More...
 
const PrsMgr_ListOfPresentableObjectsChildren () const
 Returns children of the current object. More...
 
Standard_Boolean HasOwnPresentations () const
 Returns true if object should have own presentations. More...
 
PrsMgr_PresentableObjectPointer Parent () const
 Returns parent of current object in scene hierarchy. More...
 
virtual void SetAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the drawing tool theDrawer. More...
 
const Handle< Prs3d_Drawer > & Attributes () const
 Returns the attributes settings. More...
 
const Handle< Prs3d_Drawer > & HilightAttributes () const
 Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalSelected and Prs3d_TypeOfHighlight_Selected defined within AIS_InteractiveContext. More...
 
virtual void SetHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the hilight drawing tool theDrawer. More...
 
const Handle< Prs3d_Drawer > & DynamicHilightAttributes () const
 Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalDynamic and Prs3d_TypeOfHighlight_Dynamic defined within AIS_InteractiveContext. More...
 
virtual void SetDynamicHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the dynamic hilight drawing tool. More...
 
virtual void UnsetHilightAttributes ()
 Clears settings provided by the hilight drawing tool theDrawer. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object. More...
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 
void IncrementRefCounter () const
 Increments the reference counter of this object. More...
 
Standard_Integer DecrementRefCounter () const
 Decrements the reference counter of this object; returns the decremented value. More...
 

Static Public Member Functions

static TopAbs_ShapeEnum SelectionType (const Standard_Integer aDecompositionMode)
 Activates the same TopAbs shape enumerations as 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 type, aShapeType, of selection. The correspondences are as follows: More...
 
- Static Public Member Functions inherited from Standard_Transient
static const char * get_type_name ()
 Returns a type descriptor about this object. More...
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class. More...
 

methods to alter texture mapping properties

TopoDS_Shape myshape
 shape to display More...
 
Bnd_Box myBB
 cached bounding box of the shape More...
 
gp_Pnt2d myUVOrigin
 UV origin vector for generating texture coordinates. More...
 
gp_Pnt2d myUVRepeat
 UV repeat vector for generating texture coordinates. More...
 
gp_Pnt2d myUVScale
 UV scale vector for generating texture coordinates. More...
 
Standard_Real myInitAng
 shape to display More...
 
Standard_Boolean myCompBB
 if TRUE, then bounding box should be recomputed More...
 
const gp_Pnt2dTextureRepeatUV () const
 Return texture repeat UV values; (1, 1) by default. More...
 
void SetTextureRepeatUV (const gp_Pnt2d &theRepeatUV)
 Sets the number of occurrences of the texture on each face. The texture itself is parameterized in (0,1) by (0,1). Each face of the shape to be textured is parameterized in UV space (Umin,Umax) by (Vmin,Vmax). More...
 
const gp_Pnt2dTextureOriginUV () const
 Return texture origin UV position; (0, 0) by default. More...
 
void SetTextureOriginUV (const gp_Pnt2d &theOriginUV)
 Use this method to change the origin of the texture. The texel (0,0) will be mapped to the surface (myUVOrigin.X(), myUVOrigin.Y()). More...
 
const gp_Pnt2dTextureScaleUV () const
 Return scale factor for UV coordinates; (1, 1) by default. More...
 
void SetTextureScaleUV (const gp_Pnt2d &theScaleUV)
 Use this method to scale the texture (percent of the face). You can specify a scale factor for both U and V. Example: if you set ScaleU and ScaleV to 0.5 and you enable texture repeat, the texture will appear twice on the face in each direction. More...
 
virtual void Compute (const Handle< PrsMgr_PresentationManager3d > &aPresentationManager, const Handle< Prs3d_Presentation > &aPresentation, const Standard_Integer aMode=0) override
 shape to display More...
 
virtual void Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Prs3d_Presentation > &aPresentation) override
 shape to display More...
 
virtual void Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Geom_Transformation > &aTrsf, const Handle< Prs3d_Presentation > &aPresentation) override
 shape to display More...
 
virtual void ComputeSelection (const Handle< SelectMgr_Selection > &aSelection, const Standard_Integer aMode) override
 shape to display More...
 
void LoadRecomputable (const Standard_Integer TheMode)
 shape to display More...
 
void setColor (const Handle< Prs3d_Drawer > &theDrawer, const Quantity_Color &theColor) const
 shape to display More...
 
void setWidth (const Handle< Prs3d_Drawer > &theDrawer, const Standard_Real theWidth) const
 shape to display More...
 
void setTransparency (const Handle< Prs3d_Drawer > &theDrawer, const Standard_Real theValue) const
 shape to display More...
 
void setMaterial (const Handle< Prs3d_Drawer > &theDrawer, const Graphic3d_MaterialAspect &theMaterial, const Standard_Boolean theToKeepColor, const Standard_Boolean theToKeepTransp) const
 shape to display More...
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object. More...
 
- Data Fields inherited from PrsMgr_PresentableObject
const gp_PntthePoint
 
- 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)
 
void setGlobalSelMode (const Standard_Integer theMode)
 
virtual void updateSelection (const Standard_Integer theMode)
 
- Protected Member Functions inherited from PrsMgr_PresentableObject
 PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 
virtual ~PrsMgr_PresentableObject ()
 
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)
 High-level interface for controlling polygon offsets. More...
 
virtual void SetCombinedParentTransform (const Handle< Geom_Transformation > &theTrsf)
 Sets myCombinedParentTransform to theTransformation. Thus object receives transformation from parent node and able to derive its own. More...
 
virtual void 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. More...
 
virtual void setLocalTransformation (const Handle< Geom_Transformation > &theTransformation)
 Sets local transformation to theTransformation. More...
 
- Protected Attributes inherited from AIS_InteractiveObject
TColStd_ListOfInteger myToRecomputeModes
 
Standard_Real myOwnWidth
 
Aspect_TypeOfFacingModel myCurrentFacingModel
 
Standard_Boolean myInfiniteState
 
Standard_Boolean hasOwnColor
 
Standard_Boolean hasOwnMaterial
 
Standard_Boolean myRecomputeEveryPrs
 
- Protected Attributes inherited from SelectMgr_SelectableObject
SelectMgr_SequenceOfSelection myselections
 
Handle< SelectMgr_EntityOwnermyAssemblyOwner
 
Handle< Prs3d_PresentationmySelectionPrs
 
Handle< Prs3d_PresentationmyHilightPrs
 
Standard_Boolean myAutoHilight
 
- Protected Attributes inherited from PrsMgr_PresentableObject
PrsMgr_Presentations myPresentations
 
Handle< Graphic3d_SequenceOfHClipPlanemyClipPlanes
 
Handle< Prs3d_DrawermyDrawer
 
Handle< Prs3d_DrawermyHilightDrawer
 
Handle< Prs3d_DrawermyDynHilightDrawer
 
PrsMgr_TypeOfPresentation3d myTypeOfPresentation3d
 
Standard_Boolean myIsMutable
 
Standard_Boolean myHasOwnPresentations
 

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

This class allows to map textures on shapes using native UV parametric space of underlying surface of each Face (this means that texture will be visually duplicated on all Faces). To generate texture coordinates, appropriate shading attribute should be set before computing presentation in AIS_Shaded display mode:

Handle(AIS_Shape) aPrs = new AIS_Shape();
aPrs->Attributes()->SetShadingAspect (new Prs3d_ShadingAspect());
aPrs->Attributes()->ShadingAspect()->Aspect()->SetTextureMapOn();
aPrs->Attributes()->ShadingAspect()->Aspect()->SetTextureMap (new Graphic3d_Texture2Dmanual (Graphic3d_NOT_2D_ALUMINUM));

The texture itself is parametrized in (0,1)x(0,1).

Constructor & Destructor Documentation

◆ AIS_Shape()

AIS_Shape::AIS_Shape ( const TopoDS_Shape shap)

Initializes construction of the shape shap from wires, edges and vertices.

Member Function Documentation

◆ AcceptShapeDecomposition()

virtual Standard_Boolean AIS_Shape::AcceptShapeDecomposition ( ) const
overridevirtual

Returns true if the Interactive Object accepts shape decomposition.

Reimplemented from AIS_InteractiveObject.

◆ BoundingBox()

virtual const Bnd_Box& AIS_Shape::BoundingBox ( )
virtual

Constructs a bounding box with which to reconstruct compound topological shapes for presentation.

◆ Color()

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

Returns the Color attributes of the shape accordingly to the current facing model;.

Reimplemented from AIS_InteractiveObject.

◆ Compute() [1/3]

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

shape to display

Reimplemented from PrsMgr_PresentableObject.

Reimplemented in AIS_TexturedShape, AIS_ColoredShape, and XCAFPrs_AISObject.

◆ Compute() [2/3]

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

shape to display

Reimplemented from PrsMgr_PresentableObject.

◆ Compute() [3/3]

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

shape to display

Reimplemented from PrsMgr_PresentableObject.

◆ ComputeSelection()

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

shape to display

Implements SelectMgr_SelectableObject.

Reimplemented in AIS_ColoredShape.

◆ LoadRecomputable()

void AIS_Shape::LoadRecomputable ( const Standard_Integer  TheMode)
protected

shape to display

◆ Material()

virtual Graphic3d_NameOfMaterial AIS_Shape::Material ( ) const
overridevirtual

Returns the NameOfMaterial attributes of the shape accordingly to the current facing model;.

Reimplemented from AIS_InteractiveObject.

◆ OwnDeviationAngle()

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

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

◆ OwnDeviationCoefficient()

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

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

◆ OwnHLRDeviationAngle()

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

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

◆ OwnHLRDeviationCoefficient()

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

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

◆ SelectionMode()

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

Establishes an equivalence between a mode and the 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

◆ SelectionType()

static TopAbs_ShapeEnum AIS_Shape::SelectionType ( const Standard_Integer  aDecompositionMode)
static

Activates the same TopAbs shape enumerations as those used by SelectionMode assigning a type to the mode aDecompositionMode.

◆ Set()

void AIS_Shape::Set ( const TopoDS_Shape theShape)
inline

Constructs an instance of the shape object theShape.

◆ SetAngleAndDeviation()

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

◆ SetColor()

virtual void AIS_Shape::SetColor ( const Quantity_Color theColor)
overridevirtual

Sets the color aColor in the reconstructed compound shape. Acts via the Drawer methods below on the appearance of:

  • free boundaries: Prs3d_Drawer_FreeBoundaryAspect,
  • isos: Prs3d_Drawer_UIsoAspect, Prs3dDrawer_VIsoAspect,
  • shared boundaries: Prs3d_Drawer_UnFreeBoundaryAspect,
  • shading: Prs3d_Drawer_ShadingAspect,
  • visible line color in hidden line mode: Prs3d_Drawer_SeenLineAspect
  • hidden line color in hidden line mode: Prs3d_Drawer_HiddenLineAspect.

Reimplemented from AIS_InteractiveObject.

Reimplemented in AIS_TexturedShape, and AIS_ColoredShape.

◆ setColor()

void AIS_Shape::setColor ( const Handle< Prs3d_Drawer > &  theDrawer,
const Quantity_Color theColor 
) const
protected

shape to display

◆ SetHLRAngleAndDeviation()

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

◆ SetMaterial()

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

Allows you to provide settings for the material aName in the reconstructed compound shape.

Reimplemented from AIS_InteractiveObject.

Reimplemented in AIS_TexturedShape, AIS_ColoredShape, and XCAFPrs_AISObject.

◆ setMaterial()

void AIS_Shape::setMaterial ( const Handle< Prs3d_Drawer > &  theDrawer,
const Graphic3d_MaterialAspect theMaterial,
const Standard_Boolean  theToKeepColor,
const Standard_Boolean  theToKeepTransp 
) const
protected

shape to display

◆ SetOwnDeviationAngle() [1/2]

Standard_Boolean AIS_Shape::SetOwnDeviationAngle ( )

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

◆ SetOwnDeviationAngle() [2/2]

void AIS_Shape::SetOwnDeviationAngle ( const Standard_Real  anAngle)

sets myOwnDeviationAngle field in Prs3d_Drawer & recomputes presentation

◆ SetOwnDeviationCoefficient() [1/2]

Standard_Boolean AIS_Shape::SetOwnDeviationCoefficient ( )

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

◆ SetOwnDeviationCoefficient() [2/2]

void AIS_Shape::SetOwnDeviationCoefficient ( const Standard_Real  aCoefficient)

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

◆ SetOwnHLRDeviationAngle() [1/2]

Standard_Boolean AIS_Shape::SetOwnHLRDeviationAngle ( )

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

◆ SetOwnHLRDeviationAngle() [2/2]

void AIS_Shape::SetOwnHLRDeviationAngle ( const Standard_Real  anAngle)

sets myOwnHLRDeviationAngle field in Prs3d_Drawer & recomputes presentation

◆ SetOwnHLRDeviationCoefficient() [1/2]

Standard_Boolean AIS_Shape::SetOwnHLRDeviationCoefficient ( )

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

◆ SetOwnHLRDeviationCoefficient() [2/2]

void AIS_Shape::SetOwnHLRDeviationCoefficient ( const Standard_Real  aCoefficient)

sets myOwnHLRDeviationCoefficient field in Prs3d_Drawer & recomputes presentation

◆ SetTextureOriginUV()

void AIS_Shape::SetTextureOriginUV ( const gp_Pnt2d theOriginUV)
inline

Use this method to change the origin of the texture. The texel (0,0) will be mapped to the surface (myUVOrigin.X(), myUVOrigin.Y()).

◆ SetTextureRepeatUV()

void AIS_Shape::SetTextureRepeatUV ( const gp_Pnt2d theRepeatUV)
inline

Sets the number of occurrences of the texture on each face. The texture itself is parameterized in (0,1) by (0,1). Each face of the shape to be textured is parameterized in UV space (Umin,Umax) by (Vmin,Vmax).

◆ SetTextureScaleUV()

void AIS_Shape::SetTextureScaleUV ( const gp_Pnt2d theScaleUV)
inline

Use this method to scale the texture (percent of the face). You can specify a scale factor for both U and V. Example: if you set ScaleU and ScaleV to 0.5 and you enable texture repeat, the texture will appear twice on the face in each direction.

◆ SetTransparency()

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

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

Reimplemented from AIS_InteractiveObject.

Reimplemented in AIS_ColoredShape.

◆ setTransparency()

void AIS_Shape::setTransparency ( const Handle< Prs3d_Drawer > &  theDrawer,
const Standard_Real  theValue 
) const
protected

shape to display

◆ SetTypeOfHLR()

void AIS_Shape::SetTypeOfHLR ( const Prs3d_TypeOfHLR  theTypeOfHLR)
inline

Sets the type of HLR algorithm used by the shape.

◆ SetWidth()

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

Sets the value aValue for line width in the reconstructed compound shape. Changes line aspects for lines-only presentation modes like Wireframe and Bounding Box. Doesn't change face boundary line aspect.

Reimplemented from AIS_InteractiveObject.

Reimplemented in AIS_ColoredShape.

◆ setWidth()

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

shape to display

◆ Shape()

const TopoDS_Shape& AIS_Shape::Shape ( ) const
inline

Returns this shape object.

◆ Signature()

virtual Standard_Integer AIS_Shape::Signature ( ) const
overridevirtual

Returns index 0. This value refers to SHAPE from TopAbs_ShapeEnum.

Reimplemented from AIS_InteractiveObject.

◆ TextureOriginUV()

const gp_Pnt2d& AIS_Shape::TextureOriginUV ( ) const
inline

Return texture origin UV position; (0, 0) by default.

◆ TextureRepeatUV()

const gp_Pnt2d& AIS_Shape::TextureRepeatUV ( ) const
inline

Return texture repeat UV values; (1, 1) by default.

◆ TextureScaleUV()

const gp_Pnt2d& AIS_Shape::TextureScaleUV ( ) const
inline

Return scale factor for UV coordinates; (1, 1) by default.

◆ Transparency()

virtual Standard_Real AIS_Shape::Transparency ( ) const
overridevirtual

Returns the transparency attributes of the shape accordingly to the current facing model;.

Reimplemented from AIS_InteractiveObject.

◆ Type()

virtual AIS_KindOfInteractive AIS_Shape::Type ( ) const
overridevirtual

Returns Object as the type of Interactive Object.

Reimplemented from AIS_InteractiveObject.

◆ TypeOfHLR()

Prs3d_TypeOfHLR AIS_Shape::TypeOfHLR ( ) const
inline

Gets the type of HLR algorithm.

◆ UnsetColor()

virtual void AIS_Shape::UnsetColor ( )
overridevirtual

Removes settings for color in the reconstructed compound shape.

Reimplemented from AIS_InteractiveObject.

Reimplemented in AIS_TexturedShape.

◆ UnsetMaterial()

virtual void AIS_Shape::UnsetMaterial ( )
overridevirtual

Removes settings for material in the reconstructed compound shape.

Reimplemented from AIS_InteractiveObject.

Reimplemented in AIS_TexturedShape.

◆ UnsetTransparency()

virtual void AIS_Shape::UnsetTransparency ( )
overridevirtual

Removes the setting for transparency in the reconstructed compound shape.

Reimplemented from AIS_InteractiveObject.

Reimplemented in AIS_ColoredShape.

◆ UnsetWidth()

virtual void AIS_Shape::UnsetWidth ( )
overridevirtual

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

Reimplemented from AIS_InteractiveObject.

◆ UserAngle()

Standard_Real AIS_Shape::UserAngle ( ) const

gives back the angle initial value put by the User.

Field Documentation

◆ myBB

Bnd_Box AIS_Shape::myBB
protected

cached bounding box of the shape

◆ myCompBB

Standard_Boolean AIS_Shape::myCompBB
protected

if TRUE, then bounding box should be recomputed

◆ myInitAng

Standard_Real AIS_Shape::myInitAng
protected

shape to display

◆ myshape

TopoDS_Shape AIS_Shape::myshape
protected

shape to display

◆ myUVOrigin

gp_Pnt2d AIS_Shape::myUVOrigin
protected

UV origin vector for generating texture coordinates.

◆ myUVRepeat

gp_Pnt2d AIS_Shape::myUVRepeat
protected

UV repeat vector for generating texture coordinates.

◆ myUVScale

gp_Pnt2d AIS_Shape::myUVScale
protected

UV scale vector for generating texture coordinates.


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