Open CASCADE Technology  7.7.0
Data Structures | Public Member Functions | Static Public Member Functions | Protected Member Functions
AIS_ViewCube Class Reference

Interactive object for displaying the view manipulation cube. More...

#include <AIS_ViewCube.hxx>

Inheritance diagram for AIS_ViewCube:
Inheritance graph
[legend]

Data Structures

struct  IntegerHasher
 Trivial hasher to avoid ambiguity with enumeration type. More...
 

Public Member Functions

 AIS_ViewCube ()
 Empty constructor. More...
 
const Handle< AIS_AnimationCamera > & ViewAnimation () const
 Return view animation. More...
 
void SetViewAnimation (const Handle< AIS_AnimationCamera > &theAnimation)
 Set view animation. More...
 
Standard_Boolean ToAutoStartAnimation () const
 Return TRUE if automatic camera transformation on selection (highlighting) is enabled; TRUE by default. More...
 
void SetAutoStartAnimation (bool theToEnable)
 Enable/disable automatic camera transformation on selection (highlighting). The automatic logic can be disabled if application wants performing action manually basing on picking results (AIS_ViewCubeOwner). More...
 
Standard_Boolean IsFixedAnimationLoop () const
 Return TRUE if camera animation should be done in uninterruptible loop; TRUE by default. More...
 
void SetFixedAnimationLoop (bool theToEnable)
 Set if camera animation should be done in uninterruptible loop. More...
 
void ResetStyles ()
 Reset all size and style parameters to default. More...
 
Geometry management API
Standard_Real Size () const
 
void SetSize (Standard_Real theValue, Standard_Boolean theToAdaptAnother=true)
 Sets size (width and height) of View cube sides. More...
 
Standard_Real BoxFacetExtension () const
 Return box facet extension to edge/corner facet split; 10 by default. More...
 
void SetBoxFacetExtension (Standard_Real theValue)
 Set new value of box facet extension. More...
 
Standard_Real AxesPadding () const
 Return padding between axes and 3D part (box); 10 by default. More...
 
void SetAxesPadding (Standard_Real theValue)
 Set new value of padding between axes and 3D part (box). More...
 
Standard_Real BoxEdgeGap () const
 Return gap between box edges and box sides; 0 by default. More...
 
void SetBoxEdgeGap (Standard_Real theValue)
 Set new value of box edges gap. More...
 
Standard_Real BoxEdgeMinSize () const
 Return minimal size of box edge; 2 by default. More...
 
void SetBoxEdgeMinSize (Standard_Real theValue)
 Set new value of box edge minimal size. More...
 
Standard_Real BoxCornerMinSize () const
 Return minimal size of box corner; 2 by default. More...
 
void SetBoxCornerMinSize (Standard_Real theValue)
 Set new value of box corner minimal size. More...
 
Standard_Real RoundRadius () const
 Return relative radius of side corners (round rectangle); 0.0 by default. The value in within [0, 0.5] range meaning absolute radius = RoundRadius() / Size(). More...
 
void SetRoundRadius (const Standard_Real theValue)
 Set relative radius of View Cube sides corners (round rectangle). The value should be within [0, 0.5] range. More...
 
Standard_Real AxesRadius () const
 Returns radius of axes of the trihedron; 1.0 by default. More...
 
void SetAxesRadius (const Standard_Real theRadius)
 Sets radius of axes of the trihedron. More...
 
Standard_Real AxesConeRadius () const
 Returns radius of cone of axes of the trihedron; 3.0 by default. More...
 
void SetAxesConeRadius (Standard_Real theRadius)
 Sets radius of cone of axes of the trihedron. More...
 
Standard_Real AxesSphereRadius () const
 Returns radius of sphere (central point) of the trihedron; 4.0 by default. More...
 
void SetAxesSphereRadius (Standard_Real theRadius)
 Sets radius of sphere (central point) of the trihedron. More...
 
Standard_Boolean ToDrawAxes () const
 
void SetDrawAxes (Standard_Boolean theValue)
 Enable/disable drawing of trihedron. More...
 
Standard_Boolean ToDrawEdges () const
 
void SetDrawEdges (Standard_Boolean theValue)
 Enable/disable drawing of edges of View Cube. More...
 
Standard_Boolean ToDrawVertices () const
 Return TRUE if vertices (vertex) of View Cube is drawn; TRUE by default. More...
 
void SetDrawVertices (Standard_Boolean theValue)
 Enable/disable drawing of vertices (corners) of View Cube. More...
 
Standard_Boolean IsYup () const
 Return TRUE if application expects Y-up viewer orientation instead of Z-up; FALSE by default. More...
 
void SetYup (Standard_Boolean theIsYup, Standard_Boolean theToUpdateLabels=Standard_True)
 Set if application expects Y-up viewer orientation instead of Z-up. More...
 
Style management API
const Handle< Prs3d_ShadingAspect > & BoxSideStyle () const
 Return shading style of box sides. More...
 
const Handle< Prs3d_ShadingAspect > & BoxEdgeStyle () const
 Return shading style of box edges. More...
 
const Handle< Prs3d_ShadingAspect > & BoxCornerStyle () const
 Return shading style of box corners. More...
 
const Quantity_ColorBoxColor () const
 Return value of front color for the 3D part of object. More...
 
void SetBoxColor (const Quantity_Color &theColor)
 Set new value of front color for the 3D part of object. More...
 
Standard_Real BoxTransparency () const
 Return transparency for 3D part of object. More...
 
void SetBoxTransparency (Standard_Real theValue)
 Set new value of transparency for 3D part of object. More...
 
const Quantity_ColorInnerColor () const
 Return color of sides back material. More...
 
void SetInnerColor (const Quantity_Color &theColor)
 Set color of sides back material. Alias for: More...
 
TCollection_AsciiString BoxSideLabel (V3d_TypeOfOrientation theSide) const
 Return box side label or empty string if undefined. Default labels: FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM. More...
 
void SetBoxSideLabel (const V3d_TypeOfOrientation theSide, const TCollection_AsciiString &theLabel)
 Set box side label. More...
 
const Quantity_ColorTextColor () const
 Return text color of labels of box sides; BLACK by default. More...
 
void SetTextColor (const Quantity_Color &theColor)
 Set color of text labels on box sides. Alias for: More...
 
const TCollection_AsciiStringFont () const
 Return font name that is used for displaying of sides and axes text. Alias for: More...
 
void SetFont (const TCollection_AsciiString &theFont)
 Set font name that is used for displaying of sides and axes text. Alias for: More...
 
Standard_Real FontHeight () const
 Return height of font. More...
 
void SetFontHeight (Standard_Real theValue)
 Change font height. Alias for: More...
 
TCollection_AsciiString AxisLabel (Prs3d_DatumParts theAxis) const
 Return axes labels or empty string if undefined. Default labels: X, Y, Z. More...
 
void SetAxesLabels (const TCollection_AsciiString &theX, const TCollection_AsciiString &theY, const TCollection_AsciiString &theZ)
 Set axes labels. More...
 
virtual void SetColor (const Quantity_Color &theColor) override
 Set new value of color for the whole object. More...
 
virtual void UnsetColor () override
 Reset color for the whole object. More...
 
virtual void SetTransparency (const Standard_Real theValue) override
 Set new value of transparency for the whole object. More...
 
virtual void UnsetTransparency () override
 Reset transparency for the whole object. More...
 
virtual void SetMaterial (const Graphic3d_MaterialAspect &theMat) override
 Sets the material for the interactive object. More...
 
virtual void UnsetMaterial () override
 Sets the material for the interactive object. More...
 
Presentation computation
virtual Standard_Boolean AcceptDisplayMode (const Standard_Integer theMode) const override
 Return TRUE for supported display mode. More...
 
virtual Handle< SelectMgr_EntityOwnerGlobalSelOwner () const override
 Global selection has no meaning for this class. More...
 
virtual void Compute (const Handle< PrsMgr_PresentationManager > &thePrsMgr, const Handle< Prs3d_Presentation > &thePrs, const Standard_Integer theMode=0) override
 Compute 3D part of View Cube. More...
 
virtual void ComputeSelection (const Handle< SelectMgr_Selection > &theSelection, const Standard_Integer theMode) override
 Redefine computing of sensitive entities for View Cube. More...
 
virtual Standard_Boolean IsAutoHilight () const override
 Disables auto highlighting to use HilightSelected() and HilightOwnerWithColor() overridden methods. More...
 
virtual void ClearSelected () override
 Method which clear all selected owners belonging to this selectable object. More...
 
virtual void HilightOwnerWithColor (const Handle< PrsMgr_PresentationManager > &thePM, const Handle< Prs3d_Drawer > &theStyle, const Handle< SelectMgr_EntityOwner > &theOwner) override
 Method which highlights input owner belonging to this selectable object. More...
 
virtual void HilightSelected (const Handle< PrsMgr_PresentationManager > &thePM, const SelectMgr_SequenceOfOwner &theSeq) override
 Method which draws selected owners. More...
 
virtual void UnsetAttributes () override
 Set default parameters for visual attributes. More...
 
virtual void UnsetHilightAttributes () override
 Set default parameters for dynamic highlighting attributes, reset highlight attributes. More...
 
- Public Member Functions inherited from AIS_InteractiveObject
virtual AIS_KindOfInteractive Type () const
 Returns the kind of Interactive Object; AIS_KindOfInteractive_None by default. More...
 
virtual Standard_Integer Signature () const
 Specifies additional characteristics of Interactive Object of Type(); -1 by default. Among the datums, this signature is attributed to the shape. The remaining datums have the following default signatures: 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...
 
Standard_Boolean HasInteractiveContext () const
 Indicates whether the Interactive Object has a pointer to an interactive context. More...
 
AIS_InteractiveContextInteractiveContext () 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...
 
virtual Standard_Boolean ProcessDragging (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView, const Handle< SelectMgr_EntityOwner > &theOwner, const Graphic3d_Vec2i &theDragFrom, const Graphic3d_Vec2i &theDragTo, const AIS_DragAction theAction)
 Drag object in the viewer. More...
 
Handle< AIS_InteractiveContextGetContext () const
 Returns the context pointer to the interactive context. 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 DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const override
 Dumps the content of me into the stream. More...
 
- Public Member Functions inherited from SelectMgr_SelectableObject
virtual ~SelectMgr_SelectableObject ()
 Clears all selections of the object. More...
 
virtual Standard_Boolean AcceptShapeDecomposition () const
 Informs the graphic context that the interactive Object may be decomposed into sub-shapes for dynamic selection. The most used Interactive Object is AIS_Shape. 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 theMode) const
 Returns the selection having specified selection mode or NULL. More...
 
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...
 
const SelectMgr_SequenceOfSelectionSelections () const
 Return the sequence of selections. 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 ClearDynamicHighlight (const Handle< PrsMgr_PresentationManager > &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 SetAutoHilight (const Standard_Boolean theAutoHilight)
 Set AutoHilight property to true or false. More...
 
Handle< Prs3d_PresentationGetHilightPresentation (const Handle< PrsMgr_PresentationManager > &thePrsMgr)
 Creates or returns existing presentation for highlighting detected object. More...
 
Handle< Prs3d_PresentationGetSelectPresentation (const Handle< PrsMgr_PresentationManager > &thePrsMgr)
 Creates or returns existing presentation for highlighting selected object. More...
 
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...
 
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; 0 by default. More...
 
virtual const Handle< SelectMgr_EntityOwner > & GetAssemblyOwner () const
 Returns common entity owner if the object is an assembly. More...
 
- Public Member Functions inherited from PrsMgr_PresentableObject
PrsMgr_PresentationsPresentations ()
 Return presentations. More...
 
Graphic3d_ZLayerId ZLayer () const
 Get ID of Z layer for main presentation. 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 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...
 
const Handle< Graphic3d_ViewAffinity > & ViewAffinity () const
 Return view affinity mask. More...
 
Standard_Boolean HasDisplayMode () const
 Returns true if the Interactive Object has display mode setting overriding global setting (within Interactive Context). More...
 
Standard_Integer DisplayMode () const
 Returns the display mode setting of the Interactive Object. The range of supported display mode indexes should be specified within object definition and filtered by AccepDisplayMode(). More...
 
void SetDisplayMode (const Standard_Integer theMode)
 Sets the display mode for the interactive object. An object can have its own temporary display mode, which is different from that proposed by the interactive context. More...
 
void UnsetDisplayMode ()
 Removes display mode settings from the interactive object. 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...
 
virtual Standard_Integer DefaultDisplayMode () const
 Returns the default display mode. More...
 
Standard_Boolean ToBeUpdated (Standard_Boolean theToIncludeHidden=Standard_False) const
 Returns TRUE if any active presentation has invalidation flag. More...
 
void SetToUpdate (Standard_Integer theMode)
 Flags presentation to be updated; UpdatePresentations() will recompute these presentations. More...
 
void SetToUpdate ()
 flags all the Presentations to be Updated. More...
 
Standard_Boolean IsInfinite () const
 Returns true if the interactive object is infinite; FALSE by default. This flag affects various operations operating on bounding box of graphic presentations of this object. For instance, infinite objects are not taken in account for View FitAll. This does not necessarily means that object is actually infinite, auxiliary objects might be also marked with this flag to achieve desired behavior. More...
 
void SetInfiniteState (const Standard_Boolean theFlag=Standard_True)
 Sets if object should be considered as infinite. More...
 
PrsMgr_TypeOfPresentation3d TypeOfPresentation3d () const
 Returns information on whether the object accepts display in HLR mode or not. More...
 
void SetTypeOfPresentation (const PrsMgr_TypeOfPresentation3d theType)
 Set type of presentation. More...
 
PrsMgr_DisplayStatus DisplayStatus () const
 Return presentation display status; PrsMgr_DisplayStatus_None by default. More...
 
const Handle< Prs3d_Drawer > & Attributes () const
 Returns the attributes settings. More...
 
virtual void SetAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the drawing tool theDrawer. 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::HighlightStyle(). 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::HighlightStyle(). More...
 
virtual void SetDynamicHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the dynamic hilight drawing tool. More...
 
void SynchronizeAspects ()
 Synchronize presentation aspects after their modification. More...
 
const Handle< Graphic3d_TransformPers > & TransformPersistence () const
 Returns Transformation Persistence defining a special Local Coordinate system where this presentable object is located or NULL handle if not defined. Position of the object having Transformation Persistence is mutable and depends on camera position. The same applies to a bounding box of the object. More...
 
virtual void SetTransformPersistence (const Handle< Graphic3d_TransformPers > &theTrsfPers)
 Sets up Transform Persistence defining a special Local Coordinate system where this object should be located. Note that management of Transform Persistence object is more expensive than of the normal one, because it requires its position being recomputed basing on camera position within each draw call / traverse. More...
 
const Handle< TopLoc_Datum3D > & LocalTransformationGeom () const
 Return the local transformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
void SetLocalTransformation (const gp_Trsf &theTrsf)
 Sets local transformation to theTransformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
void SetLocalTransformation (const Handle< TopLoc_Datum3D > &theTrsf)
 Sets local transformation to theTransformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
Standard_Boolean HasTransformation () const
 Returns true if object has a transformation that is different from the identity. More...
 
const Handle< TopLoc_Datum3D > & TransformationGeom () const
 Return the transformation taking into account transformation of parent object(s). Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
const gp_TrsfLocalTransformation () const
 Return the local transformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
const gp_TrsfTransformation () const
 Return the transformation taking into account transformation of parent object(s). Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
const gp_GTrsfInversedTransformation () const
 Return inversed transformation. More...
 
const Handle< TopLoc_Datum3D > & CombinedParentTransformation () const
 Return combined parent transformation. More...
 
const Handle< Graphic3d_SequenceOfHClipPlane > & ClipPlanes () const
 Get clip planes. 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...
 
virtual void AddClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane)
 Adds clip plane for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be subtracted from limit to predict the maximum possible number of object clipping planes. More...
 
virtual void RemoveClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane)
 Removes previously added clip plane. More...
 
PrsMgr_PresentableObjectParent () const
 Returns parent of current object in scene hierarchy. More...
 
const PrsMgr_ListOfPresentableObjectsChildren () const
 Returns children of the current object. More...
 
virtual void AddChild (const Handle< PrsMgr_PresentableObject > &theObject)
 Makes theObject child of current object in scene hierarchy. More...
 
void AddChildWithCurrentTransformation (const Handle< PrsMgr_PresentableObject > &theObject)
 Makes theObject child of current object in scene hierarchy with keeping the current global transformation So the object keeps the same position/orientation in the global CS. More...
 
virtual void RemoveChild (const Handle< PrsMgr_PresentableObject > &theObject)
 Removes theObject from children of current object in scene hierarchy. More...
 
void RemoveChildWithRestoreTransformation (const Handle< PrsMgr_PresentableObject > &theObject)
 Removes theObject from children of current object in scene hierarchy with keeping the current global transformation. So the object keeps the same position/orientation in the global CS. More...
 
Standard_Boolean HasOwnPresentations () const
 Returns true if object should have own presentations. More...
 
virtual void BoundingBox (Bnd_Box &theBndBox)
 Returns bounding box of object correspondingly to its current display mode. This method requires presentation to be already computed, since it relies on bounding box of presentation structures, which are supposed to be same/close amongst different display modes of this object. More...
 
void SetIsoOnTriangulation (const Standard_Boolean theIsEnabled)
 Enables or disables on-triangulation build of isolines according to the flag given. More...
 
Aspect_TypeOfFacingModel CurrentFacingModel () const
 Returns the current facing model which is in effect. More...
 
void SetCurrentFacingModel (const Aspect_TypeOfFacingModel theModel=Aspect_TOFM_BOTH_SIDE)
 change the current facing model apply on polygons for SetColor(), SetTransparency(), SetMaterial() methods default facing model is Aspect_TOFM_TWO_SIDE. This mean that attributes is applying both on the front and back face. More...
 
Standard_Boolean HasColor () const
 Returns true if the Interactive Object has color. More...
 
virtual void Color (Quantity_Color &theColor) const
 Returns the color setting of the Interactive Object. 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...
 
virtual void SetWidth (const Standard_Real theWidth)
 Allows you to provide the setting aValue for width. Only the Interactive Object knows which Drawer attribute is affected by the width setting. More...
 
virtual void UnsetWidth ()
 Reset width to default value. More...
 
Standard_Boolean HasMaterial () const
 Returns true if the Interactive Object has a setting for material. More...
 
virtual Graphic3d_NameOfMaterial Material () const
 Returns the current material setting as enumeration value. More...
 
Standard_Boolean IsTransparent () const
 Returns true if there is a transparency setting. More...
 
virtual Standard_Real Transparency () const
 Returns the transparency setting. This will be between 0.0 and 1.0. At 0.0 an object will be totally opaque, and at 1.0, fully transparent. 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 SetPolygonOffsets (const Standard_Integer aMode, const Standard_ShortReal aFactor=1.0, const Standard_ShortReal aUnits=0.0)
 Sets up polygon offsets for this object. More...
 
void ToBeUpdated (TColStd_ListOfInteger &ListOfMode) const
 gives the list of modes which are flagged "to be updated". More...
 
Standard_Boolean ToPropagateVisualState () const
 Get value of the flag "propagate visual state" It means that the display/erase/color visual state is propagated automatically to all children; by default, the flag is true. More...
 
void SetPropagateVisualState (const Standard_Boolean theFlag)
 Change the value of the flag "propagate visual state". 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 bool IsBoxSide (V3d_TypeOfOrientation theOrient)
 Return TRUE if specified orientation belongs to box side. More...
 
static bool IsBoxEdge (V3d_TypeOfOrientation theOrient)
 Return TRUE if specified orientation belongs to box edge. More...
 
static bool IsBoxCorner (V3d_TypeOfOrientation theOrient)
 Return TRUE if specified orientation belongs to box corner (vertex). 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...
 

Protected Member Functions

void setDefaultAttributes ()
 Set default visual attributes. More...
 
void setDefaultHighlightAttributes ()
 Set default dynamic highlight properties. More...
 
protected virtual API
virtual void onAfterAnimation ()
 Method that is called after one step of transformation. More...
 
virtual void onAnimationFinished ()
 Method that is called after transformation finish. More...
 
- 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 dependent on the view of Display. More...
 
void SetDisplayStatus (PrsMgr_DisplayStatus theStatus)
 Set presentation display status. More...
 
- Protected Member Functions inherited from SelectMgr_SelectableObject
 SelectMgr_SelectableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 Protected empty constructor. More...
 
void setGlobalSelMode (const Standard_Integer theMode)
 Override global selection mode. More...
 
virtual void UpdateClipping () override
 Update clipping planes state. More...
 
virtual void updateSelection (const Standard_Integer theMode)
 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...
 
- Protected Member Functions inherited from PrsMgr_PresentableObject
void Update (Standard_Boolean theToIncludeHidden=Standard_False)
 Recomputes all presentations of the object. More...
 
void Update (Standard_Integer theMode, Standard_Boolean theToClearOther)
 Recomputes the presentation in the given mode. More...
 
 PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 Protected empty constructor. More...
 
virtual ~PrsMgr_PresentableObject ()
 Destructor. More...
 
virtual void Fill (const Handle< PrsMgr_PresentationManager > &thePrsMgr, const Handle< PrsMgr_Presentation > &thePrs, const Standard_Integer theMode)
 Fills the given 3D view presentation for specified display mode using Compute() method. In addition, configures other properties of presentation (transformation, clipping planes). More...
 
virtual void computeHLR (const Handle< Graphic3d_Camera > &theProjector, const Handle< TopLoc_Datum3D > &theTrsf, const Handle< Prs3d_Presentation > &thePrs)
 Calculates hidden line removal presentation for specific camera position. Each of the views in the viewer and every modification such as rotation, for example, entails recalculation. Default implementation throws Standard_NotImplemented exception Warning! The transformation must be applied to the object before computation. More...
 
Standard_Boolean UpdatePresentations (Standard_Boolean theToIncludeHidden=Standard_False)
 Recomputes invalidated presentations of the object. More...
 
virtual void SetCombinedParentTransform (const Handle< TopLoc_Datum3D > &theTrsf)
 Sets myCombinedParentTransform to theTransformation. Thus object receives transformation from parent node and able to derive its own. More...
 
virtual void setLocalTransformation (const Handle< TopLoc_Datum3D > &theTransformation)
 Sets local transformation to theTransformation. More...
 
void recomputeComputed () const
 Recompute computed (HLR) presentations (when view is in computed mode). More...
 
void replaceAspects (const Graphic3d_MapOfAspectsToAspects &theMap)
 Replace aspects of existing (computed) presentation groups, so that the new aspects can be applied without recomputing presentation. It is NOT recommended approach, because user has to fill such map and then search for each occurrence in computed groups. The recommended approach is computing presentation with necessary customized aspects, and then modify them directly followed by SynchronizeAspects() call. More...
 

Protected Attributes

Animation options
Handle< AIS_AnimationCameramyViewAnimation
 Camera animation object. More...
 
Handle< Graphic3d_CameramyStartState
 Start state of view camera. More...
 
Handle< Graphic3d_CameramyEndState
 End state of view camera. More...
 
Standard_Boolean myToAutoStartAnim
 start animation automatically on click More...
 
Standard_Boolean myIsFixedAnimation
 fixed-loop animation More...
 
Standard_Boolean myToFitSelected
 fit selected or fit entire scene More...
 
Standard_Boolean myToResetCameraUp
 always reset camera up direction to default More...
 
- Protected Attributes inherited from AIS_InteractiveObject
AIS_InteractiveContextmyCTXPtr
 pointer to Interactive Context, where object is currently displayed; More...
 
Handle< Standard_TransientmyOwner
 application-specific owner object More...
 
- Protected Attributes inherited from SelectMgr_SelectableObject
SelectMgr_SequenceOfSelection myselections
 list of selections More...
 
Handle< Prs3d_PresentationmySelectionPrs
 optional presentation for highlighting selected object More...
 
Handle< Prs3d_PresentationmyHilightPrs
 optional presentation for highlighting detected object More...
 
Standard_Integer myGlobalSelMode
 global selection mode More...
 
Standard_Boolean myAutoHilight
 auto-highlighting flag defining More...
 
- Protected Attributes inherited from PrsMgr_PresentableObject
PrsMgr_PresentableObjectmyParent
 pointer to the parent object More...
 
PrsMgr_Presentations myPresentations
 list of presentations More...
 
Handle< Graphic3d_ViewAffinitymyViewAffinity
 view affinity mask More...
 
Handle< Graphic3d_SequenceOfHClipPlanemyClipPlanes
 sequence of object-specific clipping planes More...
 
Handle< Prs3d_DrawermyDrawer
 main presentation attributes More...
 
Handle< Prs3d_DrawermyHilightDrawer
 (optional) custom presentation attributes for highlighting selected object More...
 
Handle< Prs3d_DrawermyDynHilightDrawer
 (optional) custom presentation attributes for highlighting detected object More...
 
Handle< Graphic3d_TransformPersmyTransformPersistence
 transformation persistence More...
 
Handle< TopLoc_Datum3DmyLocalTransformation
 local transformation relative to parent object More...
 
Handle< TopLoc_Datum3DmyTransformation
 absolute transformation of this object (combined parents + local transformations) More...
 
Handle< TopLoc_Datum3DmyCombinedParentTransform
 transformation of parent object (combined for all parents) More...
 
PrsMgr_ListOfPresentableObjects myChildren
 list of children More...
 
gp_GTrsf myInvTransformation
 inversion of absolute transformation (combined parents + local transformations) More...
 
PrsMgr_TypeOfPresentation3d myTypeOfPresentation3d
 presentation type More...
 
PrsMgr_DisplayStatus myDisplayStatus
 presentation display status More...
 
Aspect_TypeOfFacingModel myCurrentFacingModel
 current facing model More...
 
Standard_ShortReal myOwnWidth
 custom width value More...
 
Standard_Boolean hasOwnColor
 own color flag More...
 
Standard_Boolean hasOwnMaterial
 own material flag More...
 
Standard_Boolean myInfiniteState
 infinite flag More...
 
Standard_Boolean myIsMutable
 mutable flag More...
 
Standard_Boolean myHasOwnPresentations
 flag indicating if object should have own presentations More...
 
Standard_Boolean myToPropagateVisualState
 flag indicating if visual state (display/erase/color) should be propagated to all children More...
 

animation methods

Standard_Real Duration () const
 Return duration of animation in seconds; 0.5 sec by default. More...
 
void SetDuration (Standard_Real theValue)
 Set duration of animation. More...
 
Standard_Boolean ToResetCameraUp () const
 Return TRUE if new camera Up direction should be always set to default value for a new camera Direction; FALSE by default. When this flag is FALSE, the new camera Up will be set as current Up orthogonalized to the new camera Direction, and will set to default Up on second click. More...
 
void SetResetCamera (Standard_Boolean theToReset)
 Set if new camera Up direction should be always set to default value for a new camera Direction. More...
 
Standard_Boolean ToFitSelected () const
 Return TRUE if animation should fit selected objects and FALSE to fit entire scene; TRUE by default. More...
 
void SetFitSelected (Standard_Boolean theToFitSelected)
 Set if animation should fit selected objects or to fit entire scene. More...
 
Standard_Boolean HasAnimation () const
 
virtual void StartAnimation (const Handle< AIS_ViewCubeOwner > &theOwner)
 Start camera transformation corresponding to the input detected owner. More...
 
virtual Standard_Boolean UpdateAnimation (const Standard_Boolean theToUpdate)
 Perform one step of current camera transformation. theToUpdate [in] enable/disable update of view. More...
 
virtual void HandleClick (const Handle< AIS_ViewCubeOwner > &theOwner)
 Perform camera transformation corresponding to the input detected owner. More...
 
Standard_Boolean updateAnimation ()
 Perform internal single step of animation. More...
 
virtual void viewFitAll (const Handle< V3d_View > &theView, const Handle< Graphic3d_Camera > &theCamera)
 Fit selected/all into view. More...
 

Auxiliary classes to fill presentation with proper primitives

NCollection_DataMap< V3d_TypeOfOrientation, TCollection_AsciiString, IntegerHashermyBoxSideLabels
 map with box side labels More...
 
NCollection_DataMap< Prs3d_DatumParts, TCollection_AsciiString, IntegerHashermyAxesLabels
 map with axes labels More...
 
Handle< Prs3d_ShadingAspectmyBoxEdgeAspect
 style for box edges More...
 
Handle< Prs3d_ShadingAspectmyBoxCornerAspect
 style for box corner More...
 
Standard_Real mySize
 size of box side, length of one axis More...
 
Standard_Real myBoxEdgeMinSize
 minimal size of box edge More...
 
Standard_Real myBoxEdgeGap
 gap between box side and box edge More...
 
Standard_Real myBoxFacetExtension
 box facet extension More...
 
Standard_Real myAxesPadding
 Padding between box and axes. More...
 
Standard_Real myAxesRadius
 radius of axes of the trihedron; 1.0 by default More...
 
Standard_Real myAxesConeRadius
 radius of cone of axes of the trihedron; 3.0 by default More...
 
Standard_Real myAxesSphereRadius
 radius of sphere (central point) of the trihedron; 4.0 by default More...
 
Standard_Real myCornerMinSize
 minimal size of box corner More...
 
Standard_Real myRoundRadius
 relative round radius within [0; 0.5] range More...
 
Standard_Boolean myToDisplayAxes
 trihedron visibility More...
 
Standard_Boolean myToDisplayEdges
 box edges visibility More...
 
Standard_Boolean myToDisplayVertices
 box corners (vertices) visibility More...
 
Standard_Boolean myIsYup
 flag indicating that application expects Y-up viewer orientation instead of Z-up More...
 
virtual void createBoxPartTriangles (const Handle< Graphic3d_ArrayOfTriangles > &theTris, Standard_Integer &theNbNodes, Standard_Integer &theNbTris, V3d_TypeOfOrientation theDir) const
 Create triangulation for a box part - for presentation and selection purposes. More...
 
virtual void createBoxSideTriangles (const Handle< Graphic3d_ArrayOfTriangles > &theTris, Standard_Integer &theNbNodes, Standard_Integer &theNbTris, V3d_TypeOfOrientation theDir) const
 Create triangulation for a box side. More...
 
virtual void createBoxEdgeTriangles (const Handle< Graphic3d_ArrayOfTriangles > &theTris, Standard_Integer &theNbNodes, Standard_Integer &theNbTris, V3d_TypeOfOrientation theDir) const
 Create triangulation for a box edge. More...
 
virtual void createBoxCornerTriangles (const Handle< Graphic3d_ArrayOfTriangles > &theTris, Standard_Integer &theNbNodes, Standard_Integer &theNbTris, V3d_TypeOfOrientation theDir) const
 Create triangulation for a box corner (vertex). More...
 
static void createRoundRectangleTriangles (const Handle< Graphic3d_ArrayOfTriangles > &theTris, Standard_Integer &theNbNodes, Standard_Integer &theNbTris, const gp_XY &theSize, Standard_Real theRadius, const gp_Trsf &theTrsf)
 Create triangulation for a rectangle with round corners. More...
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object. More...
 
- Static Protected Member Functions inherited from PrsMgr_PresentableObject
static const gp_TrsfgetIdentityTrsf ()
 Return the identity transformation. More...
 

Detailed Description

Interactive object for displaying the view manipulation cube.

View cube consists of several parts that are responsible for different camera manipulations:

The object is expected to behave like a trihedron in the view corner, therefore its position should be defined using transformation persistence flags:

View Cube parts are sensitive to detection, or dynamic highlighting (but not selection), and every its owner AIS_ViewCubeOwner corresponds to camera transformation.

for (aViewCube->StartAnimation (aDetectedOwner); aViewCube->HasAnimation(); )
{
aViewCube->UpdateAnimation();
... // updating of application window
}

or

aViewCube->HandleClick (aDetectedOwner);

that includes transformation loop. This loop allows external actions like application updating. For this purpose AIS_ViewCube has virtual interface onAfterAnimation(), that is to be redefined on application level.

Constructor & Destructor Documentation

◆ AIS_ViewCube()

AIS_ViewCube::AIS_ViewCube ( )

Empty constructor.

Member Function Documentation

◆ AcceptDisplayMode()

virtual Standard_Boolean AIS_ViewCube::AcceptDisplayMode ( const Standard_Integer  theMode) const
inlineoverridevirtual

Return TRUE for supported display mode.

Reimplemented from PrsMgr_PresentableObject.

◆ AxesConeRadius()

Standard_Real AIS_ViewCube::AxesConeRadius ( ) const
inline

Returns radius of cone of axes of the trihedron; 3.0 by default.

◆ AxesPadding()

Standard_Real AIS_ViewCube::AxesPadding ( ) const
inline

Return padding between axes and 3D part (box); 10 by default.

◆ AxesRadius()

Standard_Real AIS_ViewCube::AxesRadius ( ) const
inline

Returns radius of axes of the trihedron; 1.0 by default.

◆ AxesSphereRadius()

Standard_Real AIS_ViewCube::AxesSphereRadius ( ) const
inline

Returns radius of sphere (central point) of the trihedron; 4.0 by default.

◆ AxisLabel()

TCollection_AsciiString AIS_ViewCube::AxisLabel ( Prs3d_DatumParts  theAxis) const
inline

Return axes labels or empty string if undefined. Default labels: X, Y, Z.

◆ BoxColor()

const Quantity_Color& AIS_ViewCube::BoxColor ( ) const
inline

Return value of front color for the 3D part of object.

◆ BoxCornerMinSize()

Standard_Real AIS_ViewCube::BoxCornerMinSize ( ) const
inline

Return minimal size of box corner; 2 by default.

◆ BoxCornerStyle()

const Handle< Prs3d_ShadingAspect >& AIS_ViewCube::BoxCornerStyle ( ) const
inline

Return shading style of box corners.

◆ BoxEdgeGap()

Standard_Real AIS_ViewCube::BoxEdgeGap ( ) const
inline

Return gap between box edges and box sides; 0 by default.

◆ BoxEdgeMinSize()

Standard_Real AIS_ViewCube::BoxEdgeMinSize ( ) const
inline

Return minimal size of box edge; 2 by default.

◆ BoxEdgeStyle()

const Handle< Prs3d_ShadingAspect >& AIS_ViewCube::BoxEdgeStyle ( ) const
inline

Return shading style of box edges.

◆ BoxFacetExtension()

Standard_Real AIS_ViewCube::BoxFacetExtension ( ) const
inline

Return box facet extension to edge/corner facet split; 10 by default.

◆ BoxSideLabel()

TCollection_AsciiString AIS_ViewCube::BoxSideLabel ( V3d_TypeOfOrientation  theSide) const
inline

Return box side label or empty string if undefined. Default labels: FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM.

◆ BoxSideStyle()

const Handle< Prs3d_ShadingAspect >& AIS_ViewCube::BoxSideStyle ( ) const
inline

Return shading style of box sides.

◆ BoxTransparency()

Standard_Real AIS_ViewCube::BoxTransparency ( ) const
inline

Return transparency for 3D part of object.

◆ ClearSelected()

virtual void AIS_ViewCube::ClearSelected ( )
inlineoverridevirtual

Method which clear all selected owners belonging to this selectable object.

Warning
this object does not support selection.

Reimplemented from SelectMgr_SelectableObject.

◆ Compute()

virtual void AIS_ViewCube::Compute ( const Handle< PrsMgr_PresentationManager > &  thePrsMgr,
const Handle< Prs3d_Presentation > &  thePrs,
const Standard_Integer  theMode = 0 
)
overridevirtual

Compute 3D part of View Cube.

Parameters
thePrsMgr[in] presentation manager.
thePrs[in] input presentation that is to be filled with flat presentation primitives.
theMode[in] display mode.
Warning
this object accept only 0 display mode.

Implements PrsMgr_PresentableObject.

◆ ComputeSelection()

virtual void AIS_ViewCube::ComputeSelection ( const Handle< SelectMgr_Selection > &  theSelection,
const Standard_Integer  theMode 
)
overridevirtual

Redefine computing of sensitive entities for View Cube.

Parameters
theSelection[in] input selection object that is to be filled with sensitive entities.
theMode[in] selection mode.
Warning
object accepts only 0 selection mode.

Implements SelectMgr_SelectableObject.

◆ createBoxCornerTriangles()

virtual void AIS_ViewCube::createBoxCornerTriangles ( const Handle< Graphic3d_ArrayOfTriangles > &  theTris,
Standard_Integer theNbNodes,
Standard_Integer theNbTris,
V3d_TypeOfOrientation  theDir 
) const
protectedvirtual

Create triangulation for a box corner (vertex).

Parameters
theTris[in,out] triangulation to fill, or NULL to return size
theNbNodes[in,out] should be incremented by a number of nodes defining this triangulation
theNbTris[in,out] should be incremented by a number of triangles defining this triangulation
theDir[in] part to define

◆ createBoxEdgeTriangles()

virtual void AIS_ViewCube::createBoxEdgeTriangles ( const Handle< Graphic3d_ArrayOfTriangles > &  theTris,
Standard_Integer theNbNodes,
Standard_Integer theNbTris,
V3d_TypeOfOrientation  theDir 
) const
protectedvirtual

Create triangulation for a box edge.

Parameters
theTris[in,out] triangulation to fill, or NULL to return size
theNbNodes[in,out] should be incremented by a number of nodes defining this triangulation
theNbTris[in,out] should be incremented by a number of triangles defining this triangulation
theDir[in] part to define

◆ createBoxPartTriangles()

virtual void AIS_ViewCube::createBoxPartTriangles ( const Handle< Graphic3d_ArrayOfTriangles > &  theTris,
Standard_Integer theNbNodes,
Standard_Integer theNbTris,
V3d_TypeOfOrientation  theDir 
) const
protectedvirtual

Create triangulation for a box part - for presentation and selection purposes.

Parameters
theTris[in,out] triangulation to fill, or NULL to return size
theNbNodes[in,out] should be incremented by a number of nodes defining this triangulation
theNbTris[in,out] should be incremented by a number of triangles defining this triangulation
theDir[in] part to define

◆ createBoxSideTriangles()

virtual void AIS_ViewCube::createBoxSideTriangles ( const Handle< Graphic3d_ArrayOfTriangles > &  theTris,
Standard_Integer theNbNodes,
Standard_Integer theNbTris,
V3d_TypeOfOrientation  theDir 
) const
protectedvirtual

Create triangulation for a box side.

Parameters
theTris[in,out] triangulation to fill, or NULL to return size
theNbNodes[in,out] should be incremented by a number of nodes defining this triangulation
theNbTris[in,out] should be incremented by a number of triangles defining this triangulation
theDir[in] part to define

◆ createRoundRectangleTriangles()

static void AIS_ViewCube::createRoundRectangleTriangles ( const Handle< Graphic3d_ArrayOfTriangles > &  theTris,
Standard_Integer theNbNodes,
Standard_Integer theNbTris,
const gp_XY theSize,
Standard_Real  theRadius,
const gp_Trsf theTrsf 
)
staticprotected

Create triangulation for a rectangle with round corners.

Parameters
theTris[in,out] triangulation to fill, or NULL to return size
theNbNodes[in,out] should be incremented by a number of nodes defining this triangulation
theNbTris[in,out] should be incremented by a number of triangles defining this triangulation
theSize[in] rectangle dimensions
theRadius[in] radius at corners
theTrsf[in] transformation

◆ Duration()

Standard_Real AIS_ViewCube::Duration ( ) const

Return duration of animation in seconds; 0.5 sec by default.

◆ Font()

const TCollection_AsciiString& AIS_ViewCube::Font ( ) const
inline

Return font name that is used for displaying of sides and axes text. Alias for:

Attributes()->TextAspect()->Aspect()->SetFont()

◆ FontHeight()

Standard_Real AIS_ViewCube::FontHeight ( ) const
inline

Return height of font.

◆ GlobalSelOwner()

virtual Handle< SelectMgr_EntityOwner > AIS_ViewCube::GlobalSelOwner ( ) const
inlineoverridevirtual

Global selection has no meaning for this class.

Reimplemented from SelectMgr_SelectableObject.

◆ HandleClick()

virtual void AIS_ViewCube::HandleClick ( const Handle< AIS_ViewCubeOwner > &  theOwner)
virtual

Perform camera transformation corresponding to the input detected owner.

◆ HasAnimation()

Standard_Boolean AIS_ViewCube::HasAnimation ( ) const
Returns
TRUE if View Cube has unfinished animation of view camera.

◆ HilightOwnerWithColor()

virtual void AIS_ViewCube::HilightOwnerWithColor ( const Handle< PrsMgr_PresentationManager > &  thePM,
const Handle< Prs3d_Drawer > &  theStyle,
const Handle< SelectMgr_EntityOwner > &  theOwner 
)
overridevirtual

Method which highlights input owner belonging to this selectable object.

Parameters
thePM[in] presentation manager
theStyle[in] style for dynamic highlighting.
theOwner[in] input entity owner.

Reimplemented from SelectMgr_SelectableObject.

◆ HilightSelected()

virtual void AIS_ViewCube::HilightSelected ( const Handle< PrsMgr_PresentationManager > &  thePM,
const SelectMgr_SequenceOfOwner theSeq 
)
overridevirtual

Method which draws selected owners.

Reimplemented from SelectMgr_SelectableObject.

◆ InnerColor()

const Quantity_Color& AIS_ViewCube::InnerColor ( ) const
inline

Return color of sides back material.

◆ IsAutoHilight()

virtual Standard_Boolean AIS_ViewCube::IsAutoHilight ( ) const
inlineoverridevirtual

Disables auto highlighting to use HilightSelected() and HilightOwnerWithColor() overridden methods.

Reimplemented from SelectMgr_SelectableObject.

◆ IsBoxCorner()

static bool AIS_ViewCube::IsBoxCorner ( V3d_TypeOfOrientation  theOrient)
static

Return TRUE if specified orientation belongs to box corner (vertex).

◆ IsBoxEdge()

static bool AIS_ViewCube::IsBoxEdge ( V3d_TypeOfOrientation  theOrient)
static

Return TRUE if specified orientation belongs to box edge.

◆ IsBoxSide()

static bool AIS_ViewCube::IsBoxSide ( V3d_TypeOfOrientation  theOrient)
static

Return TRUE if specified orientation belongs to box side.

◆ IsFixedAnimationLoop()

Standard_Boolean AIS_ViewCube::IsFixedAnimationLoop ( ) const
inline

Return TRUE if camera animation should be done in uninterruptible loop; TRUE by default.

◆ IsYup()

Standard_Boolean AIS_ViewCube::IsYup ( ) const
inline

Return TRUE if application expects Y-up viewer orientation instead of Z-up; FALSE by default.

◆ onAfterAnimation()

virtual void AIS_ViewCube::onAfterAnimation ( )
inlineprotectedvirtual

Method that is called after one step of transformation.

◆ onAnimationFinished()

virtual void AIS_ViewCube::onAnimationFinished ( )
inlineprotectedvirtual

Method that is called after transformation finish.

◆ ResetStyles()

void AIS_ViewCube::ResetStyles ( )

Reset all size and style parameters to default.

Warning
It doesn't reset position of View Cube

◆ RoundRadius()

Standard_Real AIS_ViewCube::RoundRadius ( ) const
inline

Return relative radius of side corners (round rectangle); 0.0 by default. The value in within [0, 0.5] range meaning absolute radius = RoundRadius() / Size().

◆ SetAutoStartAnimation()

void AIS_ViewCube::SetAutoStartAnimation ( bool  theToEnable)
inline

Enable/disable automatic camera transformation on selection (highlighting). The automatic logic can be disabled if application wants performing action manually basing on picking results (AIS_ViewCubeOwner).

◆ SetAxesConeRadius()

void AIS_ViewCube::SetAxesConeRadius ( Standard_Real  theRadius)
inline

Sets radius of cone of axes of the trihedron.

◆ SetAxesLabels()

void AIS_ViewCube::SetAxesLabels ( const TCollection_AsciiString theX,
const TCollection_AsciiString theY,
const TCollection_AsciiString theZ 
)
inline

Set axes labels.

◆ SetAxesPadding()

void AIS_ViewCube::SetAxesPadding ( Standard_Real  theValue)
inline

Set new value of padding between axes and 3D part (box).

◆ SetAxesRadius()

void AIS_ViewCube::SetAxesRadius ( const Standard_Real  theRadius)
inline

Sets radius of axes of the trihedron.

◆ SetAxesSphereRadius()

void AIS_ViewCube::SetAxesSphereRadius ( Standard_Real  theRadius)
inline

Sets radius of sphere (central point) of the trihedron.

◆ SetBoxColor()

void AIS_ViewCube::SetBoxColor ( const Quantity_Color theColor)
inline

Set new value of front color for the 3D part of object.

Parameters
theColor[in] input color value.

◆ SetBoxCornerMinSize()

void AIS_ViewCube::SetBoxCornerMinSize ( Standard_Real  theValue)
inline

Set new value of box corner minimal size.

◆ SetBoxEdgeGap()

void AIS_ViewCube::SetBoxEdgeGap ( Standard_Real  theValue)
inline

Set new value of box edges gap.

◆ SetBoxEdgeMinSize()

void AIS_ViewCube::SetBoxEdgeMinSize ( Standard_Real  theValue)
inline

Set new value of box edge minimal size.

◆ SetBoxFacetExtension()

void AIS_ViewCube::SetBoxFacetExtension ( Standard_Real  theValue)
inline

Set new value of box facet extension.

◆ SetBoxSideLabel()

void AIS_ViewCube::SetBoxSideLabel ( const V3d_TypeOfOrientation  theSide,
const TCollection_AsciiString theLabel 
)
inline

Set box side label.

◆ SetBoxTransparency()

void AIS_ViewCube::SetBoxTransparency ( Standard_Real  theValue)
inline

Set new value of transparency for 3D part of object.

Parameters
theValue[in] input transparency value

◆ SetColor()

virtual void AIS_ViewCube::SetColor ( const Quantity_Color theColor)
inlineoverridevirtual

Set new value of color for the whole object.

Parameters
theColor[in] input color value.

Reimplemented from PrsMgr_PresentableObject.

◆ setDefaultAttributes()

void AIS_ViewCube::setDefaultAttributes ( )
protected

Set default visual attributes.

◆ setDefaultHighlightAttributes()

void AIS_ViewCube::setDefaultHighlightAttributes ( )
protected

Set default dynamic highlight properties.

◆ SetDrawAxes()

void AIS_ViewCube::SetDrawAxes ( Standard_Boolean  theValue)
inline

Enable/disable drawing of trihedron.

◆ SetDrawEdges()

void AIS_ViewCube::SetDrawEdges ( Standard_Boolean  theValue)
inline

Enable/disable drawing of edges of View Cube.

◆ SetDrawVertices()

void AIS_ViewCube::SetDrawVertices ( Standard_Boolean  theValue)
inline

Enable/disable drawing of vertices (corners) of View Cube.

◆ SetDuration()

void AIS_ViewCube::SetDuration ( Standard_Real  theValue)

Set duration of animation.

Parameters
theValue[in] input value of duration in seconds

◆ SetFitSelected()

void AIS_ViewCube::SetFitSelected ( Standard_Boolean  theToFitSelected)
inline

Set if animation should fit selected objects or to fit entire scene.

◆ SetFixedAnimationLoop()

void AIS_ViewCube::SetFixedAnimationLoop ( bool  theToEnable)
inline

Set if camera animation should be done in uninterruptible loop.

◆ SetFont()

void AIS_ViewCube::SetFont ( const TCollection_AsciiString theFont)
inline

Set font name that is used for displaying of sides and axes text. Alias for:

Attributes()->TextAspect()->SetFont()

◆ SetFontHeight()

void AIS_ViewCube::SetFontHeight ( Standard_Real  theValue)
inline

Change font height. Alias for:

Attributes()->TextAspect()->SetHeight()

◆ SetInnerColor()

void AIS_ViewCube::SetInnerColor ( const Quantity_Color theColor)
inline

Set color of sides back material. Alias for:

Attributes()->ShadingAspect()->Aspect()->ChangeBackMaterial().SetColor()

◆ SetMaterial()

virtual void AIS_ViewCube::SetMaterial ( const Graphic3d_MaterialAspect theMat)
inlineoverridevirtual

Sets the material for the interactive object.

Reimplemented from PrsMgr_PresentableObject.

◆ SetResetCamera()

void AIS_ViewCube::SetResetCamera ( Standard_Boolean  theToReset)
inline

Set if new camera Up direction should be always set to default value for a new camera Direction.

◆ SetRoundRadius()

void AIS_ViewCube::SetRoundRadius ( const Standard_Real  theValue)

Set relative radius of View Cube sides corners (round rectangle). The value should be within [0, 0.5] range.

◆ SetSize()

void AIS_ViewCube::SetSize ( Standard_Real  theValue,
Standard_Boolean  theToAdaptAnother = true 
)

Sets size (width and height) of View cube sides.

Parameters
theToAdaptAnotherif TRUE, then other parameters will be adapted to specified size

◆ SetTextColor()

void AIS_ViewCube::SetTextColor ( const Quantity_Color theColor)
inline

Set color of text labels on box sides. Alias for:

Attributes()->TextAspect()->SetColor()

◆ SetTransparency()

virtual void AIS_ViewCube::SetTransparency ( const Standard_Real  theValue)
inlineoverridevirtual

Set new value of transparency for the whole object.

Parameters
theValue[in] input transparency value.

Reimplemented from PrsMgr_PresentableObject.

◆ SetViewAnimation()

void AIS_ViewCube::SetViewAnimation ( const Handle< AIS_AnimationCamera > &  theAnimation)
inline

Set view animation.

◆ SetYup()

void AIS_ViewCube::SetYup ( Standard_Boolean  theIsYup,
Standard_Boolean  theToUpdateLabels = Standard_True 
)

Set if application expects Y-up viewer orientation instead of Z-up.

◆ Size()

Standard_Real AIS_ViewCube::Size ( void  ) const
inline
Returns
size (width and height) of View cube sides; 100 by default.

◆ StartAnimation()

virtual void AIS_ViewCube::StartAnimation ( const Handle< AIS_ViewCubeOwner > &  theOwner)
virtual

Start camera transformation corresponding to the input detected owner.

Parameters
theOwner[in] detected owner.

◆ TextColor()

const Quantity_Color& AIS_ViewCube::TextColor ( ) const
inline

Return text color of labels of box sides; BLACK by default.

◆ ToAutoStartAnimation()

Standard_Boolean AIS_ViewCube::ToAutoStartAnimation ( ) const
inline

Return TRUE if automatic camera transformation on selection (highlighting) is enabled; TRUE by default.

◆ ToDrawAxes()

Standard_Boolean AIS_ViewCube::ToDrawAxes ( ) const
inline
Returns
TRUE if trihedron is drawn; TRUE by default.

◆ ToDrawEdges()

Standard_Boolean AIS_ViewCube::ToDrawEdges ( ) const
inline
Returns
TRUE if edges of View Cube is drawn; TRUE by default.

◆ ToDrawVertices()

Standard_Boolean AIS_ViewCube::ToDrawVertices ( ) const
inline

Return TRUE if vertices (vertex) of View Cube is drawn; TRUE by default.

◆ ToFitSelected()

Standard_Boolean AIS_ViewCube::ToFitSelected ( ) const
inline

Return TRUE if animation should fit selected objects and FALSE to fit entire scene; TRUE by default.

◆ ToResetCameraUp()

Standard_Boolean AIS_ViewCube::ToResetCameraUp ( ) const
inline

Return TRUE if new camera Up direction should be always set to default value for a new camera Direction; FALSE by default. When this flag is FALSE, the new camera Up will be set as current Up orthogonalized to the new camera Direction, and will set to default Up on second click.

◆ UnsetAttributes()

virtual void AIS_ViewCube::UnsetAttributes ( )
inlineoverridevirtual

Set default parameters for visual attributes.

See also
Attributes()

Reimplemented from PrsMgr_PresentableObject.

◆ UnsetColor()

virtual void AIS_ViewCube::UnsetColor ( )
inlineoverridevirtual

Reset color for the whole object.

Reimplemented from PrsMgr_PresentableObject.

◆ UnsetHilightAttributes()

virtual void AIS_ViewCube::UnsetHilightAttributes ( )
inlineoverridevirtual

Set default parameters for dynamic highlighting attributes, reset highlight attributes.

Reimplemented from PrsMgr_PresentableObject.

◆ UnsetMaterial()

virtual void AIS_ViewCube::UnsetMaterial ( )
inlineoverridevirtual

Sets the material for the interactive object.

Reimplemented from PrsMgr_PresentableObject.

◆ UnsetTransparency()

virtual void AIS_ViewCube::UnsetTransparency ( )
inlineoverridevirtual

Reset transparency for the whole object.

Reimplemented from PrsMgr_PresentableObject.

◆ UpdateAnimation()

virtual Standard_Boolean AIS_ViewCube::UpdateAnimation ( const Standard_Boolean  theToUpdate)
virtual

Perform one step of current camera transformation. theToUpdate [in] enable/disable update of view.

Returns
TRUE if animation is not stopped.

◆ updateAnimation()

Standard_Boolean AIS_ViewCube::updateAnimation ( )
protected

Perform internal single step of animation.

Returns
FALSE if animation has been finished

◆ ViewAnimation()

const Handle< AIS_AnimationCamera >& AIS_ViewCube::ViewAnimation ( ) const
inline

Return view animation.

◆ viewFitAll()

virtual void AIS_ViewCube::viewFitAll ( const Handle< V3d_View > &  theView,
const Handle< Graphic3d_Camera > &  theCamera 
)
protectedvirtual

Fit selected/all into view.

Parameters
theView[in] view definition to retrieve scene bounding box
theCamera[in,out] camera definition

Field Documentation

◆ myAxesConeRadius

Standard_Real AIS_ViewCube::myAxesConeRadius
protected

radius of cone of axes of the trihedron; 3.0 by default

◆ myAxesLabels

map with axes labels

◆ myAxesPadding

Standard_Real AIS_ViewCube::myAxesPadding
protected

Padding between box and axes.

◆ myAxesRadius

Standard_Real AIS_ViewCube::myAxesRadius
protected

radius of axes of the trihedron; 1.0 by default

◆ myAxesSphereRadius

Standard_Real AIS_ViewCube::myAxesSphereRadius
protected

radius of sphere (central point) of the trihedron; 4.0 by default

◆ myBoxCornerAspect

Handle< Prs3d_ShadingAspect > AIS_ViewCube::myBoxCornerAspect
protected

style for box corner

◆ myBoxEdgeAspect

Handle< Prs3d_ShadingAspect > AIS_ViewCube::myBoxEdgeAspect
protected

style for box edges

◆ myBoxEdgeGap

Standard_Real AIS_ViewCube::myBoxEdgeGap
protected

gap between box side and box edge

◆ myBoxEdgeMinSize

Standard_Real AIS_ViewCube::myBoxEdgeMinSize
protected

minimal size of box edge

◆ myBoxFacetExtension

Standard_Real AIS_ViewCube::myBoxFacetExtension
protected

box facet extension

◆ myBoxSideLabels

map with box side labels

◆ myCornerMinSize

Standard_Real AIS_ViewCube::myCornerMinSize
protected

minimal size of box corner

◆ myEndState

Handle< Graphic3d_Camera > AIS_ViewCube::myEndState
protected

End state of view camera.

◆ myIsFixedAnimation

Standard_Boolean AIS_ViewCube::myIsFixedAnimation
protected

fixed-loop animation

◆ myIsYup

Standard_Boolean AIS_ViewCube::myIsYup
protected

flag indicating that application expects Y-up viewer orientation instead of Z-up

◆ myRoundRadius

Standard_Real AIS_ViewCube::myRoundRadius
protected

relative round radius within [0; 0.5] range

◆ mySize

Standard_Real AIS_ViewCube::mySize
protected

size of box side, length of one axis

◆ myStartState

Handle< Graphic3d_Camera > AIS_ViewCube::myStartState
protected

Start state of view camera.

◆ myToAutoStartAnim

Standard_Boolean AIS_ViewCube::myToAutoStartAnim
protected

start animation automatically on click

◆ myToDisplayAxes

Standard_Boolean AIS_ViewCube::myToDisplayAxes
protected

trihedron visibility

◆ myToDisplayEdges

Standard_Boolean AIS_ViewCube::myToDisplayEdges
protected

box edges visibility

◆ myToDisplayVertices

Standard_Boolean AIS_ViewCube::myToDisplayVertices
protected

box corners (vertices) visibility

◆ myToFitSelected

Standard_Boolean AIS_ViewCube::myToFitSelected
protected

fit selected or fit entire scene

◆ myToResetCameraUp

Standard_Boolean AIS_ViewCube::myToResetCameraUp
protected

always reset camera up direction to default

◆ myViewAnimation

Handle< AIS_AnimationCamera > AIS_ViewCube::myViewAnimation
protected

Camera animation object.


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