Open CASCADE Technology: AIS_Dimension Class Reference

Open CASCADE Technology 6.9.1

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Data Structures | Public Types | Public Member Functions | Protected Types | Protected Member Functions
AIS_Dimension Class Reference

AIS_Dimension is a base class for 2D presentations of linear (length, diameter, radius) and angular dimensions. More...

`#include <AIS_Dimension.hxx>`

Inheritance diagram for AIS_Dimension:
[legend]

## Data Structures
struct | SelectionGeometry
| Selection geometry of dimension presentation. The structure is filled with data during compute of presentation, then this data is used to generate selection sensitives when computing selection. More...

## Public Types
enum | ComputeMode { ComputeMode_All = 0, ComputeMode_Line = 1, ComputeMode_Text = 2 }
| Specifies supported presentation compute modes. Used to compute only parts of presentation for advanced highlighting. More...

## Public Member Functions
| AIS_Dimension (const AIS_KindOfDimension theType)
| Constructor with default parameters values. More...
Standard_Real | GetValue () const
| Gets dimension measurement value. If the value to display is not specified by user, then the dimension object is responsible to compute it on its own in model space coordinates. More...
void | SetCustomValue (const Standard_Real theValue)
| Sets user-defined dimension value. The user-defined dimension value is specified in model space, and affect by unit conversion during the display. More...
const gp_Pln & | GetPlane () const
| Get the dimension plane in which the 2D dimension presentation is computed. By default, if plane is not defined by user, it is computed automatically after dimension geometry is computed. If computed dimension geometry (points) can't be placed on the user-defined plane, dimension geometry was set as invalid (validity flag is set to false) and dimension presentation will not be computed. If user-defined plane allow geometry placement on it, it will be used for computing of the dimension presentation. More...
const Standard_Integer | GetGeometryType () const
| Geometry type defines type of shapes on which the dimension is to be built. More...
virtual void | SetCustomPlane (const gp_Pln &thePlane)
| Sets user-defined plane where the 2D dimension presentation will be placed. Checks validity of this plane if geometry has been set already. Validity of the plane is checked according to the geometry set and has different criteria for different kinds of dimensions. More...
void | UnsetCustomPlane ()
| Unsets user-defined plane. Therefore the plane for dimension will be computed automatically. More...
Standard_Boolean | IsTextPositionCustom () const
virtual void | SetTextPosition (const gp_Pnt &)
| Fixes the absolute text position and adjusts flyout, plane and text alignment according to it. Updates presentation if the text position is valid. ATTENTION! It does not change vertical text alignment. More...
virtual const gp_Pnt | GetTextPosition () const
| Computes absolute text position from dimension parameters (flyout, plane and text alignment). More...
Handle< Prs3d_DimensionAspect > | DimensionAspect () const
| Gets the dimension aspect from AIS object drawer. Dimension aspect contains aspects of line, text and arrows for dimension presentation. More...
void | SetDimensionAspect (const Handle< Prs3d_DimensionAspect > &theDimensionAspect)
| Sets new dimension aspect for the interactive object drawer. The dimension aspect provides dynamic properties which are generally used during computation of dimension presentations. More...
AIS_KindOfDimension | KindOfDimension () const
virtual AIS_KindOfInteractive | Type () const
virtual Standard_Boolean | AcceptDisplayMode (const Standard_Integer theMode) const
| Returns true if the class of objects accepts the display mode theMode. The interactive context can have a default mode of representation for the set of Interactive Objects. This mode may not be accepted by object. More...
AIS_DisplaySpecialSymbol | DisplaySpecialSymbol () const
void | SetDisplaySpecialSymbol (const AIS_DisplaySpecialSymbol theDisplaySpecSymbol)
| Specifies whether to display special symbol or not. More...
Standard_ExtCharacter | SpecialSymbol () const
void | SetSpecialSymbol (const Standard_ExtCharacter theSpecialSymbol)
| Specifies special symbol. More...
virtual const TCollection_AsciiString & | GetDisplayUnits () const
virtual const TCollection_AsciiString & | GetModelUnits () const
virtual void | SetDisplayUnits (const TCollection_AsciiString &)
virtual void | SetModelUnits (const TCollection_AsciiString &)
void | UnsetFixedTextPosition ()
| Unsets user defined text positioning and enables text positioning by other parameters: text alignment, extension size, flyout and custom plane. More...
Standard_Real | SelToleranceForText2d () const
| Returns selection tolerance for text2d: For 2d text selection detection sensitive point with tolerance is used Important! Only for 2d text. More...
void | SetSelToleranceForText2d (const Standard_Real theTol)
| Sets selection tolerance for text2d: For 2d text selection detection sensitive point with tolerance is used to change this tolerance use this method Important! Only for 2d text. More...
Standard_Real | GetFlyout () const
void | SetFlyout (const Standard_Real theFlyout)
| Sets flyout value for dimension. More...
virtual Standard_Boolean | IsValid () const
| Check that the input geometry for dimension is valid and the presentation can be successfully computed. More...
Public Member Functions inherited from AIS_InteractiveObject
virtual Standard_Integer | Signature () const
| Specifies additional characteristics of Interactive Objects. A signature is, in fact, an index with integer values assigned different properties. This method is frequently used in conjuction with Type to give a particular type and signature to an Interactive Object. By default, the Interactive Object has a None type and a signature of 0. Among the datums, this signature is attributed to the shape The remaining datums have the following default signatures: 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. Activation methods for standard selection modes are proposed in the Interactive Context. These include selection by vertex or by edges. For datums with the same behavior as AIS_Shape, such as vetices and edges, we must redefine the virtual method so that AcceptShapeDecomposition returns false. Rule for selection : Mode 0 : Selection of the interactive Object itself Mode 1 : Selection of vertices Mode 2 : Selection Of Edges Mode 3 : Selection Of Wires Mode 4 : Selection Of Faces ... More...
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 void | SetColor (const Quantity_Color &aColor)
virtual void | SetColor (const Quantity_NameOfColor aColor)
| only the interactive obj knowns which Drawer attribute is affected by the color (ex: for a wire, it's the wireaspect field of the drawer, but for a vertex, only the point aspect field is affected by the color) WARNING : Do not forget to set the corresponding fields here (hasOwnColor and myOwnColor) More...
virtual void | UnsetColor ()
| Removes color settings. Only the Interactive Object knows which Drawer attribute is affected by the color setting. For a wire, for example, wire aspect is the attribute affected. For a vertex, however, only point aspect is affected by the color setting. More...
virtual void | SetWidth (const Standard_Real aValue)
| Allows you to provide the setting aValue for width. Only the Interactive Object knows which Drawer attribute is affected by the width setting. More...
virtual void | UnsetWidth ()
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_InteractiveContext > | GetContext () const
| Returns the context pointer to the interactive context. More...
virtual void | SetContext (const Handle< AIS_InteractiveContext > &aCtx)
| Sets the interactive context aCtx and provides a link 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 > &ApplicativeEntity)
| Allows you to attribute the owner ApplicativeEntity to an Interactive Object. This can be a shape for a set of sub-shapes or a sub-shape for sub-shapes which it is composed of. The owner takes the form of a transient. 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 | HasUsers () const
const TColStd_ListOfTransient & | Users () const
void | AddUser (const Handle< Standard_Transient > &aUser)
void | ClearUsers ()
Standard_Boolean | HasDisplayMode () const
| Returns true if the Interactive Object has a display mode setting. Otherwise, it is displayed in Neutral Point. More...
void | SetDisplayMode (const Standard_Integer aMode)
| Sets the display mode aMode for the interactive object. 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 | HasSelectionMode () const
| Allows you to change the selection mode of an Interactive Object. The default selection mode setting is 0. For shapes, for example, the selection modes are as follows: More...
Standard_Integer | SelectionMode () const
| Returns the selection mode of the interactive object. More...
void | SetSelectionMode (const Standard_Integer aMode)
| You can change the default selection mode index aMode of an Interactive Object. This is only of interest if you decide that mode 0 adopted by convention will not do. More...
void | UnsetSelectionMode ()
| You can change the default selection mode index of an Interactive Object. This is only of interest if you decide that the 0 mode adopted by convention will not do. More...
Standard_Integer | SelectionPriority () const
| Returns the selection priority setting. -1 indicates that there is none. You can modify the selection priority of an owner to make one entity more selectionable than another one. The default selection priority for an owner is 5, for example. To increase selection priority, choose a setting between 5 and 10. An entity with priority 7 will take priority over one with a setting of 6 if both objects are selected at the same time. You could give vertices priority 8, edges priority 7, faces priority 6, and shapes priority 5. If a vertex, an edge and a face are simultaneously detected during selection, only the vertex will then be highlighted. For trihedra, for example, the default priorities are the following four: More...
void | SetSelectionPriority (const Standard_Integer aPriority)
| Allows you to provide a setting aPriority for selection priority. You can modify selection priority of an owner to make one entity more selectionable than another one. The default selection priority for an owner is 5, for example. To increase selection priority, choose a setting between 5 and 10. An entity with priority 7 will take priority over one with a setting of 6. More...
void | UnsetSelectionPriority ()
| Removes the setting for selection priority. SelectionPriority then returns -1. More...
Standard_Boolean | HasSelectionPriority () const
| Returns true if there is a setting for selection priority. You can modify selection priority of an owner to make one entity more selectionable than another one. The default selection priority for an owner is 5, for example. To increase selection priority, choose a setting between 5 and 10. An entity with priority 7 will take priority over one with a setting of 6. More...
Standard_Boolean | HasHilightMode () const
| Returns true if the Interactive Object is in highlight mode. More...
Standard_Integer | HilightMode () const
| Returns the setting for highlight mode. At dynamic detection, the presentation echoed by the Interactive Context, is by default the presentation already on the screen. You can specify a Highlight presentation mode which is valid no matter what the active representation of the object. It makes no difference whether this choice is temporary or definitive. To do this, we use the following functions: More...
void | SetHilightMode (const Standard_Integer anIndex)
| Sets the highlight mode anIndex for the interactive object. If, for example, you want to systematically highlight the wireframe presentation of a shape - whether visualized in wireframe presentation or with shading - you set the highlight mode to 0. More...
void | UnsetHilightMode ()
| Allows the user to take a given Prs for hilight ex : for a shape which would be displayed in shading mode the hilight Prs is the wireframe mode. if No specific hilight mode is defined, the displayed Prs will be the hilighted one. More...
Standard_Boolean | HasColor () const
| Returns true if the Interactive Object has color. More...
virtual Quantity_NameOfColor | Color () const
| Returns the color setting of the Interactive Object. More...
virtual void | Color (Quantity_Color &aColor) const
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...
virtual Graphic3d_NameOfMaterial | Material () const
| Returns the current material setting. This will be on of the following materials: More...
virtual void | SetMaterial (const Graphic3d_NameOfMaterial aName)
| Sets the name aName for material defining this display attribute for the interactive object. Material aspect determines shading aspect, color and transparency of visible entities. More...
virtual void | SetMaterial (const Graphic3d_MaterialAspect &aName)
| Sets the material aMat defining this display attribute for the interactive object. Material aspect determines shading aspect, color and transparency of visible entities. More...
virtual void | UnsetMaterial ()
| Removes the setting for material. More...
virtual void | SetTransparency (const Standard_Real aValue=0.6)
| Attributes a setting aValue for transparency. The transparency value should be between 0.0 and 1.0. At 0.0 an object will be totally opaque, and at 1.0, fully transparent. Warning At a value of 1.0, there may be nothing visible. 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 void | UnsetTransparency ()
| Removes the transparency setting. The object is opaque by default. More...
virtual void | UnsetAttributes ()
| Clears settings provided by the drawing tool aDrawer. More...
void | State (const Standard_Integer theState)
Standard_Integer | State () const
Standard_Boolean | HasPresentation () const
| Returns TRUE when this object has a presentation in the current DisplayMode() More...
Handle< Prs3d_Presentation > | Presentation () const
| Returns the current presentation of this object according to the current DisplayMode() More...
void | SetAspect (const Handle< Prs3d_BasicAspect > &anAspect, const Standard_Boolean globalChange=Standard_True)
| Sets the graphic basic aspect to the current presentation. When <globalChange> is TRUE , the full object presentation is changed. When <globalChange> is FALSE , only the current group of the object presentation is changed. More...
virtual void | SetPolygonOffsets (const Standard_Integer aMode, const Standard_ShortReal aFactor=1.0, const Standard_ShortReal aUnits=0.0)
| Sets up polygon offsets for this object. 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)
| Returns bounding box of object correspondingly to its current display mode. More...
Public Member Functions inherited from SelectMgr_SelectableObject
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...
Standard_Boolean | HasSelection (const Standard_Integer aMode) const
| Returns true if a selection corresponding to the selection mode aMode is present in this framework. More...
void | Init ()
| Begins the iteration scanning for sensitive primitives. More...
Standard_Boolean | More () const
| Continues the iteration scanning for sensitive primitives. More...
void | Next ()
| Continues the iteration scanning for sensitive primitives. More...
const Handle< SelectMgr_Selection > & | CurrentSelection () const
| Returns the current selection in this framework. More...
void | ResetTransformation ()
| resets local transformation to identity. More...
virtual void | UpdateTransformation ()
| 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 | HilightOwnerWithColor (const Handle< PrsMgr_PresentationManager3d > &thePM, const Quantity_NameOfColor theColor, 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_Presentation > | GetHilightPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
Handle< Prs3d_Presentation > | GetSelectPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
virtual void | SetZLayer (const Graphic3d_ZLayerId theLayerId)
| 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...
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...
virtual void | SetHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer)
| Initializes the hilight drawing tool theDrawer. More...
const Handle< Prs3d_Drawer > & | HilightAttributes () const
| Returns the hilight attributes settings. More...
virtual void | UnsetHilightAttributes ()
| Clears settings provided by the hilight drawing tool theDrawer. 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 (Handle< SelectMgr_IndexedMapOfOwner > &theOwners)
| Returns a bounding box of sensitive entities with the owners given if they are a part of activated selection. More...
Public Member Functions inherited from PrsMgr_PresentableObject
PrsMgr_Presentations & | Presentations ()
PrsMgr_TypeOfPresentation3d | TypeOfPresentation3d () const
| Returns information on whether the object accepts display in HLR mode or not. More...
virtual void | SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag, const gp_Pnt &APoint)
| Sets up Transform Persistence Mode for this object. This function used to lock in object position, rotation and / or zooming relative to camera position. Object will be drawn in the origin setted by APoint parameter (except Graphic3d_TMF_TriedronPers flag. More...
void | SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag)
| Calls previous method with point (0,0,0) More...
Graphic3d_TransModeFlags | GetTransformPersistenceMode () const
| Gets Transform Persistence Mode for this object. More...
gp_Pnt | GetTransformPersistencePoint () const
| Gets point of transform persistence for this object. More...
void | SetTypeOfPresentation (const PrsMgr_TypeOfPresentation3d aType)
void | SetToUpdate (const Standard_Integer aMode)
| flags the Prs of mode <AMode> to be Updated. the Update will be done when needed. More...
void | SetToUpdate ()
| flags all the Presentations to be Updated. More...
void | ToBeUpdated (TColStd_ListOfInteger &ListOfMode) const
| gives the list of modes which are flagged "to be updated". More...
virtual void | SetLocalTransformation (const gp_Trsf &theTransformation)
| 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 gp_Trsf & | LocalTransformation () const
const gp_Trsf & | Transformation () const
const gp_Trsf & | InversedTransformation () 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 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 substracted from limit to predict the maximum possible number of object clipping planes. More...
const Graphic3d_SequenceOfHClipPlane & | GetClipPlanes () 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...
const 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_ListOfPresentableObjects & | Children () const
| Returns children of the current object. More...
const Standard_Boolean | HasOwnPresentations () const
| Returns true if object should have own presentations. More...
const PrsMgr_PresentableObjectPointer | Parent () const
| Returns parent of current object in scene hierarchy. More...
Public Member Functions inherited from MMgt_TShared
virtual void | Delete () const
| Memory deallocator for transient classes. More...
Public Member Functions inherited from Standard_Transient
| Standard_Transient ()
| Empty constructor. More...
| Standard_Transient (const Standard_Transient &)
| Copy constructor – does nothing. More...
Standard_Transient & | operator= (const Standard_Transient &)
| Assignment operator, needed to avoid copying reference counter. More...
virtual | ~Standard_Transient ()
| Destructor must be virtual. More...
virtual const Handle_Standard_Type & | DynamicType () const
| Returns a type information object about this object. More...
Standard_Boolean | IsInstance (const Handle_Standard_Type &theType) const
| Returns a true value if this is an instance of Type. More...
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const
| Returns a true value if this is an instance of TypeName. More...
Standard_Boolean | IsKind (const Handle_Standard_Type &theType) const
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
Standard_Boolean | IsKind (const Standard_CString theTypeName) const
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
virtual Handle_Standard_Transient | This () const
| Returns a Handle which references this object. Must never be called to objects created in stack. More...
Standard_Integer | GetRefCount () const
| Get the reference counter of this object. More...

## Protected Types
enum | GeometryType { GeometryType_UndefShapes, GeometryType_Edge, GeometryType_Face, GeometryType_Points, GeometryType_Edges, GeometryType_Faces, GeometryType_EdgeFace, GeometryType_EdgeVertex }
| Geometry type defines type of shapes on which the dimension is to be built. Some type of geometry allows automatic plane computing and can be built without user-defined plane Another types can't be built without user-defined plane. More...
enum | LabelPosition { LabelPosition_None = 0x00, LabelPosition_Left = 0x01, LabelPosition_Right = 0x02, LabelPosition_HCenter = 0x04, LabelPosition_HMask = LabelPosition_Left | LabelPosition_Right | LabelPosition_HCenter, LabelPosition_Above = 0x10, LabelPosition_Below = 0x20, LabelPosition_VCenter = 0x40, LabelPosition_VMask = LabelPosition_Above | LabelPosition_Below | LabelPosition_VCenter }
| Specifies supported at base level horizontal and vertical label positions for drawing extension lines and centered text. More...

## Protected Member Functions
Standard_Real | ValueToDisplayUnits () const
TCollection_ExtendedString | GetValueString (Standard_Real &theWidth) const
| Get formatted value string and its model space width. More...
void | DrawArrow (const Handle< Prs3d_Presentation > &thePresentation, const gp_Pnt &theLocation, const gp_Dir &theDirection)
| Performs drawing of 2d or 3d arrows on the working plane. More...
void | DrawText (const Handle< Prs3d_Presentation > &thePresentation, const gp_Pnt &theTextPos, const gp_Dir &theTextDir, const TCollection_ExtendedString &theText, const Standard_Integer theLabelPosition)
| Performs drawing of 2d or 3d text on the working plane. More...
void | DrawExtension (const Handle< Prs3d_Presentation > &thePresentation, const Standard_Real theExtensionSize, const gp_Pnt &theExtensionStart, const gp_Dir &theExtensionDir, const TCollection_ExtendedString &theLabelString, const Standard_Real theLabelWidth, const Standard_Integer theMode, const Standard_Integer theLabelPosition)
| Performs computing of dimension linear extension with text. More...
void | DrawLinearDimension (const Handle< Prs3d_Presentation > &thePresentation, const Standard_Integer theMode, const gp_Pnt &theFirstPoint, const gp_Pnt &theSecondPoint, const Standard_Boolean theIsOneSide=Standard_False)
| Performs computing of linear dimension (for length, diameter, radius and so on). Please note that this method uses base dimension properties, like working plane flyout length, drawer attributes. More...
void | ComputeLinearFlyouts (const Handle< SelectMgr_Selection > &theSelection, const Handle< SelectMgr_EntityOwner > &theOwner, const gp_Pnt &theFirstPoint, const gp_Pnt &theSecondPoint)
| Compute selection sensitives for linear dimension flyout lines (length, diameter, radius). Please note that this method uses base dimension properties: working plane and flyout length. More...
Standard_Boolean | InitCircularDimension (const TopoDS_Shape &theShape, gp_Circ &theCircle, gp_Pnt &theMiddleArcPoint, Standard_Boolean &theIsClosed)
| Performs initialization of circle and middle arc point from the passed shape which is assumed to contain circular geometry. More...
void | PointsForArrow (const gp_Pnt &thePeakPnt, const gp_Dir &theDirection, const gp_Dir &thePlane, const Standard_Real theArrowLength, const Standard_Real theArrowAngle, gp_Pnt &theSidePnt1, gp_Pnt &theSidePnt2)
| Produce points for triangular arrow face. More...
gp_Pnt | GetTextPositionForLinear (const gp_Pnt &theFirstPoint, const gp_Pnt &theSecondPoint, const Standard_Boolean theIsOneSide=Standard_False) const
| Compute point of text position for dimension parameters for linear kinds of dimensions (length, radius, diameter). More...
void | FitTextAlignmentForLinear (const gp_Pnt &theFirstPoint, const gp_Pnt &theSecondPoint, const Standard_Boolean theIsOneSide, const Prs3d_DimensionTextHorizontalPosition &theHorizontalTextPos, Standard_Integer &theLabelPosition, Standard_Boolean &theIsArrowsExternal) const
| Fits text alignment relatively to the dimension line. More...
Standard_Boolean | AdjustParametersForLinear (const gp_Pnt &theTextPos, const gp_Pnt &theFirstPoint, const gp_Pnt &theSecondPoint, Standard_Real &theExtensionSize, Prs3d_DimensionTextHorizontalPosition &theAlignment, Standard_Real &theFlyout, gp_Pln &thePlane, Standard_Boolean &theIsPlaneOld) const
| Adjusts aspect parameters according the text position: extension size, vertical text alignment and flyout. More...
Behavior to implement
virtual void | ComputePlane ()
| Override this method to compute automatically dimension plane in which the dimension presentation is built. More...
virtual Standard_Boolean | CheckPlane (const gp_Pln &) const
| Override this method to check if user-defined plane is valid for the dimension geometry. More...
virtual Standard_Real | ComputeValue () const
| Override this method to computed value of dimension. More...
virtual void | ComputeFlyoutSelection (const Handle< SelectMgr_Selection > &, const Handle< SelectMgr_EntityOwner > &)
| Override this method to compute selection primitives for flyout lines (if the dimension provides it). This callback is a only a part of base selection computation routine. More...
virtual void | ComputeSelection (const Handle< SelectMgr_Selection > &theSelection, const Standard_Integer theMode)
| Base procedure of computing selection (based on selection geometry data). 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 dependant of the view of Display. More...
Protected Member Functions inherited from SelectMgr_SelectableObject
| SelectMgr_SelectableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
Protected Member Functions inherited from PrsMgr_PresentableObject
| PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
virtual | ~PrsMgr_PresentableObject ()
virtual void | Compute (const Handle< PrsMgr_PresentationManager3d > &aPresentationManager, const Handle< Prs3d_Presentation > &aPresentation, const Standard_Integer aMode=0)
| Calculates the 3D view aPresentation and its updates. The latter are managed by aPresentationManager. aPresentableObject has the display mode aMode; this has the default value of 0, that is, the wireframe display mode. More...
virtual void | Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Prs3d_Presentation > &aPresentation)
| Calculates the 3D view aPresentation and its updates. The latter are managed by aPresentationManager. Each of the views in the viewer and every modification such as rotation, for example, entails recalculation. It must be redefined to implement hidden line removal for the object. The user never calls this method himself. This is done via the InteractiveContext object and is dependent on the point of view from which the object is displayed. More...
virtual void | Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Geom_Transformation > &aTrsf, const Handle< Prs3d_Presentation > &aPresentation)
| Calculates the 3D view aPresentation and its updates. The latter are managed by aPresentationManager. A point of view is provided by the projector aProjector, and the geometric transformation which has transformed associated presentable objects is specified by aTrsf. This function is to be used in case where a hidden line removal display cannot be calculated automatically. This occurs when associated presentable objects have been transformed geometrically, but not translated. Warning The transformation aTrsf must be applied to the object before computation. More...
void | Update (const Standard_Boolean AllModes=Standard_False)
| recomputes all presentations of the object. More...
void | Update (const Standard_Integer aMode, const Standard_Boolean ClearOther)
| Recomputes the presentation in the given mode. If ClearOther is true, other presentation will be cleared. More...
virtual void | Fill (const Handle< PrsMgr_PresentationManager > &aPresentationManager, const Handle< PrsMgr_Presentation > &aPresentation, const Standard_Integer aMode=0)
| High-level interface for controlling polygon offsets. More...
virtual void | SetCombinedParentTransform (const gp_Trsf &theTransformation)
| 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...

## Static Protected Member Functions
Static auxilliary methods for geometry extraction
static Standard_Boolean | CircleFromPlanarFace (const TopoDS_Face &theFace, Handle< Geom_Curve > &theCurve, gp_Pnt &theFirstPoint, gp_Pnt &theLastPoint)
| If it is possible extracts circle from planar face. More...
static Standard_Boolean | CircleFromEdge (const TopoDS_Edge &theEdge, gp_Circ &theCircle, gp_Pnt &theFirstPoint, gp_Pnt &theLastPoint)
| If it is possible extracts circle from the edge. More...

## Protected Attributes
Selection geometry
struct AIS_Dimension::SelectionGeometry | mySelectionGeom
| Sensitive point tolerance for 2d text selection. More...
Standard_Real | mySelToleranceForText2d
| Sensitive point tolerance for 2d text selection. More...
Value properties
Standard_Real | myCustomValue
| Value of the dimension (computed or user-defined). More...
Standard_Boolean | myIsValueCustom
| Is user-defined value. More...
Fixed text position properties
gp_Pnt | myFixedTextPosition
| Stores text position fixed by user. More...
Standard_Boolean | myIsTextPositionFixed
| Is the text label position fixed by user. More...
Units properties
Standard_ExtCharacter | mySpecialSymbol
| Special symbol. More...
AIS_DisplaySpecialSymbol | myDisplaySpecialSymbol
| Special symbol display options. More...
Protected Attributes inherited from AIS_InteractiveObject
Standard_Real | myTransparency
Quantity_Color | myOwnColor
Graphic3d_NameOfMaterial | myOwnMaterial
Standard_Integer | myHilightMode
Standard_Real | myOwnWidth
Standard_Boolean | myInfiniteState
Standard_Boolean | hasOwnColor
Standard_Boolean | hasOwnMaterial
Aspect_TypeOfFacingModel | myCurrentFacingModel
Standard_Boolean | myRecomputeEveryPrs
TColStd_ListOfInteger | myToRecomputeModes
Protected Attributes inherited from SelectMgr_SelectableObject
SelectMgr_SequenceOfSelection | myselections
Handle< Prs3d_Drawer > | myDrawer
Handle< Prs3d_Drawer > | myHilightDrawer
Handle< SelectMgr_EntityOwner > | myAssemblyOwner
Protected Attributes inherited from PrsMgr_PresentableObject
PrsMgr_Presentations | myPresentations
PrsMgr_TypeOfPresentation3d | myTypeOfPresentation3d
Graphic3d_SequenceOfHClipPlane | myClipPlanes
Standard_Boolean | myIsMutable
Graphic3d_ZLayerId | myZLayer
Standard_Boolean | myHasOwnPresentations

## Geometrical properties
GeometryType | myGeometryType
| defines type of shapes on which the dimension is to be built. More...
gp_Pln | myPlane
| Plane where dimension will be built (computed or user defined). More...
Standard_Boolean | myIsPlaneCustom
| Is plane defined by user (otherwise it will be computed automatically). More...
Standard_Real | myFlyout
| Flyout distance. More...
Standard_Boolean | myIsGeometryValid
| Is dimension geometry properly defined. More...

## Additional Inherited Members
Static Public Member Functions inherited from SelectMgr_SelectableObject
static void | InitDefaultHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer)
| Initializes theDrawer by default hilight settings. More...

## Detailed Description

AIS_Dimension is a base class for 2D presentations of linear (length, diameter, radius) and angular dimensions.

The dimensions provide measurement of quantities, such as lengths or plane angles. The measurement of dimension "value" is done in model space "as is". These "value" are said to be represented in "model units", which can be specified by user. During the display the measured value converted from "model units" to "display units". The display and model units are stored in common Prs3d_Drawer (drawer of the context) to share it between all dimensions. The specified by user units are stored in the dimension's drawer.

As a drawing, the dimension is composed from the following components:

- Attachment (binding) points. The points where the dimension lines attaches to, for length dimensions the distances are measured between these points.
- Main dimension line. The which extends from the attachment points in "up" direction, and which contains text label on it with value string.
- Flyouts. The lines connecting the attachment points with main dimension line.
- Extension. The lines used to extend the main dimension line in the cases when text or arrows do not fit into the main dimension line due to their size.
- Arrows.

     Linear dimensions:

     extension
      line                                     arrow
          -->|------- main dimension line -------|<--
             |                                   |
             |flyout                       flyout|
             |                                   |
             +-----------------------------------+
    attachment                                attachment
     point                                       point

     Angular dimensions:

                     extension
                        line
                           -->|+++++
                        arrow |     +++
                              |        90(deg) - main dimension line
                       flyout |         +++
                              |           +
                              o---flyout---
                            center         ^
                            point          | extension
                                             line

Being a 2D drawings, the dimensions are created on imaginary plane, called "dimension plane", which can be thought of as reference system of axes (X,Y,N) for constructing the presentation.

The role of axes of the dimension plane is to guide you through the encapsualted automations of presentation building to help you understand how is the presentation will look and how it will be oriented in model space during construction.

Orientation of dimension line in model space relatively to the base shapes is defined with the flyouts. Flyouts specify length of flyout lines and their orientation relatively to the attachment points on the working plane. For linear dimensions: Direction of flyouts is specified with direction of main dimension line (vector from the first attachment to the second attachment) and the normal of the dimension plane. Positive direction of flyouts is defined by vector multiplication: AttachVector * PlaneNormal. For angular dimensions: Flyouts are defined by vectors from the center point to the attachment points. These vectors directions are supposed to be the positive directions of flyouts. Negative flyouts directions means that these vectors should be reversed (and dimension will be built out of the angle constructed with center and two attach points).

The dimension plane can be constructed automatically by application (where possible, it depends on the measured geometry). It can be also set by user. However, if the user-defined plane does not fit the geometry of the dimension (attach points do not belong to it), the dimension could not be built. If it is not possible to compute automatic plane (for example, in case of length between two points) the user is supposed to specify the custom plane.

Since the dimensions feature automated construction procedures from an arbitrary shapes, the interfaces to check the validness are also implemented. Once the measured geometry is specified, the one can inquire the validness status by calling "IsValid()" method. If the result is TRUE, then all of public parameters should be pre-computed and ready. The presentation should be also computable. Otherwise, the parameters may return invalid values. In this case, the presentation will not be computed and displayed.

The dimension support two local selection modes: main dimension line selection and text label selection. These modes can be used to develop interactive modification of dimension presentations. The component highlighting in these selection modes is provided by AIS_DimensionOwner class. Please note that selection is unavailable until the presentation is computed.

The specific drawing attributes are controlled through Prs3d_DimensionAspect. The one can change color, arrows, text and arrow style and specify positioning of value label by setting corresponding values to the aspect.

Such set of parameters that consists of:

- flyout size and direction,
- user-defined dimension plane,
- horizontal and vertical text alignment can be uniquely replaced with text position in 3d space. Therefore, there are methods to convert this set of parameters to the text position and vice versa:
- If the fixed text position is defined by user, called SetTextPosition (theTextPos) method converts this 3d point to the set of parameters including adjusting of the dimension plane (this plane will be automatic plane, NOT user-defined one). If the fixed text position is set, the flag myIsFixedTextPosition is set to TRUE. ATTENSION! myIsFixedTextPosition fixes all parameters of the set from recomputing inside SetMeasureGeometry() methods. Parameters in dimension aspect (they are horizontal text position and extension size) are adjusted on presentation computing step, user-defined values in dimension aspect are not changed. But plane and flyout as dimension position parameters are changed by SetTextPosition() method according with user-defined text position. If parameters from the set are changed by user with calls of setters, it leads to disabling of fixed text position (myIsFixedTextPosition is set to FALSE). If the fixed text position is set and geometry is changed by user (SetMeasureGeometry() method is called) and the geometry doesn't satisfy computed dimension plane, the dimension is not valid.
- If the set of parameters was set by user (may be without the user-defined plane or with it), it can be converted to the text position by calling the method GetTextPosition(). In this case the text position is NOT fixed, and SetMeasureGeometry() without user-defined plane adjusts the automatic plane according input geometry (if it is possible).

## Member Enumeration Documentation

enum AIS_Dimension::ComputeMode

Specifies supported presentation compute modes. Used to compute only parts of presentation for advanced highlighting.

Enumerator
ComputeMode_All | "0" is reserved as neutral mode
ComputeMode_Line | corresponds to selection mode
ComputeMode_Text | corresponds to selection mode

enum AIS_Dimension::GeometryType
| protected

Geometry type defines type of shapes on which the dimension is to be built. Some type of geometry allows automatic plane computing and can be built without user-defined plane Another types can't be built without user-defined plane.

Enumerator
GeometryType_UndefShapes |
GeometryType_Edge |
GeometryType_Face |
GeometryType_Points |
GeometryType_Edges |
GeometryType_Faces |
GeometryType_EdgeFace |
GeometryType_EdgeVertex |

enum AIS_Dimension::LabelPosition
| protected

Specifies supported at base level horizontal and vertical label positions for drawing extension lines and centered text.

Enumerator
LabelPosition_None |
LabelPosition_Left |
LabelPosition_Right |
LabelPosition_HCenter |
LabelPosition_HMask |
LabelPosition_Above |
LabelPosition_Below |
LabelPosition_VCenter |
LabelPosition_VMask |

## Constructor & Destructor Documentation

AIS_Dimension::AIS_Dimension | ( | const AIS_KindOfDimension | theType | ) |

Constructor with default parameters values.

Parameters

  theType | [in] the type of dimension.

## Member Function Documentation

virtual Standard_Boolean AIS_Dimension::AcceptDisplayMode | ( | const Standard_Integer | theMode | ) | const
| inlinevirtual

Returns true if the class of objects accepts the display mode theMode. The interactive context can have a default mode of representation for the set of Interactive Objects. This mode may not be accepted by object.

Reimplemented from AIS_InteractiveObject.

Standard_Boolean AIS_Dimension::AdjustParametersForLinear | ( | const gp_Pnt & | theTextPos,
|  | const gp_Pnt & | theFirstPoint,
|  | const gp_Pnt & | theSecondPoint,
|  | Standard_Real & | theExtensionSize,
|  | Prs3d_DimensionTextHorizontalPosition & | theAlignment,
|  | Standard_Real & | theFlyout,
|  | gp_Pln & | thePlane,
|  | Standard_Boolean & | theIsPlaneOld
| ) |  | const
| protected

Adjusts aspect parameters according the text position: extension size, vertical text alignment and flyout.

Parameters

  theTextPos | [in] the user defined 3d point of text position
  theFirstPoint | [in] the first point of linear measurement.
  theSecondPoint | [in] the second point of linear measurement.
  theExtensionSize | [out] the adjusted extension size
  theAlignment | [out] the horizontal label alignment.
  theFlyout | [out] the adjusted value of flyout.
  thePlane | [out] the new plane that contains theTextPos and attachment points.
  theIsPlaneOld | [out] shows if new plane is computed.

virtual Standard_Boolean AIS_Dimension::CheckPlane | ( | const gp_Pln & |  | ) | const
| inlineprotectedvirtual

Override this method to check if user-defined plane is valid for the dimension geometry.

Parameters

  thePlane | [in] the working plane for positioning every dimension in the application.

Returns
  true is the plane is suitable for building dimension with computed dimension geometry.

Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.

static Standard_Boolean AIS_Dimension::CircleFromEdge | ( | const TopoDS_Edge & | theEdge,
|  | gp_Circ & | theCircle,
|  | gp_Pnt & | theFirstPoint,
|  | gp_Pnt & | theLastPoint
| ) |  |
| staticprotected

If it is possible extracts circle from the edge.

Parameters

  theEdge | [in] input edge to extract circle from
  theCircle | [out] circle
  theFirstPoint | [out] the point of the first parameter of the circlular curve
  theSecondPoint | [out] the point of the last parameter of the circlular curve

Returns
  TRUE in case of successful circle extraction.

static Standard_Boolean AIS_Dimension::CircleFromPlanarFace | ( | const TopoDS_Face & | theFace,
|  | Handle< Geom_Curve > & | theCurve,
|  | gp_Pnt & | theFirstPoint,
|  | gp_Pnt & | theLastPoint
| ) |  |
| staticprotected

If it is possible extracts circle from planar face.

Parameters

  theFace | [in] the planar face
  theCurve | [out] the circular curve
  theFirstPoint | [out] the point of the first parameter of the circlular curve
  theSecondPoint | [out] the point of the last parameter of the circlular curve

Returns
  TRUE in case of successful circle extraction

virtual void AIS_Dimension::ComputeFlyoutSelection | ( | const Handle< SelectMgr_Selection > & | ,
|  | const Handle< SelectMgr_EntityOwner > & |
| ) |  |
| inlineprotectedvirtual

Override this method to compute selection primitives for flyout lines (if the dimension provides it). This callback is a only a part of base selection computation routine.

Reimplemented in AIS_AngleDimension, AIS_LengthDimension, and AIS_DiameterDimension.

void AIS_Dimension::ComputeLinearFlyouts | ( | const Handle< SelectMgr_Selection > & | theSelection,
|  | const Handle< SelectMgr_EntityOwner > & | theOwner,
|  | const gp_Pnt & | theFirstPoint,
|  | const gp_Pnt & | theSecondPoint
| ) |  |
| protected

Compute selection sensitives for linear dimension flyout lines (length, diameter, radius). Please note that this method uses base dimension properties: working plane and flyout length.

Parameters

  theSelection | [in] the selection structure to fill with selection primitives.
  theOwner | [in] the selection entity owner.
  theFirstPoint | [in] the first attach point of linear dimension.
  theSecondPoint | [in] the second attach point of linear dimension.

virtual void AIS_Dimension::ComputePlane | ( |  | ) |
| inlineprotectedvirtual

Override this method to compute automatically dimension plane in which the dimension presentation is built.

Reimplemented in AIS_AngleDimension, AIS_DiameterDimension, and AIS_RadiusDimension.

virtual void AIS_Dimension::ComputeSelection | ( | const Handle< SelectMgr_Selection > & | theSelection,
|  | const Standard_Integer | theMode
| ) |  |
| protectedvirtual

Base procedure of computing selection (based on selection geometry data).

Parameters

  theSelection | [in] the selection structure to will with primitives.
  theMode | [in] the selection mode.

Implements SelectMgr_SelectableObject.

virtual Standard_Real AIS_Dimension::ComputeValue | ( |  | ) | const
| inlineprotectedvirtual

Override this method to computed value of dimension.

Returns
  value from the measured geometry.

Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.

Handle< Prs3d_DimensionAspect > AIS_Dimension::DimensionAspect | ( |  | ) | const
| inline

Gets the dimension aspect from AIS object drawer. Dimension aspect contains aspects of line, text and arrows for dimension presentation.

AIS_DisplaySpecialSymbol AIS_Dimension::DisplaySpecialSymbol | ( |  | ) | const
| inline

Returns
  dimension special symbol display options.

void AIS_Dimension::DrawArrow | ( | const Handle< Prs3d_Presentation > & | thePresentation,
|  | const gp_Pnt & | theLocation,
|  | const gp_Dir & | theDirection
| ) |  |
| protected

Performs drawing of 2d or 3d arrows on the working plane.

Parameters

  theLocation | [in] the location of the arrow tip.
  theDirection | [in] the direction from the tip to the bottom of the arrow.

void AIS_Dimension::DrawExtension | ( | const Handle< Prs3d_Presentation > & | thePresentation,
|  | const Standard_Real | theExtensionSize,
|  | const gp_Pnt & | theExtensionStart,
|  | const gp_Dir & | theExtensionDir,
|  | const TCollection_ExtendedString & | theLabelString,
|  | const Standard_Real | theLabelWidth,
|  | const Standard_Integer | theMode,
|  | const Standard_Integer | theLabelPosition
| ) |  |
| protected

Performs computing of dimension linear extension with text.

Parameters

  thePresentation | [in] the presentation to fill with graphical primitives.
  theExtensionSize | [in] the size of extension line.
  theExtensionStart | [in] the point where extension line connects to dimension.
  theExtensionDir | [in] the direction of extension line.
  theLabelString | [in] the string with value.
  theLabelWidth | [in] the geometrical width computed for value string.
  theMode | [in] the display mode.
  theLabelPosition | [in] position flags for the text label.

void AIS_Dimension::DrawLinearDimension | ( | const Handle< Prs3d_Presentation > & | thePresentation,
|  | const Standard_Integer | theMode,
|  | const gp_Pnt & | theFirstPoint,
|  | const gp_Pnt & | theSecondPoint,
|  | const Standard_Boolean | theIsOneSide = `Standard_False`
| ) |  |
| protected

Performs computing of linear dimension (for length, diameter, radius and so on). Please note that this method uses base dimension properties, like working plane flyout length, drawer attributes.

Parameters

  thePresentation | [in] the presentation to fill with primitives.
  theMode | [in] the presentation compute mode.
  theFirstPoint | [in] the first attach point of linear dimension.
  theSecondPoint | [in] the second attach point of linear dimension.
  theIsOneSide | [in] specifies whether the dimension has only one flyout line.

void AIS_Dimension::DrawText | ( | const Handle< Prs3d_Presentation > & | thePresentation,
|  | const gp_Pnt & | theTextPos,
|  | const gp_Dir & | theTextDir,
|  | const TCollection_ExtendedString & | theText,
|  | const Standard_Integer | theLabelPosition
| ) |  |
| protected

Performs drawing of 2d or 3d text on the working plane.

Parameters

  theTextPos | [in] the position of the text label.
  theTestDir | [in] the direction of the text label.
  theText | [in] the text label string.
  theLabelPosition | [in] the text label vertical and horizontal positioning option respectively to the main dimension line.

Returns
  text width relative to the dimension working plane. For 2d text this value will be zero.

void AIS_Dimension::FitTextAlignmentForLinear | ( | const gp_Pnt & | theFirstPoint,
|  | const gp_Pnt & | theSecondPoint,
|  | const Standard_Boolean | theIsOneSide,
|  | const Prs3d_DimensionTextHorizontalPosition & | theHorizontalTextPos,
|  | Standard_Integer & | theLabelPosition,
|  | Standard_Boolean & | theIsArrowsExternal
| ) |  | const
| protected

Fits text alignment relatively to the dimension line.

Parameters

  theFirstPoint | [in] the first attachment point.
  theSecondPoint | [in] the second attachment point.
  theIsOneSide | [in] is the arrow displayed only on the one side of the dimension.
  theHorizontalTextPos | [in] the text horizontal position (alignment).
  theLabelPosition | [out] the label position, contains bits that defines vertical and horizontal alignment. (for internal usage in count text position)
  theIsArrowExternal | [out] is the arrows external, if arrow orientation in the dimension aspect is Prs3d_DAO_Fit, it fits arrow orientation automatically.

virtual const TCollection_AsciiString& AIS_Dimension::GetDisplayUnits | ( |  | ) | const
| virtual

Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.

Standard_Real AIS_Dimension::GetFlyout | ( |  | ) | const
| inline

Returns
  flyout value for dimension.

const Standard_Integer AIS_Dimension::GetGeometryType | ( |  | ) | const

Geometry type defines type of shapes on which the dimension is to be built.

Returns
  type of geometry on which the dimension will be built.

virtual const TCollection_AsciiString& AIS_Dimension::GetModelUnits | ( |  | ) | const
| virtual

Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.

const gp_Pln& AIS_Dimension::GetPlane | ( |  | ) | const

Get the dimension plane in which the 2D dimension presentation is computed. By default, if plane is not defined by user, it is computed automatically after dimension geometry is computed. If computed dimension geometry (points) can't be placed on the user-defined plane, dimension geometry was set as invalid (validity flag is set to false) and dimension presentation will not be computed. If user-defined plane allow geometry placement on it, it will be used for computing of the dimension presentation.

Returns
  dimension plane used for presentation computing.

virtual const gp_Pnt AIS_Dimension::GetTextPosition | ( |  | ) | const
| inlinevirtual

Computes absolute text position from dimension parameters (flyout, plane and text alignment).

Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.

gp_Pnt AIS_Dimension::GetTextPositionForLinear | ( | const gp_Pnt & | theFirstPoint,
|  | const gp_Pnt & | theSecondPoint,
|  | const Standard_Boolean | theIsOneSide = `Standard_False`
| ) |  | const
| protected

Compute point of text position for dimension parameters for linear kinds of dimensions (length, radius, diameter).

Standard_Real AIS_Dimension::GetValue | ( |  | ) | const
| inline

Gets dimension measurement value. If the value to display is not specified by user, then the dimension object is responsible to compute it on its own in model space coordinates.

Returns
  the dimension value (in model units) which is used during display of the presentation.

TCollection_ExtendedString AIS_Dimension::GetValueString | ( | Standard_Real & | theWidth | ) | const
| protected

Get formatted value string and its model space width.

Parameters

  theWidth | [out] the model space with of the string.

Returns
  formatted dimension value string.

Standard_Boolean AIS_Dimension::InitCircularDimension | ( | const TopoDS_Shape & | theShape,
|  | gp_Circ & | theCircle,
|  | gp_Pnt & | theMiddleArcPoint,
|  | Standard_Boolean & | theIsClosed
| ) |  |
| protected

Performs initialization of circle and middle arc point from the passed shape which is assumed to contain circular geometry.

Parameters

  theShape | [in] the shape to explore.
  theCircle | [out] the circle geometry.
  theMiddleArcPoint | [out] the middle point of the arc.
  theIsClosed | [out] returns TRUE if the geometry is closed circle.

Returns
  TRUE if the the circle is successfully got from the input shape.

Standard_Boolean AIS_Dimension::IsTextPositionCustom | ( |  | ) | const
| inline

Returns
  TRUE if text position is set by user with method SetTextPosition().

virtual Standard_Boolean AIS_Dimension::IsValid | ( |  | ) | const
| inlinevirtual

Check that the input geometry for dimension is valid and the presentation can be successfully computed.

Returns
  TRUE if dimension geometry is ok.

AIS_KindOfDimension AIS_Dimension::KindOfDimension | ( |  | ) | const
| inline

Returns
  the kind of dimension.

void AIS_Dimension::PointsForArrow | ( | const gp_Pnt & | thePeakPnt,
|  | const gp_Dir & | theDirection,
|  | const gp_Dir & | thePlane,
|  | const Standard_Real | theArrowLength,
|  | const Standard_Real | theArrowAngle,
|  | gp_Pnt & | theSidePnt1,
|  | gp_Pnt & | theSidePnt2
| ) |  |
| protected

Produce points for triangular arrow face.

Parameters

  thePeakPnt | [in] the arrow peak position.
  theDirection | [in] the arrow direction.
  thePlane | [in] the face plane.
  theArrowLength | [in] the length of arrow.
  theArrowAngle | [in] the angle of arrow.
  theSidePnt1 | [out] the first side point.
  theSidePnt2 | [out] the second side point.

Standard_Real AIS_Dimension::SelToleranceForText2d | ( |  | ) | const
| inline

Returns selection tolerance for text2d: For 2d text selection detection sensitive point with tolerance is used Important! Only for 2d text.

virtual void AIS_Dimension::SetCustomPlane | ( | const gp_Pln & | thePlane | ) |
| virtual

Sets user-defined plane where the 2D dimension presentation will be placed. Checks validity of this plane if geometry has been set already. Validity of the plane is checked according to the geometry set and has different criteria for different kinds of dimensions.

void AIS_Dimension::SetCustomValue | ( | const Standard_Real | theValue | ) |

Sets user-defined dimension value. The user-defined dimension value is specified in model space, and affect by unit conversion during the display.

Parameters

  theValue | [in] the user-defined value to display.

void AIS_Dimension::SetDimensionAspect | ( | const Handle< Prs3d_DimensionAspect > & | theDimensionAspect | ) |

Sets new dimension aspect for the interactive object drawer. The dimension aspect provides dynamic properties which are generally used during computation of dimension presentations.

void AIS_Dimension::SetDisplaySpecialSymbol | ( | const AIS_DisplaySpecialSymbol | theDisplaySpecSymbol | ) |

Specifies whether to display special symbol or not.

virtual void AIS_Dimension::SetDisplayUnits | ( | const TCollection_AsciiString & |  | ) |
| inlinevirtual

Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.

void AIS_Dimension::SetFlyout | ( | const Standard_Real | theFlyout | ) |

Sets flyout value for dimension.

virtual void AIS_Dimension::SetModelUnits | ( | const TCollection_AsciiString & |  | ) |
| inlinevirtual

Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.

void AIS_Dimension::SetSelToleranceForText2d | ( | const Standard_Real | theTol | ) |

Sets selection tolerance for text2d: For 2d text selection detection sensitive point with tolerance is used to change this tolerance use this method Important! Only for 2d text.

void AIS_Dimension::SetSpecialSymbol | ( | const Standard_ExtCharacter | theSpecialSymbol | ) |

Specifies special symbol.

virtual void AIS_Dimension::SetTextPosition | ( | const gp_Pnt & |  | ) |
| inlinevirtual

Fixes the absolute text position and adjusts flyout, plane and text alignment according to it. Updates presentation if the text position is valid. ATTENTION! It does not change vertical text alignment.

Parameters

  theTextPos | [in] the point of text position.

Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.

Standard_ExtCharacter AIS_Dimension::SpecialSymbol | ( |  | ) | const
| inline

Returns
  special symbol.

virtual AIS_KindOfInteractive AIS_Dimension::Type | ( |  | ) | const
| inlinevirtual

Returns
  the kind of interactive.

Reimplemented from AIS_InteractiveObject.

void AIS_Dimension::UnsetCustomPlane | ( |  | ) |
| inline

Unsets user-defined plane. Therefore the plane for dimension will be computed automatically.

void AIS_Dimension::UnsetFixedTextPosition | ( |  | ) |

Unsets user defined text positioning and enables text positioning by other parameters: text alignment, extension size, flyout and custom plane.

Standard_Real AIS_Dimension::ValueToDisplayUnits | ( |  | ) | const
| protected

## Field Documentation

Standard_Real AIS_Dimension::myCustomValue
| protected

Value of the dimension (computed or user-defined).

AIS_DisplaySpecialSymbol AIS_Dimension::myDisplaySpecialSymbol
| protected

Special symbol display options.

gp_Pnt AIS_Dimension::myFixedTextPosition
| protected

Stores text position fixed by user.

Standard_Real AIS_Dimension::myFlyout
| protected

Flyout distance.

GeometryType AIS_Dimension::myGeometryType
| protected

defines type of shapes on which the dimension is to be built.

Standard_Boolean AIS_Dimension::myIsGeometryValid
| protected

Is dimension geometry properly defined.

Standard_Boolean AIS_Dimension::myIsPlaneCustom
| protected

Is plane defined by user (otherwise it will be computed automatically).

Standard_Boolean AIS_Dimension::myIsTextPositionFixed
| protected

Is the text label position fixed by user.

Standard_Boolean AIS_Dimension::myIsValueCustom
| protected

Is user-defined value.

gp_Pln AIS_Dimension::myPlane
| protected

Plane where dimension will be built (computed or user defined).

struct AIS_Dimension::SelectionGeometry AIS_Dimension::mySelectionGeom
| protected

Sensitive point tolerance for 2d text selection.

Standard_Real AIS_Dimension::mySelToleranceForText2d
| protected

Sensitive point tolerance for 2d text selection.

Standard_ExtCharacter AIS_Dimension::mySpecialSymbol
| protected

Special symbol.

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

- AIS_Dimension.hxx