Rhino C++ API  7.19
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ON_Dimension Class Referenceabstract

#include <opennurbs_dimension.h>

Inheritance diagram for ON_Dimension:
ON_Annotation ON_Geometry ON_Object ON_Centermark ON_DimAngular ON_DimLinear ON_DimOrdinate ON_DimRadial

Public Types

enum  ForceArrow : unsigned int { ForceArrow::Auto = 0, ForceArrow::Inside = 1, ForceArrow::Outside = 2 }
 OBSOLETE enum do not use. More...
enum  ForceText : unsigned int {
  ForceText::Auto = 0, ForceText::Inside = 1, ForceText::Right = 2, ForceText::Left = 3,
  ForceText::HintRight = 4, ForceText::HintLeft = 5
 OBSOLETE enum do not use. More...
- Public Types inherited from ON_Object
enum  UserDataConflictResolution : unsigned char {
  UserDataConflictResolution::destination_object = 0, UserDataConflictResolution::source_object = 1, UserDataConflictResolution::source_copycount_gt = 2, UserDataConflictResolution::source_copycount_ge = 3,
  UserDataConflictResolution::destination_copycount_gt = 4, UserDataConflictResolution::destination_copycount_ge = 5, UserDataConflictResolution::delete_item = 6

Public Member Functions

ON_DimStyle::arrow_fit ArrowFit (const ON_DimStyle *parent_style) const
bool ArrowIsFlipped (int i) const
virtual ON_2dPoint DefaultTextPoint () const
ON_UUID DetailMeasured () const
double DistanceScale () const
void FlipArrow (int i, bool flip) const
ON_Dimension::ForceArrow ForceArrowPosition () const
bool ForceDimLine (const ON_DimStyle *parent_style) const
ON_Dimension::ForceText ForceTextPosition () const
virtual bool GetDistanceDisplayText (ON::LengthUnitSystem units_in, const ON_DimStyle *dimstyle, ON_wString &displaytext) const
virtual bool GetTextRect (ON_3dPoint text_rect[4]) const
bool IsValid (class ON_TextLog *text_log=nullptr) const override
virtual double Measurement () const =0
 Computes measurement value as a number. More...
const wchar_t * PlainUserText () const
ON_TextContentRebuildDimensionText (ON::LengthUnitSystem units_in, const ON_DimStyle *dimstyle, bool expandanglebrackets) const
 Makes text geometry for a dimension. More...
void Set2dTextPoint (const ON_2dPoint &textpoint)
void SetArrowFit (const ON_DimStyle *parent_style, ON_DimStyle::arrow_fit arrowfit)
void SetDetailMeasured (ON_UUID uuid)
void SetDistanceScale (double distance_scale) const
void SetForceArrowPosition (ForceArrow force)
void SetForceDimLine (const ON_DimStyle *parent_style, bool forcedimline)
void SetForceTextPosition (ForceText force)
void SetTextFit (const ON_DimStyle *parent_style, ON_DimStyle::text_fit textfit)
void SetTextRotation (double rotation_radians)
virtual void SetUseDefaultTextPoint (bool usedefault)
void SetUserText (const wchar_t *text)
ON_DimStyle::text_fit TextFit (const ON_DimStyle *parent_style) const
ON_2dPoint TextPoint () const
 Text center-midpoint in dimension plane. More...
double TextRotation () const
virtual bool UpdateDimensionText (ON::LengthUnitSystem units_in, const ON_DimStyle *dimstyle) const
 Remakes dimension text geometry object and sets it on the dimension. More...
virtual bool UseDefaultTextPoint () const
const wchar_t * UserText () const
- Public Member Functions inherited from ON_Annotation
bool AllowTextScaling () const
bool Alternate (const ON_DimStyle *parent_style) const
 Additional measurement display toggle. More...
bool AlternateBelow (const ON_DimStyle *parent_style) const
ON_DimStyle::LengthDisplay AlternateDimensionLengthDisplay (const ON_DimStyle *parent_style) const
ON::LengthUnitSystem AlternateDimensionLengthDisplayUnit (const ON_DimStyle *parent_style, unsigned int model_sn) const
 Parameters: model_sn - 0, a model serial number, or ON_UNSET_UINT_INDEX to use the dimstyle's ModelSerialNumber() value. Returns Unit system for dimension length display. If DimensionLengthDisplay() == ON_DimStyle::LengthDisplay::ModelUnits and model_sn > 0, then the value of ON::LengthUnitSystemFromModelSerialNumber(model_sn) is returned. If DimensionLengthDisplay() == ON_DimStyle::LengthDisplay::ModelUnits and model_sn == 0, then ON::LengthUnitSystem::None is returned. /summary> More...
double AlternateLengthFactor (const ON_DimStyle *parent_style) const
 Distance scale factor for alternate display. More...
int AlternateLengthResolution (const ON_DimStyle *parent_style) const
 Display resolution for alternate length measurements. More...
const wchar_t * AlternatePrefix (const ON_DimStyle *parent_style) const
 Dimension alternate prefix text. More...
double AlternateRoundOff (const ON_DimStyle *parent_style) const
const wchar_t * AlternateSuffix (const ON_DimStyle *parent_style) const
 Dimension alternate suffix text. More...
int AlternateToleranceResolution (const ON_DimStyle *parent_style) const
ON_DimStyle::suppress_zero AlternateZeroSuppress (const ON_DimStyle *parent_style) const
ON_DimStyle::angle_format AngleFormat (const ON_DimStyle *parent_style) const
 Angle units - Degrees, Degrees-Minutes-Seconds, Radians. More...
int AngleResolution (const ON_DimStyle *parent_style) const
 Display resolution for angle measurements. More...
double AngleRoundOff (const ON_DimStyle *parent_style) const
ON_DimStyle::suppress_zero AngleZeroSuppress (const ON_DimStyle *parent_style) const
int ArcLengthSymbol (const ON_DimStyle *parent_style) const
ON_UUID ArrowBlockId1 (const ON_DimStyle *parent_style) const
ON_UUID ArrowBlockId2 (const ON_DimStyle *parent_style) const
double ArrowSize (const ON_DimStyle *parent_style) const
 Arrow size. More...
ON_Arrowhead::arrow_type ArrowType1 (const ON_DimStyle *parent_style) const
ON_Arrowhead::arrow_type ArrowType2 (const ON_DimStyle *parent_style) const
double BaselineSpacing (const ON_DimStyle *parent_style) const
double CenterMarkSize (const ON_DimStyle *parent_style) const
 Centermark size. More...
ON_DimStyle::centermark_style CenterMarkStyle (const ON_DimStyle *parent_style) const
 Centermark style. More...
void ClearFieldOverride (ON_DimStyle::field field)
void ClearOverrideDimensionStyle ()
void ClearText () const
wchar_t DecimalSeparator (const ON_DimStyle *parent_style) const
ON_DimStyle::LengthDisplay DimensionLengthDisplay (const ON_DimStyle *parent_style) const
ON::LengthUnitSystem DimensionLengthDisplayUnit (const ON_DimStyle *parent_style, unsigned int model_sn) const
 Parameters: model_sn - 0, a model serial number, or ON_UNSET_UINT_INDEX to use the dimstyle's ModelSerialNumber() value. Returns Unit system for dimension length display. If DimensionLengthDisplay() == ON_DimStyle::LengthDisplay::ModelUnits and model_sn > 0, then the value of ON::LengthUnitSystemFromModelSerialNumber(model_sn) is returned. If DimensionLengthDisplay() == ON_DimStyle::LengthDisplay::ModelUnits and model_sn == 0, then ON::LengthUnitSystem::None is returned. /summary> More...
const ON_DimStyleDimensionStyle (const ON_DimStyle &parent_dimstyle) const
const ON_DimStyleDimensionStyle (const ON_DimStyle &parent_dimstyle, bool bForceOverrideUpdate) const
ON_UUID DimensionStyleId () const
double DimExtension (const ON_DimStyle *parent_style) const
 Extension of dimension line past extension lines. More...
ON_DimStyle::ContentAngleStyle DimRadialTextAngleStyle (const ON_DimStyle *parent_style) const
ON_DimStyle::TextLocation DimRadialTextLocation (const ON_DimStyle *parent_style) const
 The location of text relative to the dimension line in radial dimensions. More...
ON::TextOrientation DimRadialTextOrientation (const ON_DimStyle *parent_style) const
double DimScale (const ON_DimStyle *parent_style) const
ON_SHA1_Hash DimStyleTextPositionPropertiesHash () const
ON_DimStyle::ContentAngleStyle DimTextAngleStyle (const ON_DimStyle *parent_style) const
ON_DimStyle::TextLocation DimTextLocation (const ON_DimStyle *parent_style) const
 The location of text relative to the dimension line in linear, angular, and ordinate dimensions. More...
ON::TextOrientation DimTextOrientation (const ON_DimStyle *parent_style) const
bool DrawForward (const ON_DimStyle *parent_style) const
bool DrawTextMask (const ON_DimStyle *parent_style) const
 Determines whether or not to draw a Text Mask. More...
bool EqualTextPositionProperties (const class ON_DimStyle *dimstyle) const
double ExtensionLineExtension (const ON_DimStyle *parent_style) const
 These next several functions are to set overrides on individual annotation objects. More...
double ExtensionLineOffset (const ON_DimStyle *parent_style) const
 Extension line offset. More...
bool FieldIsOverridden (ON_DimStyle::field field) const
const ON_FontFirstCharFont () const
double FixedExtensionLength (const ON_DimStyle *parent_style) const
bool FixedExtensionLengthOn (const ON_DimStyle *parent_style) const
const class ON_FontFont (const ON_DimStyle *parent_style) const
const class ON_FontFontCharacteristics (const ON_DimStyle *parent_style) const
const bool FontSubstituted (const ON_DimStyle *parent_style) const
double FormattingRectangleWidth () const
 FormattingRectangleWidth is a width set by text wrapping. It's in model units. More...
void GetAlignment (ON::TextHorizontalAlignment &horz, ON::TextVerticalAlignment &vert) const
virtual bool GetAnnotationBoundingBox (const ON_Viewport *vp, const ON_DimStyle *dimstyle, double dimscale, double *boxmin, double *boxmax, bool bGrow=false) const =0
bool GetText3dCorners (ON_3dPoint corners[4]) const
bool GetTextGlyphContours (const ON_Viewport *vp, const ON_DimStyle *dimstyle, bool bApplyDimStyleDimScale, bool bSingleStrokeFont, ON_ClassArray< ON_ClassArray< ON_SimpleArray< ON_Curve * > > > &text_contours) const
virtual bool GetTextXform (const ON_Viewport *vp, const ON_DimStyle *dimstyle, double dimscale, ON_Xform &text_xform_out) const =0
bool GetTextXform (const ON_Xform *model_xform, const ON_Viewport *vp, const ON_DimStyle *dimstyle, double dimscale, ON_Xform &text_xform_out) const
bool HasDimensionStyleOverrides () const
 Quickly check if this annotation object has style overrides applied. More...
const ON_2dVector HorizontalDirection () const
bool IsAllBold () const
 true if all of the text is bold More...
bool IsAllItalic () const
 true if all of the text is italic More...
bool IsAllUnderlined () const
 true if all of the text is underlined More...
bool IsOverrideDimStyleCandidate (const ON_DimStyle *override_style_candidate, bool bRequireSetOverrides) const
bool IsOverrideStylePointer (const ON_DimStyle *ptr) const
ON_UUID LeaderArrowBlockId (const ON_DimStyle *parent_style) const
double LeaderArrowSize (const ON_DimStyle *parent_style) const
 Arrow size. More...
ON_Arrowhead::arrow_type LeaderArrowType (const ON_DimStyle *parent_style) const
double LeaderContentAngleDegrees (const ON_DimStyle *parent_style) const
double LeaderContentAngleRadians (const ON_DimStyle *parent_style) const
ON_DimStyle::ContentAngleStyle LeaderContentAngleStyle (const ON_DimStyle *parent_style) const
ON_DimStyle::leader_curve_type LeaderCurveType (const ON_DimStyle *parent_style) const
bool LeaderHasLanding (const ON_DimStyle *parent_style) const
double LeaderLandingLength (const ON_DimStyle *parent_style) const
ON::TextHorizontalAlignment LeaderTextHorizontalAlignment (const ON_DimStyle *parent_style) const
ON::TextOrientation LeaderTextOrientation (const ON_DimStyle *parent_style) const
ON::TextVerticalAlignment LeaderTextVerticalAlignment (const ON_DimStyle *parent_style) const
double LengthFactor (const ON_DimStyle *parent_style) const
 Scale factor for displayed distances. More...
int LengthResolution (const ON_DimStyle *parent_style) const
 Display resolution for distance measurements. More...
double MaskBorder (const ON_DimStyle *parent_style) const
ON_Color MaskColor (const ON_DimStyle *parent_style) const
 Only works right if MaskColorSource returns 1. More...
ON_TextMask::MaskType MaskFillType (const ON_DimStyle *parent_style) const
 Determines where to get the color to draw a Text Mask. More...
ON_TextMask::MaskFrame MaskFrameType (const ON_DimStyle *parent_style) const
 Determines whether to draw a frame around a text mask. More...
ON::object_type ObjectType () const override
const ON_wString PlainText () const
const ON_wString PlainTextWithFields () const
const ON_wString PlainTextWithFields (ON_SimpleArray< ON_3dex > *runmap) const
const ON_PlanePlane () const
const wchar_t * Prefix (const ON_DimStyle *parent_style) const
 Dimension prefix text. More...
bool ReplaceTextString (const wchar_t *RtfString, const ON_DimStyle *dimstyle)
const ON_wString RichText () const
double RoundOff (const ON_DimStyle *parent_style) const
const wchar_t * RtfText () const
bool RunReplaceString (const ON_DimStyle *dimstyle, const wchar_t *str, int start_run_idx, int start_run_pos, int end_run_idx, int end_run_pos)
void ScaleOverrideDimstyle (const ON_DimStyle *parent_dimstyle, double scale)
void SetAlignment (ON::TextHorizontalAlignment horz, ON::TextVerticalAlignment vert)
void SetAllowTextScaling (bool scale)
void SetAlternate (const ON_DimStyle *parent_style, bool)
void SetAlternateBelow (const ON_DimStyle *parent_style, bool below)
void SetAlternateDimensionLengthDisplay (const ON_DimStyle *parent_style, ON_DimStyle::LengthDisplay length_display)
void SetAlternateLengthFactor (const ON_DimStyle *parent_style, double)
void SetAlternateLengthResolution (const ON_DimStyle *parent_style, int)
void SetAlternatePrefix (const ON_DimStyle *parent_style, const wchar_t *)
void SetAlternateRoundOff (const ON_DimStyle *parent_style, double r)
void SetAlternateSuffix (const ON_DimStyle *parent_style, const wchar_t *)
void SetAlternateToleranceResolution (const ON_DimStyle *parent_style, int r)
void SetAlternateZeroSuppress (const ON_DimStyle *parent_style, ON_DimStyle::suppress_zero s)
void SetAngleFormat (const ON_DimStyle *parent_style, ON_DimStyle::angle_format format)
void SetAngleResolution (const ON_DimStyle *parent_style, int r)
void SetAngleRoundOff (const ON_DimStyle *parent_style, double r)
void SetAngleZeroSuppress (const ON_DimStyle *parent_style, ON_DimStyle::suppress_zero s)
bool SetAnnotationBold (bool bold, const ON_DimStyle *dimstyle)
bool SetAnnotationFacename (bool set_or_clear, const wchar_t *facename, const ON_DimStyle *parent_style)
bool SetAnnotationFont (const ON_Font *font, const ON_DimStyle *parent_style)
bool SetAnnotationItalic (bool italic, const ON_DimStyle *dimstyle)
bool SetAnnotationUnderline (bool underline, const ON_DimStyle *dimstyle)
void SetArcLengthSymbol (const ON_DimStyle *parent_style, int m)
void SetArrowBlockId1 (const ON_DimStyle *parent_style, ON_UUID id)
void SetArrowBlockId2 (const ON_DimStyle *parent_style, ON_UUID id)
void SetArrowSize (const ON_DimStyle *parent_style, double d)
void SetArrowType1 (const ON_DimStyle *parent_style, ON_Arrowhead::arrow_type)
void SetArrowType1And2 (const ON_DimStyle *parent_style, ON_Arrowhead::arrow_type)
void SetArrowType2 (const ON_DimStyle *parent_style, ON_Arrowhead::arrow_type)
void SetBaselineSpacing (const ON_DimStyle *parent_style, double spacing)
void SetCenterMarkSize (const ON_DimStyle *parent_style, double d)
void SetCenterMarkStyle (const ON_DimStyle *parent_style, ON_DimStyle::centermark_style style)
void SetDecimalSeparator (const ON_DimStyle *parent_style, wchar_t separator)
void SetDimensionLengthDisplay (const ON_DimStyle *parent_style, ON_DimStyle::LengthDisplay length_display)
void SetDimensionStyleId (const class ON_DimStyle &dim_style)
void SetDimensionStyleId (ON_UUID dimstyle_id)
void SetDimensionStyleIdForExperts (ON_UUID dimstyle_id, bool bKeepOverrides)
void SetDimExtension (const ON_DimStyle *parent_style, const double e)
void SetDimRadialTextAngleStyle (const ON_DimStyle *parent_style, ON_DimStyle::ContentAngleStyle style)
void SetDimRadialTextLocation (const ON_DimStyle *parent_style, ON_DimStyle::TextLocation dim_text_location)
void SetDimRadialTextOrientation (const ON_DimStyle *parent_style, ON::TextOrientation orientation)
void SetDimScale (const ON_DimStyle *parent_style, double scale)
void SetDimTextAngleStyle (const ON_DimStyle *parent_style, ON_DimStyle::ContentAngleStyle style)
void SetDimTextLocation (const ON_DimStyle *parent_style, ON_DimStyle::TextLocation dim_text_location)
void SetDimTextOrientation (const ON_DimStyle *parent_style, ON::TextOrientation orientation)
void SetDrawForward (const ON_DimStyle *parent_style, bool drawforward)
void SetDrawTextMask (const ON_DimStyle *parent_style, bool bDraw)
void SetExtensionLineExtension (const ON_DimStyle *parent_style, double d)
void SetExtensionLineOffset (const ON_DimStyle *parent_style, double d)
void SetFixedExtensionLength (const ON_DimStyle *parent_style, double l)
void SetFixedExtensionLengthOn (const ON_DimStyle *parent_style, bool on)
void SetFont (const ON_DimStyle *parent_style, const class ON_Font &font_characteristics)
void SetFormattingRectangleWidth (double width)
void SetHorizontalDirection (ON_2dVector)
void SetLeaderArrowBlockId (const ON_DimStyle *parent_style, ON_UUID id)
void SetLeaderArrowSize (const ON_DimStyle *parent_style, double d)
void SetLeaderArrowType (const ON_DimStyle *parent_style, ON_Arrowhead::arrow_type)
void SetLeaderContentAngleDegrees (const ON_DimStyle *parent_style, double angle_degrees)
void SetLeaderContentAngleRadians (const ON_DimStyle *parent_style, double angle_radians)
void SetLeaderContentAngleStyle (const ON_DimStyle *parent_style, ON_DimStyle::ContentAngleStyle style)
void SetLeaderCurveType (const ON_DimStyle *parent_style, ON_DimStyle::leader_curve_type type)
void SetLeaderHasLanding (const ON_DimStyle *parent_style, bool landing)
void SetLeaderLandingLength (const ON_DimStyle *parent_style, double length)
void SetLeaderTextHorizontalAlignment (const ON_DimStyle *parent_style, ON::TextHorizontalAlignment halign)
void SetLeaderTextOrientation (const ON_DimStyle *parent_style, ON::TextOrientation orientation)
void SetLeaderTextVerticalAlignment (const ON_DimStyle *parent_style, ON::TextVerticalAlignment style)
void SetLengthFactor (const ON_DimStyle *parent_style, double)
void SetLengthResolution (const ON_DimStyle *parent_style, int r)
void SetMaskBorder (const ON_DimStyle *parent_style, double offset)
void SetMaskColor (const ON_DimStyle *parent_style, ON_Color color)
 Does not return viewport background color. More...
void SetMaskFillType (const ON_DimStyle *parent_style, ON_TextMask::MaskType source)
void SetMaskFrameType (const ON_DimStyle *parent_style, ON_TextMask::MaskFrame source)
bool SetOverrideDimensionStyle (const ON_DimStyle *override_style_candidate, bool bRequireSetOverrides)
bool SetOverrideDimensionStyle (ON_DimStyle *&override_style) const
void SetPlane (const ON_Plane &plane)
void SetPrefix (const ON_DimStyle *parent_style, const wchar_t *)
void SetRoundOff (const ON_DimStyle *parent_style, double r)
void SetSignedOrdinate (const ON_DimStyle *parent_style, bool allowsigned)
void SetStackFractionFormat (const ON_DimStyle *parent_style, ON_DimStyle::stack_format f)
void SetStackHeightScale (const ON_DimStyle *parent_style, double f)
void SetSuffix (const ON_DimStyle *parent_style, const wchar_t *)
void SetSuppressArrow1 (const ON_DimStyle *parent_style, bool s)
void SetSuppressArrow2 (const ON_DimStyle *parent_style, bool s)
void SetSuppressExtension1 (const ON_DimStyle *parent_style, bool b)
void SetSuppressExtension2 (const ON_DimStyle *parent_style, bool b)
void SetText (ON_TextContent *&text) const
void SetTextGap (const ON_DimStyle *parent_style, double gap)
void SetTextHeight (const ON_DimStyle *parent_style, double height)
void SetTextHorizontalAlignment (const ON_DimStyle *parent_style, ON::TextHorizontalAlignment halign)
void SetTextMask (const ON_DimStyle *parent_style, const ON_TextMask &mask)
void SetTextMoveLeader (const ON_DimStyle *parent_style, int m)
void SetTextOrientation (const ON_DimStyle *parent_style, ON::TextOrientation orientation)
virtual void SetTextRotationDegrees (double rotation)
virtual void SetTextRotationRadians (double rotation)
void SetTextUnderlined (const ON_DimStyle *parent_style, bool underlined)
void SetTextVerticalAlignment (const ON_DimStyle *parent_style, ON::TextVerticalAlignment style)
void SetToleranceFormat (const ON_DimStyle *parent_style, ON_DimStyle::tolerance_format format)
void SetToleranceHeightScale (const ON_DimStyle *parent_style, double scale)
void SetToleranceLowerValue (const ON_DimStyle *parent_style, double lower_value)
void SetToleranceResolution (const ON_DimStyle *parent_style, int resolution)
void SetToleranceUpperValue (const ON_DimStyle *parent_style, double upper_value)
void SetToleranceZeroSuppress (const ON_DimStyle *parent_style, ON_DimStyle::suppress_zero s)
void SetZeroSuppress (const ON_DimStyle *parent_style, ON_DimStyle::suppress_zero s)
bool SignedOrdinate (const ON_DimStyle *parent_style) const
ON_DimStyle::stack_format StackFractionFormat (const ON_DimStyle *parent_style) const
double StackHeightScale (const ON_DimStyle *parent_style) const
const wchar_t * Suffix (const ON_DimStyle *parent_style) const
 Dimension suffix text. More...
bool SuppressArrow1 (const ON_DimStyle *parent_style) const
bool SuppressArrow2 (const ON_DimStyle *parent_style) const
bool SuppressExtension1 (const ON_DimStyle *parent_style) const
 Suppress first dimension extension line. More...
bool SuppressExtension2 (const ON_DimStyle *parent_style) const
 Suppress second dimension extension line. More...
ON_TextContentText ()
const ON_TextContentText () const
double TextGap (const ON_DimStyle *parent_style) const
 Distance from dimension lines to text. More...
double TextHeight (const ON_DimStyle *parent_style) const
 Height of dimension text. More...
ON::TextHorizontalAlignment TextHorizontalAlignment (const ON_DimStyle *parent_style) const
int TextMoveLeader (const ON_DimStyle *parent_style) const
ON::TextOrientation TextOrientation (const ON_DimStyle *parent_style) const
virtual double TextRotationDegrees () const
 return angle in degrees between text plane and object plane More...
virtual double TextRotationRadians () const
 return angle in radians between text plane and object plane More...
bool TextUnderlined (const ON_DimStyle *parent_style) const
ON::TextVerticalAlignment TextVerticalAlignment (const ON_DimStyle *parent_style) const
ON_DimStyle::tolerance_format ToleranceFormat (const ON_DimStyle *parent_style) const
double ToleranceHeightScale (const ON_DimStyle *parent_style) const
double ToleranceLowerValue (const ON_DimStyle *parent_style) const
int ToleranceResolution (const ON_DimStyle *parent_style) const
double ToleranceUpperValue (const ON_DimStyle *parent_style) const
ON_DimStyle::suppress_zero ToleranceZeroSuppress (const ON_DimStyle *parent_style) const
ON::AnnotationType Type () const
ON_DimStyle::suppress_zero ZeroSuppress (const ON_DimStyle *parent_style) const
- Public Member Functions inherited from ON_Geometry
 ON_Geometry ()=default
 ON_Geometry (const ON_Geometry &)=default
 ~ON_Geometry ()=default
ON_BoundingBox BoundingBox () const
virtual class ON_BrepBrepForm (class ON_Brep *brep=nullptr) const
virtual void ClearBoundingBox ()
virtual ON_COMPONENT_INDEX ComponentIndex () const
virtual int Dimension () const
virtual bool EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const
virtual bool GetBBox (double *boxmin, double *boxmax, bool bGrowBox=false) const
bool GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, bool bGrowBox=false) const
bool GetBoundingBox (ON_BoundingBox &bbox, bool bGrowBox=false) const
virtual bool GetTightBoundingBox (class ON_BoundingBox &tight_bbox, bool bGrowBox=false, const class ON_Xform *xform=nullptr) const
virtual bool HasBrepForm () const
virtual bool IsDeformable () const
virtual bool IsMorphable () const
bool IsValid (class ON_TextLog *text_log=nullptr) const override
virtual bool MakeDeformable ()
virtual bool Morph (const class ON_SpaceMorph &morph)
ON_Geometryoperator= (const ON_Geometry &)=default
bool Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
bool Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
bool Scale (double scale_factor)
virtual bool SwapCoordinates (int i, int j)
virtual bool Transform (const ON_Xform &xform)
bool Translate (const ON_3dVector &translation_vector)
- Public Member Functions inherited from ON_Object
 ON_Object (const ON_Object &)
virtual ~ON_Object ()
virtual ON_AggregateComponentStatus AggregateComponentStatus () const
bool AttachUserData (class ON_UserData *pUserData)
unsigned int ClearAllComponentStates () const
virtual unsigned int ClearComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_clear) const
virtual unsigned int ClearComponentStates (ON_ComponentStatus states_to_clear) const
void CopyUserData (const ON_Object &source_object)
unsigned int CopyUserData (const ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution)
virtual ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
virtual bool DeleteComponents (const ON_COMPONENT_INDEX *ci_list, size_t ci_count)
virtual void DestroyRuntimeCache (bool bDelete=true)
bool DetachUserData (class ON_UserData *pUserData)
virtual void Dump (ON_TextLog &) const
void EmergencyDestroy ()
class ON_UserDataFirstUserData () const
virtual unsigned int GetComponentsWithSetStates (ON_ComponentStatus states_filter, bool bAllEqualStates, ON_SimpleArray< ON_COMPONENT_INDEX > &components) const
class ON_UserDataGetUserData (const ON_UUID &userdata_uuid) const
bool GetUserString (const wchar_t *key, ON_wString &string_value) const
int GetUserStringKeys (ON_ClassArray< ON_wString > &user_string_keys) const
int GetUserStrings (ON_ClassArray< ON_UserString > &user_strings) const
bool IsCorrupt (bool bRepair, bool bSilentError, class ON_TextLog *text_log) const
bool IsKindOf (const ON_ClassId *pClassId) const
virtual void MarkAggregateComponentStatusAsNotCurrent () const
virtual void MemoryRelocate ()
virtual ON_UUID ModelObjectId () const
void MoveUserData (ON_Object &source_object)
unsigned int MoveUserData (ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution, bool bDeleteAllSourceItems)
ON_Objectoperator= (const ON_Object &)
void PurgeUserData ()
virtual bool Read (ON_BinaryArchive &binary_archive)
virtual unsigned int SetComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_set) const
virtual unsigned int SetComponentStatus (ON_COMPONENT_INDEX component_index, ON_ComponentStatus status_to_copy) const
bool SetUserString (const wchar_t *key, const wchar_t *string_value)
int SetUserStrings (int count, const ON_UserString *user_strings, bool bReplace)
virtual unsigned int SizeOf () const
bool ThisIsNullptr (bool bSilentError) const
void TransformUserData (const class ON_Xform &xform)
virtual bool UpdateReferencedComponents (const class ON_ComponentManifest &source_manifest, const class ON_ComponentManifest &destination_manifest, const class ON_ManifestMap &manifest_map)
int UserStringCount () const
virtual bool Write (ON_BinaryArchive &binary_archive) const

Static Public Member Functions

static ON_Dimension::ForceArrow ForceArrowFromUnsigned (unsigned int force_arrow_as_unsigned)
static ON_Dimension::ForceText ForceTextFromUnsigned (unsigned int force_text_as_unsigned)
static bool GetCentermarkDisplay (const ON_Plane &plane, const ON_2dPoint center, double marksize, double radius, ON_DimStyle::centermark_style style, ON_Line lines[6], bool isline[6], int maxlines)
static bool GetCentermarkSnapPoints (const ON_Plane &plane, const ON_2dPoint center, double marksize, double radius, ON_DimStyle::centermark_style style, ON_3dPoint points[13], bool ispoint[13])
- Static Public Member Functions inherited from ON_Annotation
static void CalcTextFlip (const ON_3dVector &text_xdir, const ON_3dVector &text_ydir, const ON_3dVector &text_zdir, const ON_3dVector &view_xdir, const ON_3dVector &view_ydir, const ON_3dVector &view_zdir, const ON_Xform *model_xform, const double flip_tol, bool &flip_x, bool &flip_y)
static bool ClearRtfFmt (const wchar_t *fmt_str_on, const wchar_t *fmt_str_off, ON_wString &rtf_in)
static ON_AnnotationCreateFromV2Annotation (const class ON_OBSOLETE_V2_Annotation &V2_annotation, const class ON_3dmAnnotationContext *annotation_context)
static ON_AnnotationCreateFromV5Annotation (const class ON_OBSOLETE_V5_Annotation &V5_annotation, const class ON_3dmAnnotationContext *annotation_context)
static int FindRtfTable (ON_wString rtf_in, int startidx, const wchar_t *tablename)
static bool FirstCharTextProperties (const wchar_t *rtf_in, bool &bold, bool &italic, bool &underline, ON_wString &facename)
static ON_3dVector GetDefaultHorizontal (const ON_Plane &plane)
static bool SetAnnotationTextFormat (ON_wString &rtf_in, const wchar_t *fmt_str_on, const wchar_t *fmt_str_off, bool set_on)
static bool SetRtfFmt (ON_wString &rtf_in, const wchar_t *fmt_str)

Protected Member Functions

 ON_Dimension (const ON_Dimension &src)
 ON_Dimension (ON::AnnotationType annotation_type)
 ~ON_Dimension ()
bool Internal_ReadDimension (ON_BinaryArchive &)
bool Internal_WriteDimension (ON_BinaryArchive &) const
ON_Dimensionoperator= (const ON_Dimension &src)
- Protected Member Functions inherited from ON_Annotation
 ON_Annotation (const ON_Annotation &src)
 ON_Annotation (ON::AnnotationType annotation_type)
 ~ON_Annotation ()
bool Internal_GetBBox_Begin (const ON_SHA1_Hash &hash, double *boxmin, double *boxmax, bool bGrow) const
bool Internal_GetBBox_End (const ON_BoundingBox &bbox, const ON_SHA1_Hash &hash, double *boxmin, double *boxmax, bool bGrow) const
const ON_SHA1_Hash Internal_GetBBox_InputHash (const ON_Viewport *vp, const ON_DimStyle *dimstyle, double dimscale, const ON_2dPoint &text_point, unsigned int point_count, const ON_2dPoint *points) const
bool Internal_GetBBox_TextGlyphBox (const ON_Viewport *vp, const ON_DimStyle *dimstyle, double dimscale, ON_BoundingBox &text_glyph_box) const
bool Internal_ReadAnnotation (ON_BinaryArchive &archive)
void Internal_SetDimStyleFromV5Annotation (const class ON_OBSOLETE_V5_Annotation &V5_annotation, const class ON_3dmAnnotationContext *annotation_context)
bool Internal_WriteAnnotation (ON_BinaryArchive &archive) const
ON_Annotationoperator= (const ON_Annotation &src)

Protected Attributes

ON_UUID m_detail_measured = ON_nil_uuid
 UUID of detail if dimension is in page space measuring model space geometry. More...
double m_distance_scale = 1.0
 Conversion from model space size to paper space size if dimension is in page space measuring model space geometry. More...
bool m_flip_arrow_1 = false
bool m_flip_arrow_2 = false
ON_wString m_plain_user_text
double m_reserved = 0.0
unsigned int m_reserved98 = 0
unsigned int m_reserved99 = 0
bool m_text_outside = false
bool m_use_default_text_point = true
ON_wString m_user_text = L"<>"
 If user overridden, or "<>" to use default. More...
ON_2dPoint m_user_text_point = ON_2dPoint::UnsetPoint
 Text point if default isn't used. More...
- Protected Attributes inherited from ON_Annotation
bool m_allow_text_scaling = true
ON::AnnotationType m_annotation_type = ON::AnnotationType::Unset
ON_UUID m_dimstyle_id = ON_DimStyle::Default.Id()
ON_2dVector m_horizontal_direction = ON_2dVector::XAxis
 direction used as horizontal to draw annotation, especially text More...
ON_Plane m_plane = ON_Plane::World_xy
 plane origin used for alignment point More...
unsigned char m_reserved2 = 0
unsigned char m_reserved3 = 0
unsigned int m_reserved4 = 0
ON_TextContentm_text = nullptr
 Deleted by ~ON_Annotation() More...

Additional Inherited Members

- Static Public Attributes inherited from ON_Geometry
const static ON_Geometry Unset
- Static Protected Member Functions inherited from ON_Annotation
static bool Internal_IsOverrideDimStyleCandidate (const ON_DimStyle *override_style_candidate, ON_UUID parent_id, bool bRequireSetOverrides, bool bIssueErrorsAndWarnings)

Detailed Description


/ / Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved. / OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert / McNeel & Associates. / / THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. / ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF / MERCHANTABILITY ARE HEREBY DISCLAIMED. / / For complete openNURBS copyright information see http://www.opennurbs.org. / //////////////////////////////////////////////////////////////

Member Enumeration Documentation

◆ ForceArrow

enum ON_Dimension::ForceArrow : unsigned int

OBSOLETE enum do not use.


◆ ForceText

enum ON_Dimension::ForceText : unsigned int

OBSOLETE enum do not use.


Constructor & Destructor Documentation

◆ ON_Dimension() [1/2]

ON_Dimension::ON_Dimension ( ON::AnnotationType  annotation_type)

◆ ~ON_Dimension()

ON_Dimension::~ON_Dimension ( )

◆ ON_Dimension() [2/2]

ON_Dimension::ON_Dimension ( const ON_Dimension src)

Member Function Documentation

◆ ArrowFit()

ON_DimStyle::arrow_fit ON_Dimension::ArrowFit ( const ON_DimStyle parent_style) const

◆ ArrowIsFlipped()

bool ON_Dimension::ArrowIsFlipped ( int  i) const

◆ DefaultTextPoint()

virtual ON_2dPoint ON_Dimension::DefaultTextPoint ( ) const

Reimplemented in ON_DimRadial, ON_DimAngular, and ON_DimLinear.

◆ DetailMeasured()

ON_UUID ON_Dimension::DetailMeasured ( ) const

If the dimension is a paper space object and the geometry being dimensioned is in model space, in a detail viewport, DetailMeasured() will have the UUID of the detail that the dimension references. Otherwise DetailMeasured() will be ON_nil_uuid.

◆ DistanceScale()

double ON_Dimension::DistanceScale ( ) const

If DetailMeasured() returns ON_nil_uuid, DistanceScale() has no meaning If the dimension is in page space and measures model space geometry, DistanceScale() is the conversion from the model space distance being measured to the paper space distance spanned by the dimension geometry. When the zoom factor of the detail view changes, the distance scale will change

◆ FlipArrow()

void ON_Dimension::FlipArrow ( int  i,
bool  flip 
) const

◆ ForceArrowFromUnsigned()

static ON_Dimension::ForceArrow ON_Dimension::ForceArrowFromUnsigned ( unsigned int  force_arrow_as_unsigned)

◆ ForceArrowPosition()

ON_Dimension::ForceArrow ON_Dimension::ForceArrowPosition ( ) const


ON_Dimension::ArrowFit(const ON_DimStyle* parent_style)

◆ ForceDimLine()

bool ON_Dimension::ForceDimLine ( const ON_DimStyle parent_style) const

◆ ForceTextFromUnsigned()

static ON_Dimension::ForceText ON_Dimension::ForceTextFromUnsigned ( unsigned int  force_text_as_unsigned)

◆ ForceTextPosition()

ON_Dimension::ForceText ON_Dimension::ForceTextPosition ( ) const
ON_Dimension::TextFit(const ON_DimStyle* parent_style)

◆ GetCentermarkDisplay()

static bool ON_Dimension::GetCentermarkDisplay ( const ON_Plane plane,
const ON_2dPoint  center,
double  marksize,
double  radius,
ON_DimStyle::centermark_style  style,
ON_Line  lines[6],
bool  isline[6],
int  maxlines 

◆ GetCentermarkSnapPoints()

static bool ON_Dimension::GetCentermarkSnapPoints ( const ON_Plane plane,
const ON_2dPoint  center,
double  marksize,
double  radius,
ON_DimStyle::centermark_style  style,
ON_3dPoint  points[13],
bool  ispoint[13] 

◆ GetDistanceDisplayText()

virtual bool ON_Dimension::GetDistanceDisplayText ( ON::LengthUnitSystem  units_in,
const ON_DimStyle dimstyle,
ON_wString displaytext 
) const

Reimplemented in ON_DimAngular.

◆ GetTextRect()

virtual bool ON_Dimension::GetTextRect ( ON_3dPoint  text_rect[4]) const

virtual bool GetBBox( const ON_Viewport* vp, double dimscale, const ON_DimStyle* dimstyle, double* boxmin, double* boxmax, bool bGrow = 0) const = 0;

◆ Internal_ReadDimension()

bool ON_Dimension::Internal_ReadDimension ( ON_BinaryArchive )

◆ Internal_WriteDimension()

bool ON_Dimension::Internal_WriteDimension ( ON_BinaryArchive ) const

◆ IsValid()

bool ON_Dimension::IsValid ( class ON_TextLog text_log = nullptr) const

Description: Tests an object to see if its data members are correctly initialized. Parameters: text_log - [in] if the object is not valid and text_log is not nullptr, then a brief englis description of the reason the object is not valid is appened to the log. The information appended to text_log is suitable for low-level debugging purposes by programmers and is not intended to be useful as a high level user interface tool. Returns: @untitled table true object is valid false object is invalid, uninitialized, etc.

Reimplemented from ON_Annotation.

◆ Measurement()

virtual double ON_Dimension::Measurement ( ) const
pure virtual

Computes measurement value as a number.

Implemented in ON_Centermark, ON_DimOrdinate, ON_DimRadial, ON_DimAngular, and ON_DimLinear.

◆ operator=()

ON_Dimension& ON_Dimension::operator= ( const ON_Dimension src)

◆ PlainUserText()

const wchar_t* ON_Dimension::PlainUserText ( ) const

◆ RebuildDimensionText()

ON_TextContent* ON_Dimension::RebuildDimensionText ( ON::LengthUnitSystem  units_in,
const ON_DimStyle dimstyle,
bool  expandanglebrackets 
) const

Makes text geometry for a dimension.

expandanglebracketsreplace <> with the formatted distance

◆ Set2dTextPoint()

void ON_Dimension::Set2dTextPoint ( const ON_2dPoint textpoint)

◆ SetArrowFit()

void ON_Dimension::SetArrowFit ( const ON_DimStyle parent_style,
ON_DimStyle::arrow_fit  arrowfit 

◆ SetDetailMeasured()

void ON_Dimension::SetDetailMeasured ( ON_UUID  uuid)

◆ SetDistanceScale()

void ON_Dimension::SetDistanceScale ( double  distance_scale) const

◆ SetForceArrowPosition()

void ON_Dimension::SetForceArrowPosition ( ForceArrow  force)

◆ SetForceDimLine()

void ON_Dimension::SetForceDimLine ( const ON_DimStyle parent_style,
bool  forcedimline 

◆ SetForceTextPosition()

void ON_Dimension::SetForceTextPosition ( ForceText  force)

◆ SetTextFit()

void ON_Dimension::SetTextFit ( const ON_DimStyle parent_style,
ON_DimStyle::text_fit  textfit 

◆ SetTextRotation()

void ON_Dimension::SetTextRotation ( double  rotation_radians)

◆ SetUseDefaultTextPoint()

virtual void ON_Dimension::SetUseDefaultTextPoint ( bool  usedefault)

◆ SetUserText()

void ON_Dimension::SetUserText ( const wchar_t *  text)

◆ TextFit()

ON_DimStyle::text_fit ON_Dimension::TextFit ( const ON_DimStyle parent_style) const

◆ TextPoint()

ON_2dPoint ON_Dimension::TextPoint ( ) const

Text center-midpoint in dimension plane.

◆ TextRotation()

double ON_Dimension::TextRotation ( ) const

◆ UpdateDimensionText()

virtual bool ON_Dimension::UpdateDimensionText ( ON::LengthUnitSystem  units_in,
const ON_DimStyle dimstyle 
) const

Remakes dimension text geometry object and sets it on the dimension.

Reimplemented in ON_DimAngular.

◆ UseDefaultTextPoint()

virtual bool ON_Dimension::UseDefaultTextPoint ( ) const

◆ UserText()

const wchar_t* ON_Dimension::UserText ( ) const

Member Data Documentation

◆ m_detail_measured

ON_UUID ON_Dimension::m_detail_measured = ON_nil_uuid

UUID of detail if dimension is in page space measuring model space geometry.

◆ m_distance_scale

double ON_Dimension::m_distance_scale = 1.0

Conversion from model space size to paper space size if dimension is in page space measuring model space geometry.

◆ m_flip_arrow_1

bool ON_Dimension::m_flip_arrow_1 = false

◆ m_flip_arrow_2

bool ON_Dimension::m_flip_arrow_2 = false

◆ m_plain_user_text

ON_wString ON_Dimension::m_plain_user_text

◆ m_reserved

double ON_Dimension::m_reserved = 0.0

◆ m_reserved98

unsigned int ON_Dimension::m_reserved98 = 0

◆ m_reserved99

unsigned int ON_Dimension::m_reserved99 = 0

◆ m_text_outside

bool ON_Dimension::m_text_outside = false

◆ m_use_default_text_point

bool ON_Dimension::m_use_default_text_point = true

◆ m_user_text

ON_wString ON_Dimension::m_user_text = L"<>"

If user overridden, or "<>" to use default.

◆ m_user_text_point

ON_2dPoint ON_Dimension::m_user_text_point = ON_2dPoint::UnsetPoint

Text point if default isn't used.