Open CASCADE Technology 7.8.0
Public Member Functions | Protected Member Functions
PrsDim_AngleDimension Class Reference

Angle dimension. Can be constructed: More...

#include <PrsDim_AngleDimension.hxx>

Inheritance diagram for PrsDim_AngleDimension:
Inheritance graph
[legend]

Public Member Functions

 PrsDim_AngleDimension (const TopoDS_Edge &theFirstEdge, const TopoDS_Edge &theSecondEdge)
 Constructs minimum angle dimension between two linear edges (where possible). These two edges should be intersected by each other. Otherwise the geometry is not valid.
 
 PrsDim_AngleDimension (const gp_Pnt &theFirstPoint, const gp_Pnt &theSecondPoint, const gp_Pnt &theThirdPoint)
 Constructs the angle display object defined by three points.
 
 PrsDim_AngleDimension (const TopoDS_Vertex &theFirstVertex, const TopoDS_Vertex &theSecondVertex, const TopoDS_Vertex &theThirdVertex)
 Constructs the angle display object defined by three vertices.
 
 PrsDim_AngleDimension (const TopoDS_Face &theCone)
 Constructs angle dimension for the cone face.
 
 PrsDim_AngleDimension (const TopoDS_Face &theFirstFace, const TopoDS_Face &theSecondFace)
 Constructs angle dimension between two planar faces.
 
 PrsDim_AngleDimension (const TopoDS_Face &theFirstFace, const TopoDS_Face &theSecondFace, const gp_Pnt &thePoint)
 Constructs angle dimension between two planar faces.
 
const gp_PntFirstPoint () const
 
const gp_PntSecondPoint () const
 
const gp_PntCenterPoint () const
 
const TopoDS_ShapeFirstShape () const
 
const TopoDS_ShapeSecondShape () const
 
const TopoDS_ShapeThirdShape () const
 
void SetMeasuredGeometry (const TopoDS_Edge &theFirstEdge, const TopoDS_Edge &theSecondEdge)
 Measures minimum angle dimension between two linear edges. These two edges should be intersected by each other. Otherwise the geometry is not valid.
 
void SetMeasuredGeometry (const gp_Pnt &theFirstPoint, const gp_Pnt &theSecondPoint, const gp_Pnt &theThridPoint)
 Measures angle defined by three points.
 
void SetMeasuredGeometry (const TopoDS_Vertex &theFirstVertex, const TopoDS_Vertex &theSecondVertex, const TopoDS_Vertex &theThirdVertex)
 Measures angle defined by three vertices.
 
void SetMeasuredGeometry (const TopoDS_Face &theCone)
 Measures angle of conical face.
 
void SetMeasuredGeometry (const TopoDS_Face &theFirstFace, const TopoDS_Face &theSecondFace)
 Measures angle between two planar faces.
 
void SetMeasuredGeometry (const TopoDS_Face &theFirstFace, const TopoDS_Face &theSecondFace, const gp_Pnt &thePoint)
 Measures angle between two planar faces.
 
virtual const TCollection_AsciiStringGetDisplayUnits () const override
 
virtual const TCollection_AsciiStringGetModelUnits () const override
 
virtual void SetDisplayUnits (const TCollection_AsciiString &theUnits) override
 
virtual void SetModelUnits (const TCollection_AsciiString &theUnits) override
 
virtual void SetTextPosition (const gp_Pnt &theTextPos) override
 Principle of horizontal text alignment settings:
 
virtual gp_Pnt GetTextPosition () const override
 Computes absolute text position from dimension parameters (flyout, plane and text alignment).
 
void SetType (const PrsDim_TypeOfAngle theType)
 Sets angle type.
 
PrsDim_TypeOfAngle GetType () const
 
void SetArrowsVisibility (const PrsDim_TypeOfAngleArrowVisibility &theType)
 Sets visible arrows type.
 
PrsDim_TypeOfAngleArrowVisibility GetArrowsVisibility () const
 
- Public Member Functions inherited from PrsDim_Dimension
 PrsDim_Dimension (const PrsDim_KindOfDimension theType)
 Constructor with default parameters values.
 
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.
 
void SetComputedValue ()
 Sets computed dimension value. Resets custom value mode if it was set.
 
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.
 
void SetCustomValue (const TCollection_ExtendedString &theValue)
 Sets user-defined dimension value. Unit conversion during the display is not applied.
 
const TCollection_ExtendedStringGetCustomValue () const
 Gets user-defined dimension value.
 
const gp_PlnGetPlane () 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.
 
Standard_Integer GetGeometryType () const
 Geometry type defines type of shapes on which the dimension is to be built.
 
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.
 
void UnsetCustomPlane ()
 Unsets user-defined plane. Therefore the plane for dimension will be computed automatically.
 
Standard_Boolean IsTextPositionCustom () const
 
Handle< Prs3d_DimensionAspectDimensionAspect () const
 Gets the dimension aspect from AIS object drawer. Dimension aspect contains aspects of line, text and arrows for dimension presentation.
 
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.
 
PrsDim_KindOfDimension KindOfDimension () const
 
virtual AIS_KindOfInteractive Type () const override
 
virtual Standard_Boolean AcceptDisplayMode (const Standard_Integer theMode) const override
 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.
 
PrsDim_DisplaySpecialSymbol DisplaySpecialSymbol () const
 
void SetDisplaySpecialSymbol (const PrsDim_DisplaySpecialSymbol theDisplaySpecSymbol)
 Specifies whether to display special symbol or not.
 
Standard_ExtCharacter SpecialSymbol () const
 
void SetSpecialSymbol (const Standard_ExtCharacter theSpecialSymbol)
 Specifies special symbol.
 
void UnsetFixedTextPosition ()
 Unsets user defined text positioning and enables text positioning by other parameters: text alignment, extension size, flyout and custom plane.
 
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.
 
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.
 
Standard_Real GetFlyout () const
 
void SetFlyout (const Standard_Real theFlyout)
 Sets flyout value for dimension.
 
virtual Standard_Boolean IsValid () const
 Check that the input geometry for dimension is valid and the presentation can be successfully computed.
 
- Public Member Functions inherited from AIS_InteractiveObject
virtual Standard_Integer Signature () const
 Specifies additional characteristics of Interactive Object of Type(); -1 by default. Among the datums, this signature is attributed to the shape. The remaining datums have the following default signatures:
 
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.
 
Standard_Boolean HasInteractiveContext () const
 Indicates whether the Interactive Object has a pointer to an interactive context.
 
AIS_InteractiveContextInteractiveContext () const
 Returns the context pointer to the interactive context.
 
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.
 
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.
 
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:
 
void SetOwner (const Handle< Standard_Transient > &theApplicativeEntity)
 Allows you to attribute the owner theApplicativeEntity to an Interactive Object. This can be a shape for a set of sub-shapes or a sub-shape for sub-shapes which it is composed of. The owner takes the form of a transient.
 
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.
 
virtual Standard_Boolean ProcessDragging (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView, const Handle< SelectMgr_EntityOwner > &theOwner, const Graphic3d_Vec2i &theDragFrom, const Graphic3d_Vec2i &theDragTo, const AIS_DragAction theAction)
 Drag object in the viewer.
 
Handle< AIS_InteractiveContextGetContext () const
 Returns the context pointer to the interactive context.
 
Standard_Boolean HasPresentation () const
 Returns TRUE when this object has a presentation in the current DisplayMode()
 
Handle< Prs3d_PresentationPresentation () const
 Returns the current presentation of this object according to the current DisplayMode()
 
void SetAspect (const Handle< Prs3d_BasicAspect > &anAspect)
 Sets the graphic basic aspect to the current presentation.
 
virtual void DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const override
 Dumps the content of me into the stream.
 
- Public Member Functions inherited from SelectMgr_SelectableObject
virtual ~SelectMgr_SelectableObject ()
 Clears all selections of the object.
 
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.
 
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.
 
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.
 
void AddSelection (const Handle< SelectMgr_Selection > &aSelection, const Standard_Integer aMode)
 Adds the selection aSelection with the selection mode index aMode to this framework.
 
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.
 
const Handle< SelectMgr_Selection > & Selection (const Standard_Integer theMode) const
 Returns the selection having specified selection mode or NULL.
 
Standard_Boolean HasSelection (const Standard_Integer theMode) const
 Returns true if a selection corresponding to the selection mode theMode was computed for this object.
 
const SelectMgr_SequenceOfSelectionSelections () const
 Return the sequence of selections.
 
void ResetTransformation () override
 resets local transformation to identity.
 
virtual void UpdateTransformation () override
 Recomputes the location of the selection aSelection.
 
virtual void UpdateTransformations (const Handle< SelectMgr_Selection > &aSelection)
 Updates locations in all sensitive entities from <aSelection> and in corresponding entity owners.
 
virtual void HilightSelected (const Handle< PrsMgr_PresentationManager > &thePrsMgr, const SelectMgr_SequenceOfOwner &theSeq)
 Method which draws selected owners ( for fast presentation draw )
 
virtual void ClearSelected ()
 Method which clear all selected owners belonging to this selectable object ( for fast presentation draw )
 
virtual void ClearDynamicHighlight (const Handle< PrsMgr_PresentationManager > &theMgr)
 Method that needs to be implemented when the object manages selection and dynamic highlighting on its own. Clears or invalidates dynamic highlight presentation. By default it clears immediate draw of given presentation manager.
 
virtual void HilightOwnerWithColor (const Handle< PrsMgr_PresentationManager > &thePM, const Handle< Prs3d_Drawer > &theStyle, const Handle< SelectMgr_EntityOwner > &theOwner)
 Method which hilight an owner belonging to this selectable object ( for fast presentation draw )
 
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.
 
virtual void SetAutoHilight (const Standard_Boolean theAutoHilight)
 Set AutoHilight property to true or false.
 
Handle< Prs3d_PresentationGetHilightPresentation (const Handle< PrsMgr_PresentationManager > &thePrsMgr)
 Creates or returns existing presentation for highlighting detected object.
 
Handle< Prs3d_PresentationGetSelectPresentation (const Handle< PrsMgr_PresentationManager > &thePrsMgr)
 Creates or returns existing presentation for highlighting selected object.
 
virtual void ErasePresentations (Standard_Boolean theToRemove)
 Removes presentations returned by GetHilightPresentation() and GetSelectPresentation().
 
virtual void SetZLayer (const Graphic3d_ZLayerId theLayerId) override
 Set Z layer ID and update all presentations of the selectable object. The layers mechanism allows drawing objects in higher layers in overlay of objects in lower layers.
 
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.
 
void SetAssemblyOwner (const Handle< SelectMgr_EntityOwner > &theOwner, const Standard_Integer theMode=-1)
 Sets common entity owner for assembly sensitive object entities.
 
Bnd_Box BndBoxOfSelected (const Handle< SelectMgr_IndexedMapOfOwner > &theOwners)
 Returns a bounding box of sensitive entities with the owners given if they are a part of activated selection.
 
Standard_Integer GlobalSelectionMode () const
 Returns the mode for selection of object as a whole; 0 by default.
 
virtual Handle< SelectMgr_EntityOwnerGlobalSelOwner () const
 Returns the owner of mode for selection of object as a whole.
 
virtual const Handle< SelectMgr_EntityOwner > & GetAssemblyOwner () const
 Returns common entity owner if the object is an assembly.
 
- Public Member Functions inherited from PrsMgr_PresentableObject
PrsMgr_PresentationsPresentations ()
 Return presentations.
 
Graphic3d_ZLayerId ZLayer () const
 Get ID of Z layer for main presentation.
 
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).
 
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.
 
const Handle< Graphic3d_ViewAffinity > & ViewAffinity () const
 Return view affinity mask.
 
Standard_Boolean HasDisplayMode () const
 Returns true if the Interactive Object has display mode setting overriding global setting (within Interactive Context).
 
Standard_Integer DisplayMode () const
 Returns the display mode setting of the Interactive Object. The range of supported display mode indexes should be specified within object definition and filtered by AccepDisplayMode().
 
void SetDisplayMode (const Standard_Integer theMode)
 Sets the display mode for the interactive object. An object can have its own temporary display mode, which is different from that proposed by the interactive context.
 
void UnsetDisplayMode ()
 Removes display mode settings from the interactive object.
 
Standard_Boolean HasHilightMode () const
 Returns true if the Interactive Object is in highlight mode.
 
Standard_Integer HilightMode () const
 Returns highlight display mode. This is obsolete method for backward compatibility - use HilightAttributes() and DynamicHilightAttributes() instead.
 
void SetHilightMode (const Standard_Integer theMode)
 Sets highlight display mode. This is obsolete method for backward compatibility - use HilightAttributes() and DynamicHilightAttributes() instead.
 
void UnsetHilightMode ()
 Unsets highlight display mode.
 
virtual Standard_Integer DefaultDisplayMode () const
 Returns the default display mode.
 
Standard_Boolean ToBeUpdated (Standard_Boolean theToIncludeHidden=Standard_False) const
 Returns TRUE if any active presentation has invalidation flag.
 
void SetToUpdate (Standard_Integer theMode)
 Flags presentation to be updated; UpdatePresentations() will recompute these presentations.
 
void SetToUpdate ()
 flags all the Presentations to be Updated.
 
Standard_Boolean IsInfinite () const
 Returns true if the interactive object is infinite; FALSE by default. This flag affects various operations operating on bounding box of graphic presentations of this object. For instance, infinite objects are not taken in account for View FitAll. This does not necessarily means that object is actually infinite, auxiliary objects might be also marked with this flag to achieve desired behavior.
 
void SetInfiniteState (const Standard_Boolean theFlag=Standard_True)
 Sets if object should be considered as infinite.
 
PrsMgr_TypeOfPresentation3d TypeOfPresentation3d () const
 Returns information on whether the object accepts display in HLR mode or not.
 
void SetTypeOfPresentation (const PrsMgr_TypeOfPresentation3d theType)
 Set type of presentation.
 
PrsMgr_DisplayStatus DisplayStatus () const
 Return presentation display status; PrsMgr_DisplayStatus_None by default.
 
const Handle< Prs3d_Drawer > & Attributes () const
 Returns the attributes settings.
 
virtual void SetAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the drawing tool theDrawer.
 
const Handle< Prs3d_Drawer > & HilightAttributes () const
 Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalSelected and Prs3d_TypeOfHighlight_Selected defined within AIS_InteractiveContext::HighlightStyle().
 
virtual void SetHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the hilight drawing tool theDrawer.
 
const Handle< Prs3d_Drawer > & DynamicHilightAttributes () const
 Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalDynamic and Prs3d_TypeOfHighlight_Dynamic defined within AIS_InteractiveContext::HighlightStyle().
 
virtual void SetDynamicHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the dynamic hilight drawing tool.
 
virtual void UnsetHilightAttributes ()
 Clears settings provided by the hilight drawing tool theDrawer.
 
void SynchronizeAspects ()
 Synchronize presentation aspects after their modification.
 
const Handle< Graphic3d_TransformPers > & TransformPersistence () const
 Returns Transformation Persistence defining a special Local Coordinate system where this presentable object is located or NULL handle if not defined. Position of the object having Transformation Persistence is mutable and depends on camera position. The same applies to a bounding box of the object.
 
virtual void SetTransformPersistence (const Handle< Graphic3d_TransformPers > &theTrsfPers)
 Sets up Transform Persistence defining a special Local Coordinate system where this object should be located. Note that management of Transform Persistence object is more expensive than of the normal one, because it requires its position being recomputed basing on camera position within each draw call / traverse.
 
const Handle< TopLoc_Datum3D > & LocalTransformationGeom () const
 Return the local transformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.
 
void SetLocalTransformation (const gp_Trsf &theTrsf)
 Sets local transformation to theTransformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.
 
void SetLocalTransformation (const Handle< TopLoc_Datum3D > &theTrsf)
 Sets local transformation to theTransformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.
 
Standard_Boolean HasTransformation () const
 Returns true if object has a transformation that is different from the identity.
 
const Handle< TopLoc_Datum3D > & TransformationGeom () const
 Return the transformation taking into account transformation of parent object(s). Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.
 
const gp_TrsfLocalTransformation () const
 Return the local transformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.
 
const gp_TrsfTransformation () const
 Return the transformation taking into account transformation of parent object(s). Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.
 
const gp_GTrsfInversedTransformation () const
 Return inversed transformation.
 
const Handle< TopLoc_Datum3D > & CombinedParentTransformation () const
 Return combined parent transformation.
 
const Handle< Graphic3d_SequenceOfHClipPlane > & ClipPlanes () const
 Get clip planes.
 
virtual void SetClipPlanes (const Handle< Graphic3d_SequenceOfHClipPlane > &thePlanes)
 Set clip planes for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be subtracted from limit to predict the maximum possible number of object clipping planes.
 
virtual void AddClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane)
 Adds clip plane for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be subtracted from limit to predict the maximum possible number of object clipping planes.
 
virtual void RemoveClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane)
 Removes previously added clip plane.
 
PrsMgr_PresentableObjectParent () const
 Returns parent of current object in scene hierarchy.
 
const PrsMgr_ListOfPresentableObjectsChildren () const
 Returns children of the current object.
 
virtual void AddChild (const Handle< PrsMgr_PresentableObject > &theObject)
 Makes theObject child of current object in scene hierarchy.
 
void AddChildWithCurrentTransformation (const Handle< PrsMgr_PresentableObject > &theObject)
 Makes theObject child of current object in scene hierarchy with keeping the current global transformation So the object keeps the same position/orientation in the global CS.
 
virtual void RemoveChild (const Handle< PrsMgr_PresentableObject > &theObject)
 Removes theObject from children of current object in scene hierarchy.
 
void RemoveChildWithRestoreTransformation (const Handle< PrsMgr_PresentableObject > &theObject)
 Removes theObject from children of current object in scene hierarchy with keeping the current global transformation. So the object keeps the same position/orientation in the global CS.
 
Standard_Boolean HasOwnPresentations () const
 Returns true if object should have own presentations.
 
virtual void BoundingBox (Bnd_Box &theBndBox)
 Returns bounding box of object correspondingly to its current display mode. This method requires presentation to be already computed, since it relies on bounding box of presentation structures, which are supposed to be same/close amongst different display modes of this object.
 
void SetIsoOnTriangulation (const Standard_Boolean theIsEnabled)
 Enables or disables on-triangulation build of isolines according to the flag given.
 
Aspect_TypeOfFacingModel CurrentFacingModel () const
 Returns the current facing model which is in effect.
 
void SetCurrentFacingModel (const Aspect_TypeOfFacingModel theModel=Aspect_TOFM_BOTH_SIDE)
 change the current facing model apply on polygons for SetColor(), SetTransparency(), SetMaterial() methods default facing model is Aspect_TOFM_TWO_SIDE. This mean that attributes is applying both on the front and back face.
 
Standard_Boolean HasColor () const
 Returns true if the Interactive Object has color.
 
virtual void Color (Quantity_Color &theColor) const
 Returns the color setting of the Interactive Object.
 
virtual void SetColor (const Quantity_Color &theColor)
 Only the interactive object knowns which Drawer attribute is affected by the color, if any (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 myDrawer->SetColor())
 
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.
 
Standard_Boolean HasWidth () const
 Returns true if the Interactive Object has width.
 
Standard_Real Width () const
 Returns the width setting of the Interactive Object.
 
virtual void SetWidth (const Standard_Real theWidth)
 Allows you to provide the setting aValue for width. Only the Interactive Object knows which Drawer attribute is affected by the width setting.
 
virtual void UnsetWidth ()
 Reset width to default value.
 
Standard_Boolean HasMaterial () const
 Returns true if the Interactive Object has a setting for material.
 
virtual Graphic3d_NameOfMaterial Material () const
 Returns the current material setting as enumeration value.
 
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.
 
virtual void UnsetMaterial ()
 Removes the setting for material.
 
Standard_Boolean IsTransparent () const
 Returns true if there is a transparency setting.
 
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.
 
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.
 
virtual void UnsetTransparency ()
 Removes the transparency setting. The object is opaque by default.
 
virtual Standard_Boolean HasPolygonOffsets () const
 Returns Standard_True if <myDrawer> has non-null shading aspect.
 
virtual void PolygonOffsets (Standard_Integer &aMode, Standard_ShortReal &aFactor, Standard_ShortReal &aUnits) const
 Retrieves current polygon offsets settings from <myDrawer>.
 
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.
 
virtual void UnsetAttributes ()
 Clears settings provided by the drawing tool aDrawer.
 
void ToBeUpdated (TColStd_ListOfInteger &ListOfMode) const
 gives the list of modes which are flagged "to be updated".
 
Standard_Boolean ToPropagateVisualState () const
 Get value of the flag "propagate visual state" It means that the display/erase/color visual state is propagated automatically to all children; by default, the flag is true.
 
void SetPropagateVisualState (const Standard_Boolean theFlag)
 Change the value of the flag "propagate visual state".
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
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.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Protected Member Functions

void Init ()
 Initialization of fields that is common to all constructors.
 
gp_Dir GetNormalForMinAngle () const
 Gets plane normal for minimal angle. Dimension computation is based on three attach points and plane normal. Based on this normal angle arc, arrows and extensions are constructed.
 
gp_Pnt GetCenterOnArc (const gp_Pnt &theFirstAttach, const gp_Pnt &theSecondAttach, const gp_Pnt &theCenter) const
 
void DrawArc (const Handle< Prs3d_Presentation > &thePresentation, const gp_Pnt &theFirstAttach, const gp_Pnt &theSecondAttach, const gp_Pnt &theCenter, const Standard_Real theRadius, const Standard_Integer theMode)
 Draws main dimension line (arc).
 
void DrawArcWithText (const Handle< Prs3d_Presentation > &thePresentation, const gp_Pnt &theFirstAttach, const gp_Pnt &theSecondAttach, const gp_Pnt &theCenter, const TCollection_ExtendedString &theText, const Standard_Real theTextWidth, const Standard_Integer theMode, const Standard_Integer theLabelPosition)
 Draws main dimension line (arc) with text.
 
void FitTextAlignment (const Prs3d_DimensionTextHorizontalPosition &theHorizontalTextPos, Standard_Integer &theLabelPosition, Standard_Boolean &theIsArrowsExternal) const
 Fits text alignment relatively to the dimension line; it computes the value of label position and arrow orientation according set in the aspect and dimension properties.
 
void AdjustParameters (const gp_Pnt &theTextPos, Standard_Real &theExtensionSize, Prs3d_DimensionTextHorizontalPosition &theAlignment, Standard_Real &theFlyout) const
 Adjusts aspect parameters according the text position: extension size, vertical text alignment and flyout.
 
virtual void ComputePlane ()
 
virtual Standard_Boolean CheckPlane (const gp_Pln &thePlane) const override
 Checks if the plane includes three angle points to build dimension.
 
virtual Standard_Real ComputeValue () const override
 Override this method to computed value of dimension.
 
virtual void Compute (const Handle< PrsMgr_PresentationManager > &thePM, const Handle< Prs3d_Presentation > &thePresentation, const Standard_Integer theMode=0) override
 Calculates the 3D view presentation for specified display mode. This is a key interface for implementing Presentable Object interface.
 
virtual void ComputeFlyoutSelection (const Handle< SelectMgr_Selection > &theSelection, const Handle< SelectMgr_EntityOwner > &theOwner) override
 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.
 
Standard_Boolean InitTwoEdgesAngle (gp_Pln &theComputedPlane)
 Init angular dimension to measure angle between two linear edges.
 
Standard_Boolean InitTwoFacesAngle ()
 Init angular dimension to measure angle between two planar faces. there is no user-defined poisitoning. So attach points are set according to faces geometry (in origin of the first face basis surface).
 
Standard_Boolean InitTwoFacesAngle (const gp_Pnt &thePointOnFirstFace)
 Init angular dimension to measure angle between two planar faces.
 
Standard_Boolean InitConeAngle ()
 Init angular dimension to measure cone face.
 
Standard_Boolean IsValidPoints (const gp_Pnt &theFirstPoint, const gp_Pnt &theCenterPoint, const gp_Pnt &theSecondPoint) const
 Check that the points forming angle are valid.
 
Standard_Boolean isArrowVisible (const PrsDim_TypeOfAngleArrowVisibility theArrowType) const
 Returns true if the arrow should be visible.
 
- Protected Member Functions inherited from PrsDim_Dimension
Standard_Real ValueToDisplayUnits () const
 
TCollection_ExtendedString GetValueString (Standard_Real &theWidth) const
 Get formatted value string and its model space width.
 
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.
 
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.
 
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.
 
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.
 
virtual void ComputeFlyoutLinePoints (const gp_Pnt &theFirstPoint, const gp_Pnt &theSecondPoint, gp_Pnt &theLineBegPoint, gp_Pnt &theLineEndPoint)
 Computes points bounded the flyout line for linear dimension.
 
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.
 
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.
 
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.
 
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).
 
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.
 
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.
 
virtual void ComputeSelection (const Handle< SelectMgr_Selection > &theSelection, const Standard_Integer theMode) override
 Base procedure of computing selection (based on selection geometry data).
 
- Protected Member Functions inherited from AIS_InteractiveObject
 AIS_InteractiveObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 The TypeOfPresention3d means that the interactive object may have a presentation dependent on the view of Display.
 
void SetDisplayStatus (PrsMgr_DisplayStatus theStatus)
 Set presentation display status.
 
- Protected Member Functions inherited from SelectMgr_SelectableObject
 SelectMgr_SelectableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 Protected empty constructor.
 
void setGlobalSelMode (const Standard_Integer theMode)
 Override global selection mode.
 
virtual void UpdateClipping () override
 Update clipping planes state.
 
virtual void updateSelection (const Standard_Integer theMode)
 Sets update status FULL to selections of the object. Must be used as the only method of UpdateSelection from outer classes to prevent BVH structures from being outdated.
 
- Protected Member Functions inherited from PrsMgr_PresentableObject
void Update (Standard_Boolean theToIncludeHidden=Standard_False)
 Recomputes all presentations of the object.
 
void Update (Standard_Integer theMode, Standard_Boolean theToClearOther)
 Recomputes the presentation in the given mode.
 
 PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 Protected empty constructor.
 
virtual ~PrsMgr_PresentableObject ()
 Destructor.
 
virtual void Fill (const Handle< PrsMgr_PresentationManager > &thePrsMgr, const Handle< PrsMgr_Presentation > &thePrs, const Standard_Integer theMode)
 Fills the given 3D view presentation for specified display mode using Compute() method. In addition, configures other properties of presentation (transformation, clipping planes).
 
virtual void computeHLR (const Handle< Graphic3d_Camera > &theProjector, const Handle< TopLoc_Datum3D > &theTrsf, const Handle< Prs3d_Presentation > &thePrs)
 Calculates hidden line removal presentation for specific camera position. Each of the views in the viewer and every modification such as rotation, for example, entails recalculation. Default implementation throws Standard_NotImplemented exception Warning! The transformation must be applied to the object before computation.
 
Standard_Boolean UpdatePresentations (Standard_Boolean theToIncludeHidden=Standard_False)
 Recomputes invalidated presentations of the object.
 
virtual void SetCombinedParentTransform (const Handle< TopLoc_Datum3D > &theTrsf)
 Sets myCombinedParentTransform to theTransformation. Thus object receives transformation from parent node and able to derive its own.
 
virtual void setLocalTransformation (const Handle< TopLoc_Datum3D > &theTransformation)
 Sets local transformation to theTransformation.
 
void recomputeComputed () const
 Recompute computed (HLR) presentations (when view is in computed mode).
 
void replaceAspects (const Graphic3d_MapOfAspectsToAspects &theMap)
 Replace aspects of existing (computed) presentation groups, so that the new aspects can be applied without recomputing presentation. It is NOT recommended approach, because user has to fill such map and then search for each occurrence in computed groups. The recommended approach is computing presentation with necessary customized aspects, and then modify them directly followed by SynchronizeAspects() call.
 

Additional Inherited Members

- Public Types inherited from PrsDim_Dimension
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 Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 
- Protected Types inherited from PrsDim_Dimension
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...
 
enum  ValueType { ValueType_Computed , ValueType_CustomReal , ValueType_CustomText }
 
- Static Protected Member Functions inherited from PrsDim_Dimension
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.
 
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.
 
- Static Protected Member Functions inherited from PrsMgr_PresentableObject
static const gp_TrsfgetIdentityTrsf ()
 Return the identity transformation.
 
- Protected Attributes inherited from PrsDim_Dimension
struct PrsDim_Dimension::SelectionGeometry mySelectionGeom
 Sensitive point tolerance for 2d text selection.
 
Standard_Real mySelToleranceForText2d
 Sensitive point tolerance for 2d text selection.
 
ValueType myValueType
 type of value (computed or user-defined)
 
Standard_Real myCustomValue
 type of value (computed or user-defined)
 
TCollection_ExtendedString myCustomStringValue
 Value of the dimension (computed or user-defined).
 
gp_Pnt myFixedTextPosition
 Stores text position fixed by user.
 
Standard_Boolean myIsTextPositionFixed
 Is the text label position fixed by user.
 
Standard_ExtCharacter mySpecialSymbol
 Special symbol.
 
PrsDim_DisplaySpecialSymbol myDisplaySpecialSymbol
 Special symbol display options.
 
GeometryType myGeometryType
 defines type of shapes on which the dimension is to be built.
 
gp_Pln myPlane
 Plane where dimension will be built (computed or user defined).
 
Standard_Boolean myIsPlaneCustom
 Is plane defined by user (otherwise it will be computed automatically).
 
Standard_Real myFlyout
 Flyout distance.
 
Standard_Boolean myIsGeometryValid
 Is dimension geometry properly defined.
 
- Protected Attributes inherited from AIS_InteractiveObject
AIS_InteractiveContextmyCTXPtr
 pointer to Interactive Context, where object is currently displayed;
 
Handle< Standard_TransientmyOwner
 application-specific owner object
 
- Protected Attributes inherited from SelectMgr_SelectableObject
SelectMgr_SequenceOfSelection myselections
 list of selections
 
Handle< Prs3d_PresentationmySelectionPrs
 optional presentation for highlighting selected object
 
Handle< Prs3d_PresentationmyHilightPrs
 optional presentation for highlighting detected object
 
Standard_Integer myGlobalSelMode
 global selection mode
 
Standard_Boolean myAutoHilight
 auto-highlighting flag defining
 
- Protected Attributes inherited from PrsMgr_PresentableObject
PrsMgr_PresentableObjectmyParent
 pointer to the parent object
 
PrsMgr_Presentations myPresentations
 list of presentations
 
Handle< Graphic3d_ViewAffinitymyViewAffinity
 view affinity mask
 
Handle< Graphic3d_SequenceOfHClipPlanemyClipPlanes
 sequence of object-specific clipping planes
 
Handle< Prs3d_DrawermyDrawer
 main presentation attributes
 
Handle< Prs3d_DrawermyHilightDrawer
 (optional) custom presentation attributes for highlighting selected object
 
Handle< Prs3d_DrawermyDynHilightDrawer
 (optional) custom presentation attributes for highlighting detected object
 
Handle< Graphic3d_TransformPersmyTransformPersistence
 transformation persistence
 
Handle< TopLoc_Datum3DmyLocalTransformation
 local transformation relative to parent object
 
Handle< TopLoc_Datum3DmyTransformation
 absolute transformation of this object (combined parents + local transformations)
 
Handle< TopLoc_Datum3DmyCombinedParentTransform
 transformation of parent object (combined for all parents)
 
PrsMgr_ListOfPresentableObjects myChildren
 list of children
 
gp_GTrsf myInvTransformation
 inversion of absolute transformation (combined parents + local transformations)
 
PrsMgr_TypeOfPresentation3d myTypeOfPresentation3d
 presentation type
 
PrsMgr_DisplayStatus myDisplayStatus
 presentation display status
 
Aspect_TypeOfFacingModel myCurrentFacingModel
 current facing model
 
Standard_ShortReal myOwnWidth
 custom width value
 
Standard_Boolean hasOwnColor
 own color flag
 
Standard_Boolean hasOwnMaterial
 own material flag
 
Standard_Boolean myInfiniteState
 infinite flag
 
Standard_Boolean myIsMutable
 mutable flag
 
Standard_Boolean myHasOwnPresentations
 flag indicating if object should have own presentations
 
Standard_Boolean myToPropagateVisualState
 flag indicating if visual state (display/erase/color) should be propagated to all children
 

Detailed Description

Angle dimension. Can be constructed:

In case of three points or two intersected edges the dimension plane (on which dimension presentation is built) can be computed uniquely as through three defined points can be built only one plane. Therefore, if user-defined plane differs from this one, the dimension can't be built.

In cases of two planes automatic plane by default is built on point of the origin of parametric space of the first face (the basis surface) so, that the working plane and two faces intersection forms minimal angle between the faces. User can define the other point which the dimension plane should pass through using the appropriate constructor. This point can lay on the one of the faces or not. Also user can define his own plane but it should pass through the three points computed on the geometry initialization step (when the constructor or SetMeasuredGeometry() method is called).

In case of the conical face the center point of the angle is the apex of the conical surface. The attachment points are points of the first and the last parameter of the basis circle of the cone.

Constructor & Destructor Documentation

◆ PrsDim_AngleDimension() [1/6]

PrsDim_AngleDimension::PrsDim_AngleDimension ( const TopoDS_Edge theFirstEdge,
const TopoDS_Edge theSecondEdge 
)

Constructs minimum angle dimension between two linear edges (where possible). These two edges should be intersected by each other. Otherwise the geometry is not valid.

Parameters
theFirstEdge[in] the first edge.
theSecondEdge[in] the second edge.

◆ PrsDim_AngleDimension() [2/6]

PrsDim_AngleDimension::PrsDim_AngleDimension ( const gp_Pnt theFirstPoint,
const gp_Pnt theSecondPoint,
const gp_Pnt theThirdPoint 
)

Constructs the angle display object defined by three points.

Parameters
theFirstPoint[in] the first point (point on first angle flyout).
theSecondPoint[in] the center point of angle dimension.
theThirdPoint[in] the second point (point on second angle flyout).

◆ PrsDim_AngleDimension() [3/6]

PrsDim_AngleDimension::PrsDim_AngleDimension ( const TopoDS_Vertex theFirstVertex,
const TopoDS_Vertex theSecondVertex,
const TopoDS_Vertex theThirdVertex 
)

Constructs the angle display object defined by three vertices.

Parameters
theFirstVertex[in] the first vertex (vertex for first angle flyout).
theSecondVertex[in] the center vertex of angle dimension.
theThirdPoint[in] the second vertex (vertex for second angle flyout).

◆ PrsDim_AngleDimension() [4/6]

PrsDim_AngleDimension::PrsDim_AngleDimension ( const TopoDS_Face theCone)

Constructs angle dimension for the cone face.

Parameters
theCone[in] the conical face.

◆ PrsDim_AngleDimension() [5/6]

PrsDim_AngleDimension::PrsDim_AngleDimension ( const TopoDS_Face theFirstFace,
const TopoDS_Face theSecondFace 
)

Constructs angle dimension between two planar faces.

Parameters
theFirstFace[in] the first face.
theSecondFace[in] the second face.

◆ PrsDim_AngleDimension() [6/6]

PrsDim_AngleDimension::PrsDim_AngleDimension ( const TopoDS_Face theFirstFace,
const TopoDS_Face theSecondFace,
const gp_Pnt thePoint 
)

Constructs angle dimension between two planar faces.

Parameters
theFirstFace[in] the first face.
theSecondFace[in] the second face.
thePoint[in] the point which the dimension plane should pass through. This point can lay on the one of the faces or not.

Member Function Documentation

◆ AdjustParameters()

void PrsDim_AngleDimension::AdjustParameters ( const gp_Pnt theTextPos,
Standard_Real theExtensionSize,
Prs3d_DimensionTextHorizontalPosition theAlignment,
Standard_Real theFlyout 
) 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.
theExtensionSize[out] the adjusted extension size.
theAlignment[out] the horizontal label alignment.
theFlyout[out] the adjusted value of flyout.

◆ CenterPoint()

const gp_Pnt & PrsDim_AngleDimension::CenterPoint ( ) const
inline
Returns
center point forming the angle.

◆ CheckPlane()

virtual Standard_Boolean PrsDim_AngleDimension::CheckPlane ( const gp_Pln thePlane) const
overrideprotectedvirtual

Checks if the plane includes three angle points to build dimension.

Reimplemented from PrsDim_Dimension.

◆ Compute()

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

Calculates the 3D view presentation for specified display mode. This is a key interface for implementing Presentable Object interface.

Parameters
thePrsMgrpresentation manager where presentation has been created
thePrspresentation to fill
theModedisplay mode to compute; can be any number accepted by AcceptDisplayMode() method
See also
AcceptDisplayMode()

Implements PrsMgr_PresentableObject.

◆ ComputeFlyoutSelection()

virtual void PrsDim_AngleDimension::ComputeFlyoutSelection ( const Handle< SelectMgr_Selection > &  ,
const Handle< SelectMgr_EntityOwner > &   
)
overrideprotectedvirtual

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

◆ ComputePlane()

virtual void PrsDim_AngleDimension::ComputePlane ( )
protectedvirtual

◆ ComputeValue()

virtual Standard_Real PrsDim_AngleDimension::ComputeValue ( ) const
overrideprotectedvirtual

Override this method to computed value of dimension.

Returns
value from the measured geometry.

Reimplemented from PrsDim_Dimension.

◆ DrawArc()

void PrsDim_AngleDimension::DrawArc ( const Handle< Prs3d_Presentation > &  thePresentation,
const gp_Pnt theFirstAttach,
const gp_Pnt theSecondAttach,
const gp_Pnt theCenter,
const Standard_Real  theRadius,
const Standard_Integer  theMode 
)
protected

Draws main dimension line (arc).

Parameters
thePresentation[in] the dimension presentation.
theFirstAttach[in] the first attachment point.
theSecondAttach[in] the second attachment point.
theCenter[in] the center point (center point of the angle).
theRadius[in] the radius of the dimension arc.
theMode[in] the display mode.

◆ DrawArcWithText()

void PrsDim_AngleDimension::DrawArcWithText ( const Handle< Prs3d_Presentation > &  thePresentation,
const gp_Pnt theFirstAttach,
const gp_Pnt theSecondAttach,
const gp_Pnt theCenter,
const TCollection_ExtendedString theText,
const Standard_Real  theTextWidth,
const Standard_Integer  theMode,
const Standard_Integer  theLabelPosition 
)
protected

Draws main dimension line (arc) with text.

Parameters
thePresentation[in] the dimension presentation.
theFirstAttach[in] the first attachment point.
theSecondAttach[in] the second attachment point.
theCenter[in] the center point (center point of the angle).
theText[in] the text label string.
theTextWidth[in] the text label width.
theMode[in] the display mode.
theLabelPosition[in] the text label vertical and horizontal positioning option respectively to the main dimension line.

◆ FirstPoint()

const gp_Pnt & PrsDim_AngleDimension::FirstPoint ( ) const
inline
Returns
first point forming the angle.

◆ FirstShape()

const TopoDS_Shape & PrsDim_AngleDimension::FirstShape ( ) const
inline
Returns
first argument shape.

◆ FitTextAlignment()

void PrsDim_AngleDimension::FitTextAlignment ( const Prs3d_DimensionTextHorizontalPosition theHorizontalTextPos,
Standard_Integer theLabelPosition,
Standard_Boolean theIsArrowsExternal 
) const
protected

Fits text alignment relatively to the dimension line; it computes the value of label position and arrow orientation according set in the aspect and dimension properties.

Parameters
theHorizontalTextPos[in] the horizontal alignment for text position.
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.

◆ GetArrowsVisibility()

PrsDim_TypeOfAngleArrowVisibility PrsDim_AngleDimension::GetArrowsVisibility ( ) const
inline
Returns
the type of visibility of arrows.

◆ GetCenterOnArc()

gp_Pnt PrsDim_AngleDimension::GetCenterOnArc ( const gp_Pnt theFirstAttach,
const gp_Pnt theSecondAttach,
const gp_Pnt theCenter 
) const
protected
Parameters
theFirstAttach[in] the first attachment point.
theSecondAttach[in] the second attachment point.
theCenter[in] the center point (center point of the angle).
Returns
the center of the dimension arc (the main dimension line in case of angle).

◆ GetDisplayUnits()

virtual const TCollection_AsciiString & PrsDim_AngleDimension::GetDisplayUnits ( ) const
overridevirtual
Returns
the display units string.

Reimplemented from PrsDim_Dimension.

◆ GetModelUnits()

virtual const TCollection_AsciiString & PrsDim_AngleDimension::GetModelUnits ( ) const
overridevirtual
Returns
the model units string.

Reimplemented from PrsDim_Dimension.

◆ GetNormalForMinAngle()

gp_Dir PrsDim_AngleDimension::GetNormalForMinAngle ( ) const
protected

Gets plane normal for minimal angle. Dimension computation is based on three attach points and plane normal. Based on this normal angle arc, arrows and extensions are constructed.

◆ GetTextPosition()

virtual gp_Pnt PrsDim_AngleDimension::GetTextPosition ( ) const
overridevirtual

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

Reimplemented from PrsDim_Dimension.

◆ GetType()

PrsDim_TypeOfAngle PrsDim_AngleDimension::GetType ( ) const
inline
Returns
the current angle type.

◆ Init()

void PrsDim_AngleDimension::Init ( )
protected

Initialization of fields that is common to all constructors.

◆ InitConeAngle()

Standard_Boolean PrsDim_AngleDimension::InitConeAngle ( )
protected

Init angular dimension to measure cone face.

Returns
TRUE if the angular dimension can be constructed for the passed cone.

◆ InitTwoEdgesAngle()

Standard_Boolean PrsDim_AngleDimension::InitTwoEdgesAngle ( gp_Pln theComputedPlane)
protected

Init angular dimension to measure angle between two linear edges.

Returns
TRUE if the angular dimension can be constructured for the passed edges.

◆ InitTwoFacesAngle() [1/2]

Standard_Boolean PrsDim_AngleDimension::InitTwoFacesAngle ( )
protected

Init angular dimension to measure angle between two planar faces. there is no user-defined poisitoning. So attach points are set according to faces geometry (in origin of the first face basis surface).

Returns
TRUE if the angular dimension can be constructed for the passed faces.

◆ InitTwoFacesAngle() [2/2]

Standard_Boolean PrsDim_AngleDimension::InitTwoFacesAngle ( const gp_Pnt thePointOnFirstFace)
protected

Init angular dimension to measure angle between two planar faces.

Parameters
thePointOnFirstFace[in] the point which the dimension plane should pass through. This point can lay on the one of the faces or not. It will be projected on the first face and this point will be set as the first point attach point. It defines some kind of dimension positioning over the faces.
Returns
TRUE if the angular dimension can be constructed for the passed faces.

◆ isArrowVisible()

Standard_Boolean PrsDim_AngleDimension::isArrowVisible ( const PrsDim_TypeOfAngleArrowVisibility  theArrowType) const
protected

Returns true if the arrow should be visible.

Parameters
theArrowTypean arrow type
Returns
TRUE if the arrow should be visible

◆ IsValidPoints()

Standard_Boolean PrsDim_AngleDimension::IsValidPoints ( const gp_Pnt theFirstPoint,
const gp_Pnt theCenterPoint,
const gp_Pnt theSecondPoint 
) const
protected

Check that the points forming angle are valid.

Returns
TRUE if the points met the following requirements: The (P1, Center), (P2, Center) can be built. The angle between the vectors > Precision::Angular().

◆ SecondPoint()

const gp_Pnt & PrsDim_AngleDimension::SecondPoint ( ) const
inline
Returns
second point forming the angle.

◆ SecondShape()

const TopoDS_Shape & PrsDim_AngleDimension::SecondShape ( ) const
inline
Returns
second argument shape.

◆ SetArrowsVisibility()

void PrsDim_AngleDimension::SetArrowsVisibility ( const PrsDim_TypeOfAngleArrowVisibility theType)
inline

Sets visible arrows type.

Parameters
theType[in] the type of visibility of arrows.

◆ SetDisplayUnits()

virtual void PrsDim_AngleDimension::SetDisplayUnits ( const TCollection_AsciiString theUnits)
overridevirtual

Reimplemented from PrsDim_Dimension.

◆ SetMeasuredGeometry() [1/6]

void PrsDim_AngleDimension::SetMeasuredGeometry ( const gp_Pnt theFirstPoint,
const gp_Pnt theSecondPoint,
const gp_Pnt theThridPoint 
)

Measures angle defined by three points.

Parameters
theFirstPoint[in] the first point (point on first angle flyout).
theSecondPoint[in] the center point of angle dimension.
theThirdPoint[in] the second point (point on second angle flyout).

◆ SetMeasuredGeometry() [2/6]

void PrsDim_AngleDimension::SetMeasuredGeometry ( const TopoDS_Edge theFirstEdge,
const TopoDS_Edge theSecondEdge 
)

Measures minimum angle dimension between two linear edges. These two edges should be intersected by each other. Otherwise the geometry is not valid.

Parameters
theFirstEdge[in] the first edge.
theSecondEdge[in] the second edge.

◆ SetMeasuredGeometry() [3/6]

void PrsDim_AngleDimension::SetMeasuredGeometry ( const TopoDS_Face theCone)

Measures angle of conical face.

Parameters
theCone[in] the shape to measure.

◆ SetMeasuredGeometry() [4/6]

void PrsDim_AngleDimension::SetMeasuredGeometry ( const TopoDS_Face theFirstFace,
const TopoDS_Face theSecondFace 
)

Measures angle between two planar faces.

Parameters
theFirstFace[in] the first face.
theSecondFace[in] the second face..

◆ SetMeasuredGeometry() [5/6]

void PrsDim_AngleDimension::SetMeasuredGeometry ( const TopoDS_Face theFirstFace,
const TopoDS_Face theSecondFace,
const gp_Pnt thePoint 
)

Measures angle between two planar faces.

Parameters
theFirstFace[in] the first face.
theSecondFace[in] the second face.
thePoint[in] the point which the dimension plane should pass through. This point can lay on the one of the faces or not.

◆ SetMeasuredGeometry() [6/6]

void PrsDim_AngleDimension::SetMeasuredGeometry ( const TopoDS_Vertex theFirstVertex,
const TopoDS_Vertex theSecondVertex,
const TopoDS_Vertex theThirdVertex 
)

Measures angle defined by three vertices.

Parameters
theFirstVertex[in] the first vertex (vertex for first angle flyout).
theSecondVertex[in] the center vertex of angle dimension.
theThirdPoint[in] the second vertex (vertex for second angle flyout).

◆ SetModelUnits()

virtual void PrsDim_AngleDimension::SetModelUnits ( const TCollection_AsciiString theUnits)
overridevirtual

Reimplemented from PrsDim_Dimension.

◆ SetTextPosition()

virtual void PrsDim_AngleDimension::SetTextPosition ( const gp_Pnt theTextPos)
overridevirtual

Principle of horizontal text alignment settings:

  • divide circle into two halves according to attachment points
  • if aTextPos is between attach points -> Center + positive flyout
  • if aTextPos is not between attach points but in this half -> Left or Right + positive flyout
  • if aTextPos is between reflections of attach points -> Center + negative flyout
  • if aTextPos is not between reflections of attach points -> Left or Right + negative flyout

Reimplemented from PrsDim_Dimension.

◆ SetType()

void PrsDim_AngleDimension::SetType ( const PrsDim_TypeOfAngle  theType)
inline

Sets angle type.

Parameters
theType[in] the type value.

◆ ThirdShape()

const TopoDS_Shape & PrsDim_AngleDimension::ThirdShape ( ) const
inline
Returns
third argument shape.

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