|
Open CASCADE Technology
6.7.1
|
AIS_Dimension is a base class for 2D presentations of linear (length, diameter, radius) and angular dimensions. More...
#include <AIS_Dimension.hxx>

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 <br> Objects. A signature is, in fact, an index with integer | |
| virtual Standard_Boolean | AcceptShapeDecomposition () const |
Informs the graphic context that the interactive Object <br> may be decomposed into sub-shapes for dynamic selection. | |
| void | SetCurrentFacingModel (const Aspect_TypeOfFacingModel aModel=Aspect_TOFM_BOTH_SIDE) |
change the current facing model apply on polygons for <br> SetColor(), SetTransparency(), SetMaterial() methods | |
| 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 <br> knows which Drawer attribute is affected by the color | |
| virtual void | SetWidth (const Standard_Real aValue) |
Allows you to provide the setting aValue for width. <br> Only the Interactive Object knows which Drawer | |
| virtual void | UnsetWidth () |
| virtual Standard_Integer | DefaultDisplayMode () const |
Returns the default display mode. This method is to <br> be implemented when the main mode is not mode 0. | |
| void | Redisplay (const Standard_Boolean AllModes=Standard_False) |
| Updates the active presentation; if <AllModes> = Standard_True all the presentations inside are recomputed. More... | |
| void | SetInfiniteState (const Standard_Boolean aFlag=Standard_True) |
Sets the infinite state flag aFlage. <br> if <aFlag> = True , the interactiveObject is | |
| Standard_Boolean | IsInfinite () const |
| Returns true if the interactive object is infinite. In this case, its graphic presentations are not taken into account in the fit-all view. More... | |
| Standard_Boolean | HasInteractiveContext () const |
Indicates whether the Interactive Object has a pointer <br> to an interactive context. | |
| Handle_AIS_InteractiveContext | GetContext () const |
| Returns the context pointer to the interactive context. More... | |
| virtual void | SetContext (const Handle< AIS_InteractiveContext > &aCtx) |
Sets the interactive context aCtx and provides a link <br> to the default drawing tool or "Drawer" if there is none. | |
| Standard_Boolean | HasOwner () const |
Returns true if the object has an owner attributed to it. <br> The owner can be a shape for a set of sub-shapes or | |
| const Handle_Standard_Transient & | GetOwner () const |
Returns the owner of the Interactive Object. <br> The owner can be a shape for a set of sub-shapes or | |
| void | SetOwner (const Handle< Standard_Transient > &ApplicativeEntity) |
Allows you to attribute the owner ApplicativeEntity to <br> an Interactive Object. This can be a shape for a set of | |
| void | ClearOwner () |
Each Interactive Object has methods which allow us <br> to attribute an Owner to it in the form of a Transient. | |
| 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. <br> An object can have its own temporary display mode, | |
| void | UnsetDisplayMode () |
| Removes display mode settings from the interactive object. More... | |
| Standard_Integer | DisplayMode () const |
Returns the display mode setting of the Interactive Object. <br> The range of possibilities is the following: | |
| Standard_Boolean | HasSelectionMode () const |
Allows you to change the selection mode of an <br> Interactive Object. | |
| Standard_Integer | SelectionMode () const |
| Returns the selection mode of the interactive object. More... | |
| void | SetSelectionMode (const Standard_Integer aMode) |
You can change the default selection mode index <br> aMode of an Interactive Object. | |
| void | UnsetSelectionMode () |
You can change the default selection mode index of <br> an Interactive Object. | |
| Standard_Integer | SelectionPriority () const |
Returns the selection priority setting. -1 indicates that there is none. <br> You can modify the selection priority of an owner to | |
| void | SetSelectionPriority (const Standard_Integer aPriority) |
Allows you to provide a setting aPriority for selection priority. <br> You can modify selection priority of an owner to make | |
| void | UnsetSelectionPriority () |
| Removes the setting for selection priority. SelectionPriority then returns -1. More... | |
| Standard_Boolean | HasSelectionPriority () const |
Returns true if there is a setting for selection priority. <br> You can modify selection priority of an owner to make | |
| Standard_Boolean | HasHilightMode () const |
| Returns true if the Interactive Object is in highlight mode. More... | |
| Standard_Integer | HilightMode () const |
Returns the setting for highlight mode. <br> At dynamic detection, the presentation echoed by the | |
| void | SetHilightMode (const Standard_Integer anIndex) |
Sets the highlight mode anIndex for the interactive object. <br> If, for example, you want to systematically highlight | |
| 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. <br> This will be on of the following materials: | |
| virtual void | SetMaterial (const Graphic3d_NameOfMaterial aName) |
Sets the name aName for material defining this <br> display attribute for the interactive object. | |
| virtual void | SetMaterial (const Graphic3d_MaterialAspect &aName) |
Sets the material aMat defining this display attribute <br> for the interactive object. | |
| virtual void | UnsetMaterial () |
| Removes the setting for material. More... | |
| virtual void | SetTransparency (const Standard_Real aValue=0.6) |
Attributes a setting aValue for transparency. <br> The transparency value should be between 0.0 and 1.0. | |
| Standard_Boolean | IsTransparent () const |
| Returns true if there is a transparency setting. More... | |
| virtual Standard_Real | Transparency () const |
Returns the transparency setting. <br> This will be between 0.0 and 1.0. | |
| virtual void | UnsetTransparency () |
| Removes the transparency setting. The object is opaque by default. More... | |
| virtual void | SetAttributes (const Handle< AIS_Drawer > &aDrawer) |
| Initializes the drawing tool aDrawer. More... | |
| const Handle_AIS_Drawer & | Attributes () const |
| Returns the attributes settings. More... | |
| virtual void | UnsetAttributes () |
| Clears settings provided by the drawing tool aDrawer. More... | |
| void | State (const Standard_Integer theState) |
| Standard_Integer | State () const |
| void | SetTransformation (const Handle< Geom_Transformation > &aTranformation, const Standard_Boolean postConcatenate=Standard_False, const Standard_Boolean updateSelection=Standard_True) |
Transforms all presentations of the object <br> and replace the actual transformation matrix if <postConcatenate> is FALSE. | |
| void | UnsetTransformation () |
| Deactivate the current transformation More... | |
| Handle_Geom_Transformation | Transformation () |
Returns the current transformation associated <br> to the first available presentation of this object. | |
| Standard_Boolean | HasTransformation () const |
| Returns TRUE when this object is transformed More... | |
| Standard_Boolean | HasPresentation () const |
| Returns TRUE when this object has a presentation in the current DisplayMode() More... | |
| Handle_Prs3d_Presentation | Presentation () const |
| Returns the current presentation of this object according to the current DisplayMode() More... | |
| void | SetAspect (const Handle< Prs3d_BasicAspect > &anAspect, const Standard_Boolean globalChange=Standard_True) |
| Sets the graphic basic aspect to the current presentation. When <globalChange> is TRUE , the full object presentation is changed. When <globalChange> is FALSE , only the current group of the object presentation is changed. More... | |
| virtual void | SetPolygonOffsets (const Standard_Integer aMode, const Standard_ShortReal aFactor=1.0, const Standard_ShortReal aUnits=0.0) |
Sets up polygon offsets for this object. <br>
It modifies all existing presentations of <anObj> (if any), <br>
so it is reasonable to call this method after <anObj> has been displayed. <br>
Otherwise, Compute() method should pass Graphic3d_AspectFillArea3d <br>
aspect from <myDrawer> to Graphic3d_Group to make polygon offsets work. <br>
| |
| virtual Standard_Boolean | HasPolygonOffsets () const |
| Returns Standard_True if <myDrawer> has non-null shading aspect More... | |
| virtual void | PolygonOffsets (Standard_Integer &aMode, Standard_ShortReal &aFactor, Standard_ShortReal &aUnits) const |
| Retrieves current polygon offsets settings from <myDrawer>. More... | |
Public Member Functions inherited from SelectMgr_SelectableObject | |
| virtual Standard_Integer | NbPossibleSelection () const |
| defines the number of different modes of selection (or decomposition) for an Object. More... | |
| void | UpdateSelection () |
| re-computes the sensitive primitives for all modes More... | |
| void | UpdateSelection (const Standard_Integer aMode) |
| re-computes the sensitive primitives which correspond to the <amode>th selection mode. More... | |
| void | AddSelection (const Handle< SelectMgr_Selection > &aSelection, const Standard_Integer aMode) |
Adds the selection aSelection with the selection mode <br> index aMode to this framework. | |
| void | ClearSelections (const Standard_Boolean update=Standard_False) |
Empties all the selections in the SelectableObject <br>
<update> parameter defines whether all object's <br>
selections should be flagged for further update or not. | |
| const Handle_SelectMgr_Selection & | Selection (const Standard_Integer aMode) const |
| Returns the selection Selection having the selection mode aMode. More... | |
| Standard_Boolean | HasSelection (const Standard_Integer aMode) const |
Returns true if a selection corresponding to the <br> selection mode aMode is present in this framework. | |
| void | Init () |
| Begins the iteration scanning for sensitive primitives. More... | |
| Standard_Boolean | More () const |
| Continues the iteration scanning for sensitive primitives. More... | |
| void | Next () |
| Continues the iteration scanning for sensitive primitives. More... | |
| const Handle_SelectMgr_Selection & | CurrentSelection () const |
| Returns the current selection in this framework. More... | |
| void | ResetLocation () |
| virtual void | UpdateLocation () |
| Recomputes the location of the selection aSelection. More... | |
| virtual void | HilightSelected (const Handle< PrsMgr_PresentationManager3d > &PM, const SelectMgr_SequenceOfOwner &Seq) |
| Method which draws selected owners ( for fast presentation draw ) More... | |
| virtual void | ClearSelected () |
Method which clear all selected owners belonging <br> to this selectable object ( for fast presentation draw ) | |
| virtual void | HilightOwnerWithColor (const Handle< PrsMgr_PresentationManager3d > &thePM, const Quantity_NameOfColor theColor, const Handle< SelectMgr_EntityOwner > &theOwner) |
Method which hilight an owner belonging to <br> this selectable object ( for fast presentation draw ) | |
| virtual Standard_Boolean | IsAutoHilight () const |
If returns True, the old mechanism for highlighting <br> selected objects is used (HilightSelected Method may be empty). | |
| virtual void | SetAutoHilight (const Standard_Boolean newAutoHilight) |
| Set AutoHilight property to true or false //! Sets up Transform Persistence Mode for this object More... | |
| Handle_Prs3d_Presentation | GetHilightPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr) |
| Handle_Prs3d_Presentation | GetSelectPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr) |
| virtual void | SetZLayer (const Handle< PrsMgr_PresentationManager > &thePrsMgr, const Standard_Integer theLayerId) |
Set Z layer ID and update all presentations of <br> the selectable object. The layer can be set only for displayed object. | |
Public Member Functions inherited from PrsMgr_PresentableObject | |
| PrsMgr_TypeOfPresentation3d | TypeOfPresentation3d () const |
| Returns information on whether the object accepts display in HLR mode or not. More... | |
| virtual void | SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag, const gp_Pnt &APoint) |
Sets up Transform Persistence Mode for this object. <br> This function used to lock in object position, rotation and / or zooming relative to camera position. | |
| void | SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag) |
| Calls previous method with point (0,0,0) More... | |
| Graphic3d_TransModeFlags | GetTransformPersistenceMode () const |
| Gets Transform Persistence Mode for this object More... | |
| gp_Pnt | GetTransformPersistencePoint () const |
| Gets point of transform persistence for this object More... | |
| void | SetTypeOfPresentation (const PrsMgr_TypeOfPresentation3d aType) |
| void | SetToUpdate (const Standard_Integer aMode) |
| flags the Prs of mode <AMode> to be Updated. the Update will be done when needed. More... | |
| void | SetToUpdate () |
| flags all the Presentations to be Updated. More... | |
| void | ToBeUpdated (TColStd_ListOfInteger &ListOfMode) const |
| gives the list of modes which are flagged "to be updated". More... | |
| virtual void | SetLocation (const TopLoc_Location &aLoc) |
| Standard_Boolean | HasLocation () const |
| const TopLoc_Location & | Location () const |
| virtual void | UpdateLocation (const Handle< Prs3d_Presentation > &P) |
| Standard_Integer | GetZLayer (const Handle< PrsMgr_PresentationManager > &thePrsMgr) const |
Get ID of Z layer. If no presentations of object is displayed, <br> and layer ID is unavailable, the -1 value is returned. | |
| virtual void | AddClipPlane (const Graphic3d_ClipPlane_Handle &thePlane) |
Adds clip plane for graphical clipping for all display mode <br> presentations. The composition of clip planes truncates the rendering | |
| virtual void | RemoveClipPlane (const Graphic3d_ClipPlane_Handle &thePlane) |
| Removes previously added clip plane. More... | |
| virtual void | SetClipPlanes (const Graphic3d_SequenceOfHClipPlane &thePlanes) |
Set clip planes for graphical clipping for all display mode presentations. <br> The composition of clip planes truncates the rendering space to convex | |
| const Graphic3d_SequenceOfHClipPlane & | GetClipPlanes () const |
| Get clip planes. More... | |
Public Member Functions inherited from MMgt_TShared | |
| virtual void | Delete () const |
| Memory deallocator for transient classes. More... | |
Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor. More... | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing. More... | |
| Standard_Transient & | operator= (const Standard_Transient &) |
| Assignment operator, needed to avoid copying reference counter. More... | |
| virtual | ~Standard_Transient () |
| Destructor must be virtual. More... | |
| virtual void | ShallowDump (Standard_OStream &) const |
| virtual const Handle_Standard_Type & | DynamicType () const |
| Returns a type information object about this object. More... | |
| Standard_Boolean | IsInstance (const Handle_Standard_Type &theType) const |
| Returns a true value if this is an instance of Type. More... | |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
| Returns a true value if this is an instance of TypeName. More... | |
| Standard_Boolean | IsKind (const Handle_Standard_Type &theType) const |
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
| Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
| virtual Handle_Standard_Transient | This () const |
| Returns a Handle which references this object. Must never be called to objects created in stack. More... | |
| Standard_Integer | GetRefCount () const |
| Get the reference counter of this object. More... | |
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 | 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... | |
| 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) | |
| virtual void | UpdateLocation (const Handle< SelectMgr_Selection > &aSelection) |
| Updates locations in all sensitive entities from <aSelection> and in corresponding entity owners. More... | |
Protected Member Functions inherited from PrsMgr_PresentableObject | |
| PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView) | |
| virtual void | Compute (const Handle< PrsMgr_PresentationManager3d > &aPresentationManager, const Handle< Prs3d_Presentation > &aPresentation, const Standard_Integer aMode=0) |
Calculates the 3D view aPresentation and its <br> updates. The latter are managed by aPresentationManager. | |
| virtual void | Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Prs3d_Presentation > &aPresentation) |
Calculates the 3D view aPresentation and its <br> updates. The latter are managed by | |
| virtual void | Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Geom_Transformation > &aTrsf, const Handle< Prs3d_Presentation > &aPresentation) |
Calculates the 3D view aPresentation and its <br> updates. The latter are managed by | |
| void | Update (const Standard_Boolean AllModes=Standard_False) |
| recomputes all presentations of the object. More... | |
| void | Update (const Standard_Integer aMode, const Standard_Boolean ClearOther) |
| Recomputes the presentation in the given mode. If ClearOther is true, other presentation will be cleared. More... | |
| virtual void | Fill (const Handle< PrsMgr_PresentationManager > &aPresentationManager, const Handle< PrsMgr_Presentation > &aPresentation, const Standard_Integer aMode=0) |
| High-level interface for controlling polygon offsets More... | |
| PrsMgr_Presentations & | Presentations () |
| virtual void | UpdateClipping () |
General virtual method for internal update of presentation state <br> when some modifications on list of clip planes occurs. Base | |
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... | |
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:
Linear dimensions:
extension
line arrow
-->|------- main dimension line -------|<--
| |
|flyout flyout|
| |
+-----------------------------------+
attachment attachment
point pointAngular 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:
|
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 | |
|
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 | |
| AIS_Dimension::AIS_Dimension | ( | const AIS_KindOfDimension | theType | ) |
Constructor with default parameters values.
| theType | [in] the type of dimension. |
|
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.
|
protected |
Adjusts aspect parameters according the text position: extension size, vertical text alignment and flyout.
| 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. |
|
inlineprotectedvirtual |
Override this method to check if user-defined plane is valid for the dimension geometry.
| thePlane | [in] the working plane for positioning every dimension in the application. |
Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.
|
protected |
If it is possible extracts circle from planar face.
| 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. |
|
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.
|
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.
| 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. |
|
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.
|
protectedvirtual |
Base procedure of computing selection (based on selection geometry data).
| theSelection | [in] the selection structure to will with primitives. |
| theMode | [in] the selection mode. |
Implements SelectMgr_SelectableObject.
|
inlineprotectedvirtual |
Override this method to computed value of dimension.
Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.
|
inline |
Gets the dimension aspect from AIS object drawer. Dimension aspect contains aspects of line, text and arrows for dimension presentation.
|
inline |
|
protected |
Performs drawing of 2d or 3d arrows on the working plane.
| theLocation | [in] the location of the arrow tip. |
| theDirection | [in] the direction from the tip to the bottom of the arrow. |
|
protected |
Performs computing of dimension linear extension with text.
| 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. |
|
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.
| 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. |
|
protected |
Performs drawing of 2d or 3d text on the working plane.
| 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. |
|
protected |
Fits text alignment relatively to the dimension line.
| 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 |
Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.
|
inline |
| const Standard_Integer AIS_Dimension::GetGeometryType | ( | ) | const |
Geometry type defines type of shapes on which the dimension is to be built.
|
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.
|
inlinevirtual |
Computes absolute text position from dimension parameters (flyout, plane and text alignment).
Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.
|
protected |
Compute point of text position for dimension parameters for linear kinds of dimensions (length, radius, diameter).
|
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.
|
protected |
Get formatted value string and its model space width.
| theWidth | [out] the model space with of the string. |
|
protected |
Performs initialization of circle and middle arc point from the passed shape which is assumed to contain circular geometry.
| 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. |
|
inline |
|
inlinevirtual |
Check that the input geometry for dimension is valid and the presentation can be successfully computed.
|
inline |
|
protected |
Produce points for triangular arrow face.
| 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. |
|
inline |
Returns selection tolerance for text2d: For 2d text selection detection sensitive point with tolerance is used Important! Only for 2d text.
|
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.
| 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.
|
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.
|
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.
|
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.
| theTextPos | [in] the point of text position. |
Reimplemented in AIS_AngleDimension, AIS_LengthDimension, AIS_DiameterDimension, and AIS_RadiusDimension.
|
inline |
|
inlinevirtual |
Reimplemented from AIS_InteractiveObject.
|
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.
|
protected |
|
protected |
Value of the dimension (computed or user-defined).
|
protected |
Special symbol display options.
|
protected |
Stores text position fixed by user.
|
protected |
Flyout distance.
|
protected |
defines type of shapes on which the dimension is to be built.
|
protected |
Is dimension geometry properly defined.
|
protected |
Is plane defined by user (otherwise it will be computed automatically).
|
protected |
Is the text label position fixed by user.
|
protected |
Is user-defined value.
|
protected |
Plane where dimension will be built (computed or user defined).
|
protected |
Sensitive point tolerance for 2d text selection.
|
protected |
Sensitive point tolerance for 2d text selection.
|
protected |
Special symbol.
1.8.5