Rhino C++ API  8.7
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
ON_Leader Class Reference

ON_Leader class. More...

#include <opennurbs_leader.h>

Inheritance diagram for ON_Leader:
ON_Annotation ON_Geometry ON_Object

Public Member Functions

 ON_Leader ()
 ON_Leader (const ON_Leader &src)
 ~ON_Leader ()
void AppendPoint2d (ON_2dPoint point)
bool AppendPoint3d (ON_3dPoint point)
bool Create (const wchar_t *leader_text, const ON_DimStyle *dimstyle, int point_count, const ON_3dPoint *points, const ON_Plane &plane, bool bWrapped, double rect_width)
const ON_NurbsCurveCurve (const ON_DimStyle *dimstyle) const
 cached curve for display and picking More...
void DeleteCurve () const
int Dimension () const override
void Dump (ON_TextLog &log) const override
bool GetAnnotationBoundingBox (const ON_Viewport *vp, const ON_DimStyle *dimstyle, double dimscale, double *boxmin, double *boxmax, bool bGrow=false) const override
 ON_Annotation override. More...
bool GetBBox (double *boxmin, double *boxmax, bool bGrowBox=false) const override
 virtual ON_Geometry GetBBox override
bool GetTextGripPoints (ON_2dPoint &base, ON_2dPoint &width, const ON_DimStyle *dimstyle, double textscale) const
bool GetTextPoint2d (const ON_DimStyle *dimstyle, double leaderscale, ON_2dPoint &point) const
bool GetTextXform (const ON_Viewport *vp, const ON_DimStyle *dimstyle, double dimscale, ON_Xform &text_xform_out) const override
bool GetTextXform (const ON_Xform *model_xform, const ON_Viewport *vp, const ON_DimStyle *dimstyle, double dimscale, ON_Xform &text_xform_out) const
void InsertPoint2d (int atidx, ON_2dPoint point)
void InsertPoint3d (int atidx, ON_3dPoint point)
void InvalidateTextPoint ()
bool IsValid (class ON_TextLog *text_log=nullptr) const override
bool LandingLine2d (const ON_DimStyle *style, double dimscale, ON_Line &line) const
bool LandingLine3d (const ON_DimStyle *style, double dimscale, ON_Line &line) const
ON::object_type ObjectType () const override
ON_Leaderoperator= (const ON_Leader &src)
bool Point2d (int idx, ON_2dPoint &point) const
bool Point3d (int idx, ON_3dPoint &point) const
ON__UINT32 PointCount () const
ON_2dPointArrayPoints2d ()
 bool GetTextPoint3d(ON_3dPoint& point) const; More...
const ON_2dPointArrayPoints2d () const
bool Read (ON_BinaryArchive &file) override
void RemovePoint (int idx)
void SetPlane (ON_Plane plane)
bool SetPoint2d (int idx, ON_2dPoint point)
bool SetPoint3d (int idx, ON_3dPoint point)
void SetPoints2d (int count, const ON_2dPoint *points)
void SetPoints3d (int count, const ON_3dPoint *points)
ON_2dVector TailDirection (const ON_DimStyle *dimstyle) const
bool Transform (const ON_Xform &xform) override
void UpdateTextAlignment (ON_2dVector angle)
 Sets text to right or left justified per leader direction. More...
bool UpdateTextPosition (const ON_DimStyle *dimstyle, double leaderscale)
bool Write (ON_BinaryArchive &file) const override
- 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
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
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...
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 bool EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) 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
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)
const ON_BoundingBox TightBoundingBox () const
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)
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 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

Static Public Member Functions

static ON_LeaderCreateFromV5Leader (const class ON_OBSOLETE_V5_Leader &V5_leader, const class ON_3dmAnnotationContext *annotation_context, ON_Leader *destination)
- 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)

Static Public Attributes

static const ON_Leader Empty
- Static Public Attributes inherited from ON_Geometry
const static ON_Geometry Unset

Additional Inherited Members

- 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
- 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)
- 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)
- 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...

Detailed Description

ON_Leader class.

Copyright (c) 1993-2022 Robert McNeel & Associates. All rights reserved. OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert McNeel & Associates.


For complete openNURBS copyright information see http://www.opennurbs.org.

Constructor & Destructor Documentation

◆ ON_Leader() [1/2]

ON_Leader::ON_Leader ( )

◆ ~ON_Leader()

ON_Leader::~ON_Leader ( )

◆ ON_Leader() [2/2]

ON_Leader::ON_Leader ( const ON_Leader src)

Member Function Documentation

◆ AppendPoint2d()

void ON_Leader::AppendPoint2d ( ON_2dPoint  point)

◆ AppendPoint3d()

bool ON_Leader::AppendPoint3d ( ON_3dPoint  point)

◆ Create()

bool ON_Leader::Create ( const wchar_t *  leader_text,
const ON_DimStyle dimstyle,
int  point_count,
const ON_3dPoint points,
const ON_Plane plane,
bool  bWrapped,
double  rect_width 

Parameters: dimstyle - [in] If you want to specify text appearance or other custom properties ... ON_DimStyle style = ON_DimStyle::DimStyleFromProperties( doc->DimStyleContext().CurrentDimStyle(), ... ); style.Set...(...); Then pass &style

Remarks: Parses text string and makes runs

◆ CreateFromV5Leader()

static ON_Leader* ON_Leader::CreateFromV5Leader ( const class ON_OBSOLETE_V5_Leader &  V5_leader,
const class ON_3dmAnnotationContext annotation_context,
ON_Leader destination 

Description: Create a V6 leader from a V5 leader. The function is used when reading V5 files. Parameters: v5_leader -[in] dim_style - [in] Dimstyle referenced by v5_leader or nullptr if not available. destination - [in] If destination is not nullptr, then the V6 leader is constructed in destination. If destination is nullptr, then the new V6 leader is allocated with a call to new ON_Leader().

◆ Curve()

const ON_NurbsCurve* ON_Leader::Curve ( const ON_DimStyle dimstyle) const

cached curve for display and picking

◆ DeleteCurve()

void ON_Leader::DeleteCurve ( ) const

◆ Dimension()

int ON_Leader::Dimension ( ) const

Description: Dimension of the object. Returns: Dimension of the object. Remarks: The dimension is typically three. For parameter space trimming curves the dimension is two. In rare cases the dimension can be one or greater than three.

Reimplemented from ON_Geometry.

◆ Dump()

void ON_Leader::Dump ( ON_TextLog ) const

Description: Creates a text dump of the object. Remarks: Dump() is intended for debugging and is not suitable for creating high quality text descriptions of an object.

The default implementations of this virtual function prints the class's name.

Reimplemented from ON_Object.

◆ GetAnnotationBoundingBox()

bool ON_Leader::GetAnnotationBoundingBox ( const ON_Viewport vp,
const ON_DimStyle dimstyle,
double  dimscale,
double *  boxmin,
double *  boxmax,
bool  bGrow = false 
) const

ON_Annotation override.

Implements ON_Annotation.

◆ GetBBox()

bool ON_Leader::GetBBox ( double *  boxmin,
double *  boxmax,
bool  bGrowBox = false 
) const

virtual ON_Geometry GetBBox override

Reimplemented from ON_Geometry.

◆ GetTextGripPoints()

bool ON_Leader::GetTextGripPoints ( ON_2dPoint base,
ON_2dPoint width,
const ON_DimStyle dimstyle,
double  textscale 
) const

◆ GetTextPoint2d()

bool ON_Leader::GetTextPoint2d ( const ON_DimStyle dimstyle,
double  leaderscale,
ON_2dPoint point 
) const

◆ GetTextXform() [1/2]

bool ON_Leader::GetTextXform ( const ON_Viewport vp,
const ON_DimStyle dimstyle,
double  dimscale,
ON_Xform text_xform_out 
) const

bool Explode( const ON_DimStyle* dimstyle, ON_SimpleArray<const ON_Geometry*> object_parts) const; Transforms text from natural position at origin to 3d location as it displays in the leader

Implements ON_Annotation.

◆ GetTextXform() [2/2]

bool ON_Leader::GetTextXform ( const ON_Xform model_xform,
const ON_Viewport vp,
const ON_DimStyle dimstyle,
double  dimscale,
ON_Xform text_xform_out 
) const

◆ InsertPoint2d()

void ON_Leader::InsertPoint2d ( int  atidx,
ON_2dPoint  point 

◆ InsertPoint3d()

void ON_Leader::InsertPoint3d ( int  atidx,
ON_3dPoint  point 

◆ InvalidateTextPoint()

void ON_Leader::InvalidateTextPoint ( )

◆ IsValid()

bool ON_Leader::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.

◆ LandingLine2d()

bool ON_Leader::LandingLine2d ( const ON_DimStyle style,
double  dimscale,
ON_Line line 
) const

These do nothing and return false if HasLanding is false Otherwise, they return a line added to the tail of the leader in the direction of LeaderContentAngleStyle()

◆ LandingLine3d()

bool ON_Leader::LandingLine3d ( const ON_DimStyle style,
double  dimscale,
ON_Line line 
) const

◆ ObjectType()

ON::object_type ON_Leader::ObjectType ( ) const

Description: Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.

Returns: ON::object_type enum value.

Remarks: The default implementation of this virtual function returns ON::unknown_object_type

Reimplemented from ON_Annotation.

◆ operator=()

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

◆ Point2d()

bool ON_Leader::Point2d ( int  idx,
ON_2dPoint point 
) const

◆ Point3d()

bool ON_Leader::Point3d ( int  idx,
ON_3dPoint point 
) const

◆ PointCount()

ON__UINT32 ON_Leader::PointCount ( ) const

◆ Points2d() [1/2]

ON_2dPointArray& ON_Leader::Points2d ( )

bool GetTextPoint3d(ON_3dPoint& point) const;

◆ Points2d() [2/2]

const ON_2dPointArray& ON_Leader::Points2d ( ) const

◆ Read()

bool ON_Leader::Read ( ON_BinaryArchive binary_archive)

Description: Low level archive writing tool used by ON_BinaryArchive::ReadObject(). Parameters: binary_archive - archive to read from Returns: Returns true if the read is successful. Remarks: Use ON_BinaryArchive::ReadObject() to read objects. This Read() function should read the objects definition back into its data members.

The default implementation of this virtual function returns false and does nothing.

Reimplemented from ON_Object.

◆ RemovePoint()

void ON_Leader::RemovePoint ( int  idx)

◆ SetPlane()

void ON_Leader::SetPlane ( ON_Plane  plane)

◆ SetPoint2d()

bool ON_Leader::SetPoint2d ( int  idx,
ON_2dPoint  point 

◆ SetPoint3d()

bool ON_Leader::SetPoint3d ( int  idx,
ON_3dPoint  point 

◆ SetPoints2d()

void ON_Leader::SetPoints2d ( int  count,
const ON_2dPoint points 

◆ SetPoints3d()

void ON_Leader::SetPoints3d ( int  count,
const ON_3dPoint points 

◆ TailDirection()

ON_2dVector ON_Leader::TailDirection ( const ON_DimStyle dimstyle) const

◆ Transform()

bool ON_Leader::Transform ( const ON_Xform xform)

Description: Transforms the object.

Parameters: xform - [in] transformation to apply to object. If xform.IsSimilarity() is zero, then you may want to call MakeSquishy() before calling Transform.

Remarks: When overriding this function, be sure to include a call to ON_Object::TransformUserData() which takes care of transforming any ON_UserData that may be attached to the object.

See Also: ON_Geometry::IsDeformable();

Remarks: Classes derived from ON_Geometry should call ON_Geometry::Transform() to handle user data transformations and then transform their definition.

Reimplemented from ON_Geometry.

◆ UpdateTextAlignment()

void ON_Leader::UpdateTextAlignment ( ON_2dVector  angle)

Sets text to right or left justified per leader direction.

◆ UpdateTextPosition()

bool ON_Leader::UpdateTextPosition ( const ON_DimStyle dimstyle,
double  leaderscale 

◆ Write()

bool ON_Leader::Write ( ON_BinaryArchive binary_archive) const

Description: Low level archive writing tool used by ON_BinaryArchive::WriteObject(). Parameters: binary_archive - archive to write to Returns: Returns true if the write is successful. Remarks: Use ON_BinaryArchive::WriteObject() to write objects. This Write() function should just write the specific definition of this object. It should not write and any chunk typecode or length information.

The default implementation of this virtual function returns false and does nothing.

Reimplemented from ON_Object.

Member Data Documentation

◆ Empty

const ON_Leader ON_Leader::Empty