17 #if !defined(OPENNURBS_DIMENSIONSTYLE_INC_) 18 #define OPENNURBS_DIMENSIONSTYLE_INC_ 33 #pragma region RH_C_SHARED_ENUM [ON_Arrowhead::arrow_type] [Rhino.DocObjects.DimensionStyle.ArrowType] [nested:int] 63 unsigned int type_as_unsigned
69 void SetArrowBlockId(
ON_UUID id);
71 static ON__UINT32 GetPoints(
73 const double*& points);
75 static ON__UINT32 GetPoints(
79 static bool GetArrowheadBoundingBox(
91 ON_UUID m_arrow_block_id = ON_nil_uuid;
99 #pragma region RH_C_SHARED_ENUM [ON_TextMask::MaskType] [Rhino.DocObjects.DimensionStyle.MaskType] [nested:byte] 117 unsigned int mask_type_as_unsigned
152 bool DrawTextMask()
const;
153 void SetDrawTextMask(
bool bDraw);
176 double MaskBorder()
const;
178 void SetMaskBorder(
double offset);
197 bool m_bDrawMask =
false;
200 unsigned char m_reserved1 = 0;
201 unsigned char m_reserved2 = 0;
204 double m_mask_border = 0.0;
209 unsigned int m_reserved3 = 0;
228 friend class ON_V5x_DimStyle;
236 static const ON_DimStyle DefaultFootInchArchitecture;
239 static const ON_DimStyle DefaultMillimeterArchitecture;
309 static unsigned int Internal_GetSystemDimstyleList(
352 const ON_Font* font_characteristics,
353 double model_space_text_scale,
370 ON::LengthUnitSystem model_length_unit_system,
407 static bool Internal_EqualOverrideParentFields(
441 #pragma region RH_C_SHARED_ENUM [ON_DimStyle::LengthDisplay] [Rhino.DocObjects.DimensionStyle.LengthDisplay] [nested:int] 480 InchesFractional = 1,
501 unsigned int length_display_as_unsigned
510 static bool LengthDisplayIsDecimal(
514 static ON::LengthUnitSystem LengthUnitSystemFromLengthDisplay(
519 #pragma region RH_C_SHARED_ENUM [ON_DimStyle::tolerance_format] [Rhino.DocObjects.DimensionStyle.ToleranceDisplayFormat] [nested:byte] 545 unsigned int format_as_unsigned
549 #pragma region RH_C_SHARED_ENUM [ON_DimStyle::ContentAngleStyle] [Rhino.DocObjects.DimensionStyle.LeaderContentAngleStyle] [nested:byte] 571 unsigned int alignment_as_unsigned
574 #pragma region RH_C_SHARED_ENUM [ON_DimStyle::leader_curve_type] [Rhino.DocObjects.DimensionStyle.LeaderCurveStyle] [nested:byte] 596 unsigned int type_as_unsigned
599 #pragma region RH_C_SHARED_ENUM [ON_DimStyle::field] [Rhino.DocObjects.DimensionStyle.Field] [nested:int] 604 enum class field : unsigned int
616 ExtensionLineExtension = 3,
618 ExtensionLineOffset = 4,
630 DimTextLocation = 10,
635 LengthResolution = 12,
639 AngleResolution = 14,
660 AlternateLengthFactor = 18,
665 AlternateLengthResolution = 20,
671 AlternatePrefix = 23,
673 AlternateSuffix = 24,
675 DimensionLineExtension = 25,
677 SuppressExtension1 = 26,
679 SuppressExtension2 = 27,
681 ExtLineColorSource = 28,
683 DimLineColorSource = 29,
685 ArrowColorSource = 30,
687 TextColorSource = 31,
697 ExtLinePlotColorSource = 36,
699 DimLinePlotColorSource = 37,
701 ArrowPlotColorSource = 38,
703 TextPlotColorSource = 39,
705 ExtLinePlotColor = 40,
707 DimLinePlotColor = 41,
713 ExtLinePlotWeightSource = 44,
715 DimLinePlotWeightSource = 45,
717 ExtLinePlotWeight_mm = 46,
719 DimLinePlotWeight_mm = 47,
721 ToleranceFormat = 48,
723 ToleranceResolution = 49,
725 ToleranceUpperValue = 50,
727 ToleranceLowerValue = 51,
729 AltToleranceResolution = 52,
731 ToleranceHeightScale = 53,
733 BaselineSpacing = 54,
737 MaskColorSource = 56,
747 FixedExtensionLength = 61,
749 FixedExtensionOn = 62,
759 ArclengthSymbol = 67,
761 StackTextheightScale = 68,
771 AltZeroSuppress = 73,
776 AngleZeroSuppress = 75,
786 LeaderArrowType = 80,
792 LeaderArrowBlock = 83,
794 DimRadialTextLocation = 84,
796 TextVerticalAlignment = 85,
798 LeaderTextVerticalAlignment = 86,
800 LeaderContentAngleStyle = 87,
802 LeaderCurveType = 88,
804 LeaderContentAngle = 89,
806 LeaderHasLanding = 90,
808 LeaderLandingLength = 91,
812 CentermarkStyle = 93,
814 TextHorizontalAlignment = 94,
816 LeaderTextHorizontalAlignment = 95,
832 TextOrientation = 100,
834 LeaderTextOrientation = 101,
836 DimTextOrientation = 102,
838 DimRadialTextOrientation = 103,
840 DimTextAngleStyle = 104,
842 DimRadialTextAngleStyle = 105,
844 TextUnderlined = 106,
852 DimensionLengthDisplay = 109,
857 AlternateDimensionLengthDisplay = 110,
868 FieldCount = (
unsigned int)field::Count
872 unsigned int field_as_unsigned
876 #pragma region RH_C_SHARED_ENUM [ON_DimStyle::angle_format] [Rhino.DocObjects.DimensionStyle.AngleDisplayFormat] [nested:byte] 894 unsigned int format_as_unsigned
897 #pragma region RH_C_SHARED_ENUM [ON_DimStyle::OBSOLETE_length_format] [Rhino.DocObjects.DimensionStyle.LengthDisplayFormat] [nested:byte] 913 FeetDecimalInches = 3
919 unsigned int format_as_unsigned
931 unsigned int model_serial_number
936 ON::LengthUnitSystem model_unit_system
939 #pragma region RH_C_SHARED_ENUM [ON_DimStyle::TextLocation] [Rhino.DocObjects.DimensionStyle.TextLocation] [nested:byte] 955 unsigned int dim_text_location_as_unsigned
959 static ON::OBSOLETE_DistanceDisplayMode DistanceDisplayModeFromLengthFormat(
965 ON::OBSOLETE_DistanceDisplayMode
969 #pragma region RH_C_SHARED_ENUM [ON_DimStyle::suppress_zero] [Rhino.DocObjects.DimensionStyle.ZeroSuppression] [nested:byte] 980 SuppressTrailing = 2,
982 SuppressLeadingAndTrailing = 3,
984 SuppressZeroFeet = 4,
986 SuppressZeroInches = 8,
988 SuppressZeroFeetAndZeroInches = 12
993 unsigned int suppress_ero_as_unsigned
996 #pragma region RH_C_SHARED_ENUM [ON_DimStyle::stack_format] [Rhino.DocObjects.DimensionStyle.StackDisplayFormat] [nested:byte] 1005 StackHorizontal = 1,
1012 unsigned int format_as_unsigned
1015 #pragma region RH_C_SHARED_ENUM [ON_DimStyle::centermark_style] [Rhino.DocObjects.DimensionStyle.CenterMarkStyle] [nested:byte] 1037 unsigned int centermark_as_unsigned
1042 ON::LengthUnitSystem units,
1078 ON::LengthUnitSystem DimensionLengthDisplayUnit(
1079 unsigned int model_sn
1094 ON::LengthUnitSystem AlternateDimensionLengthDisplayUnit(
1095 unsigned int model_sn
1103 bool Internal_SetBoolMember(
1112 bool Internal_SetUnsignedCharMember(
1114 unsigned char value,
1115 unsigned char& class_member
1121 bool Internal_SetIntMember(
1130 bool Internal_SetColorMember(
1139 bool Internal_SetDoubleMember(
1142 double& class_member
1148 bool Internal_SetIdMember(
1157 bool Internal_SetStringMember(
1159 const wchar_t* value,
1163 void Internal_SetOverrideDimStyleCandidateFieldOverride(
ON_DimStyle::field field_id);
1167 double ExtExtension()
const;
1168 void SetExtExtension(
const double);
1171 double ExtOffset()
const;
1172 void SetExtOffset(
const double);
1175 double ArrowSize()
const;
1176 void SetArrowSize(
const double);
1179 double LeaderArrowSize()
const;
1180 void SetLeaderArrowSize(
const double);
1183 double CenterMark()
const;
1184 void SetCenterMark(
const double);
1202 int LengthResolution()
const;
1203 void SetLengthResolution(
int);
1206 int AngleResolution()
const;
1207 void SetAngleResolution(
int);
1224 const class ON_Font& font_characteristics
1231 const class ON_Font& Font()
const;
1241 const class ON_Font& FontCharacteristics()
const;
1251 const bool FontSubstituted()
const;
1264 const class ON_SHA1_Hash TextPositionPropertiesHash() const;
1278 void Internal_TextPositionPropertiesChange();
1283 double TextGap()
const;
1284 void SetTextGap(
double gap);
1287 double TextHeight()
const;
1288 void SetTextHeight(
double height);
1298 double LengthFactor()
const;
1308 void SetLengthFactor(
double);
1311 bool Alternate()
const;
1312 void SetAlternate(
bool);
1319 double AlternateLengthFactor()
const;
1325 void SetAlternateLengthFactor(
double);
1328 int AlternateLengthResolution()
const;
1329 void SetAlternateLengthResolution(
int);
1333 void SetPrefix(
const wchar_t*);
1337 void SetSuffix(
const wchar_t*);
1341 void SetAlternatePrefix(
const wchar_t*);
1345 void SetAlternateSuffix(
const wchar_t*);
1348 bool SuppressExtension1()
const;
1349 void SetSuppressExtension1(
bool);
1352 bool SuppressExtension2()
const;
1353 void SetSuppressExtension2(
bool);
1356 double DimExtension()
const;
1357 void SetDimExtension(
const double e);
1374 m_val.s_val =
nullptr;
1378 if (
nullptr != m_next)
1383 if (
nullptr != m_val.s_val)
1386 m_val.s_val =
nullptr;
1396 unsigned char uc_val;
1431 void SetFieldOverrideAll(
bool bOverrideParent);
1438 void ClearAllFieldOverrides();
1449 bool HasOverrides()
const;
1470 const ON_DimStyle CreateOverrideCandidate()
const;
1517 ON::AnnotationType annotation_type,
1519 double model_space_text_scale,
1521 ON::LengthUnitSystem text_height_unit_system,
1522 ON::TextVerticalAlignment valign,
1523 ON::TextHorizontalAlignment halign
1528 ON::AnnotationType annotation_type,
1530 double model_space_text_scale,
1532 ON::LengthUnitSystem text_height_unit_system,
1533 ON::TextVerticalAlignment valign,
1534 ON::TextHorizontalAlignment halign,
1535 ON::TextOrientation orientation,
1541 ON::AnnotationType annotation_type,
1543 double model_space_text_scale,
1545 ON::LengthUnitSystem text_height_unit_system
1549 static void Internal_CreateFromProperties(
1551 ON::AnnotationType annotation_type,
1553 double model_space_text_scale,
1555 ON::LengthUnitSystem text_height_unit_system,
1557 ON::TextVerticalAlignment valign,
1558 ON::TextHorizontalAlignment halign,
1559 bool bSetOrientation,
1560 ON::TextOrientation orientation,
1570 bool IsOverrideDimStyleCandidate(
1572 bool bRequireSetOverrides,
1594 void OverrideFields(
1610 void OverrideFieldsWithDifferentValues(
1629 bool IsChildDimstyle()
const;
1635 bool IsChildOf(
const ON_UUID& parent_id)
const;
1638 int ToleranceResolution()
const;
1639 double ToleranceUpperValue()
const;
1640 double ToleranceLowerValue()
const;
1641 double ToleranceHeightScale()
const;
1644 void SetToleranceResolution(
int resolution);
1645 void SetToleranceUpperValue(
double upper_value);
1646 void SetToleranceLowerValue(
double lower_value);
1647 void SetToleranceHeightScale(
double scale);
1649 double BaselineSpacing()
const;
1650 void SetBaselineSpacing(
double spacing);
1653 bool DrawTextMask()
const;
1654 void SetDrawTextMask(
bool bDraw);
1667 double MaskBorder()
const;
1668 void SetMaskBorder(
double offset);
1685 void Internal_SetTextMask(
1690 void Scale(
double scale);
1694 void SetSourceDimstyle(
ON_UUID source_uuid);
1695 ON_UUID SourceDimstyle()
const;
1697 void SetExtensionLineColorSource(
const ON::object_color_source src);
1698 ON::object_color_source ExtensionLineColorSource()
const;
1699 void SetDimensionLineColorSource(
const ON::object_color_source src);
1700 ON::object_color_source DimensionLineColorSource()
const;
1701 void SetArrowColorSource(
const ON::object_color_source src);
1702 ON::object_color_source ArrowColorSource()
const;
1703 void SetTextColorSource(
const ON::object_color_source src);
1704 ON::object_color_source TextColorSource()
const;
1705 void SetExtensionLineColor(
ON_Color c);
1706 ON_Color ExtensionLineColor()
const;
1707 void SetDimensionLineColor(
ON_Color c);
1708 ON_Color DimensionLineColor()
const;
1714 void SetExtensionLinePlotColorSource(
const ON::plot_color_source src);
1715 ON::plot_color_source ExtensionLinePlotColorSource()
const;
1716 void SetDimensionLinePlotColorSource(
const ON::plot_color_source src);
1717 ON::plot_color_source DimensionLinePlotColorSource()
const;
1718 void SetArrowPlotColorSource(
const ON::plot_color_source src);
1719 ON::plot_color_source ArrowPlotColorSource()
const;
1720 void SetTextPlotColorSource(
const ON::object_color_source src);
1721 ON::object_color_source TextPlotColorSource()
const;
1722 void SetExtensionLinePlotColor(
ON_Color c);
1723 ON_Color ExtensionLinePlotColor()
const;
1724 void SetDimensionLinePlotColor(
ON_Color c);
1725 ON_Color DimensionLinePlotColor()
const;
1726 void SetArrowPlotColor(
ON_Color c);
1731 void SetExtensionLinePlotWeightSource(
const ON::plot_weight_source src);
1732 ON::plot_weight_source ExtensionLinePlotWeightSource()
const;
1733 void SetDimensionLinePlotWeightSource(
const ON::plot_weight_source src);
1734 ON::plot_weight_source DimensionLinePlotWeightSource()
const;
1735 void SetExtensionLinePlotWeight(
double w);
1736 double ExtensionLinePlotWeight()
const;
1737 void SetDimensionLinePlotWeight(
double w);
1738 double DimensionLinePlotWeight()
const;
1740 void SetFixedExtensionLen(
double l);
1741 double FixedExtensionLen()
const;
1742 void SetFixedExtensionLenOn(
bool on);
1743 bool FixedExtensionLenOn()
const;
1745 void SetTextRotation(
double r);
1746 double TextRotation()
const;
1748 void SetAlternateToleranceResolution(
int r);
1749 int AlternateToleranceResolution()
const;
1751 void SetSuppressArrow1(
bool s);
1752 bool SuppressArrow1()
const;
1753 void SetSuppressArrow2(
bool s);
1754 bool SuppressArrow2()
const;
1755 void SetTextMoveLeader(
int m);
1757 int TextMoveLeader()
const;
1758 void SetArcLengthSymbol(
int m);
1759 int ArcLengthSymbol()
const;
1763 void SetStackHeightScale(
double f);
1764 double StackHeightScale()
const;
1766 void SetRoundOff(
double r);
1767 double RoundOff()
const;
1768 void SetAlternateRoundOff(
double r);
1769 double AlternateRoundOff()
const;
1770 void SetAngleRoundOff(
double r);
1771 double AngleRoundOff()
const;
1787 void SetAlternateBelow(
bool below);
1812 static bool ZeroSuppressMatchesLengthDisplay(
1816 bool AlternateBelow()
const;
1826 void SetArrowBlockId1(
ON_UUID id);
1827 ON_UUID ArrowBlockId1()
const;
1828 void SetArrowBlockId2(
ON_UUID id);
1829 ON_UUID ArrowBlockId2()
const;
1830 void SetLeaderArrowBlockId(
ON_UUID id);
1831 ON_UUID LeaderArrowBlockId()
const;
1833 ON::TextVerticalAlignment TextVerticalAlignment()
const;
1834 void SetTextVerticalAlignment(ON::TextVerticalAlignment style);
1835 ON::TextVerticalAlignment LeaderTextVerticalAlignment()
const;
1836 void SetLeaderTextVerticalAlignment(ON::TextVerticalAlignment style);
1841 bool LeaderHasLanding()
const;
1842 void SetLeaderHasLanding(
bool landing);
1843 double LeaderLandingLength()
const;
1844 void SetLeaderLandingLength(
double length);
1845 double LeaderContentAngleRadians()
const;
1846 void SetLeaderContentAngleRadians(
double angle_radians);
1847 double LeaderContentAngleDegrees()
const;
1848 void SetLeaderContentAngleDegrees(
double angle_degrees);
1849 ON::TextHorizontalAlignment TextHorizontalAlignment()
const;
1850 void SetTextHorizontalAlignment(ON::TextHorizontalAlignment halign);
1851 ON::TextHorizontalAlignment LeaderTextHorizontalAlignment()
const;
1852 void SetLeaderTextHorizontalAlignment(ON::TextHorizontalAlignment halign);
1853 bool DrawForward()
const;
1854 void SetDrawForward(
bool drawforward);
1855 bool SignedOrdinate()
const;
1856 void SetSignedOrdinate(
bool allowsigned);
1863 ON::LengthUnitSystem UnitSystem()
const;
1870 void SetUnitSystem(ON::LengthUnitSystem us);
1889 void SetUnitSystemFromContext(
1891 ON::LengthUnitSystem source_unit_system,
1892 ON::LengthUnitSystem destination_unit_system
1899 bool UnitSystemIsSet()
const;
1903 void SetDimScale(
double left_val, ON::LengthUnitSystem left_us,
double right_val, ON::LengthUnitSystem right_us);
1905 double ScaleLeftLength_mm()
const;
1906 double ScaleRightLength_mm()
const;
1908 void SetDimScale(
double scale);
1909 double DimScale()
const;
1911 void SetDimScaleSource(
int source);
1912 int DimScaleSource()
const;
1914 void SetTextOrientation(ON::TextOrientation);
1915 ON::TextOrientation TextOrientation()
const;
1917 void SetLeaderTextOrientation(ON::TextOrientation);
1918 ON::TextOrientation LeaderTextOrientation()
const;
1920 void SetDimTextOrientation(ON::TextOrientation);
1921 ON::TextOrientation DimTextOrientation()
const;
1923 void SetDimRadialTextOrientation(ON::TextOrientation);
1924 ON::TextOrientation DimRadialTextOrientation()
const;
1932 bool TextUnderlined()
const;
1933 void SetTextUnderlined(
bool underlined);
1953 double m_extextension = 0.5;
1954 double m_extoffset = 0.5;
1955 double m_arrowsize = 1.0;
1956 double m_leaderarrowsize = 1.0;
1957 double m_centermark = 0.5;
1959 double m_textgap = 0.25;
1960 double m_textheight = 1.0;
1967 int m_angleresolution = 2;
2001 int m_lengthresolution = 2;
2007 int m_alternate_lengthresolution = 2;
2018 double m_lengthfactor = 1.0;
2024 double m_alternate_lengthfactor = 1.0;
2053 bool m_bAlternate =
false;
2061 double m_dimextension = 0.0;
2063 bool m_bSuppressExtension1 =
false;
2064 bool m_bSuppressExtension2 =
false;
2065 bool m_bReserved1 =
false;
2066 bool m_bReserved2 =
false;
2073 ON__UINT32 m_field_override_parent_count = 0;
2082 ON__UINT32 m_field_override_parent_bits0 = 0;
2083 ON__UINT32 m_field_override_parent_bits1 = 0;
2084 ON__UINT32 m_field_override_parent_bits2 = 0;
2085 ON__UINT32 m_field_override_parent_bits3 = 0;
2113 ON__UINT32* Internal_GetOverrideParentBit(
ON_DimStyle::field field_id, ON__UINT32* mask)
const;
2116 int m_tolerance_resolution = 4;
2117 double m_tolerance_upper_value = 0.0;
2118 double m_tolerance_lower_value = 0.0;
2119 double m_tolerance_height_scale = 0.7;
2121 double m_baseline_spacing = 3.0;
2127 int m_dimscale_source = 0;
2130 ON_UUID m_source_dimstyle = ON_nil_uuid;
2133 unsigned char m_ext_line_color_source = 0;
2134 unsigned char m_dim_line_color_source = 0;
2135 unsigned char m_arrow_color_source = 0;
2136 unsigned char m_text_color_source = 0;
2141 unsigned char m_ext_line_plot_color_source = 0;
2142 unsigned char m_dim_line_plot_color_source = 0;
2143 unsigned char m_arrow_plot_color_source = 0;
2144 unsigned char m_text_plot_color_source = 0;
2149 unsigned char m_ext_line_plot_weight_source = 0;
2150 unsigned char m_dim_line_plot_weight_source = 0;
2151 double m_ext_line_plot_weight_mm = 0.0;
2152 double m_dim_line_plot_weight_mm = 0.0;
2154 double m_fixed_extension_len = 1.0;
2155 bool m_fixed_extension_len_on =
false;
2157 double m_text_rotation = 0.0;
2158 int m_alternate_tolerance_resolution = 4;
2159 double m_tol_textheight_fraction = 0.6;
2161 bool m_suppress_arrow1 =
false;
2162 bool m_suppress_arrow2 =
false;
2163 int m_textmove_leader = 0;
2164 int m_arclength_sym = 0;
2165 double m_stack_textheight_fraction = 0.7;
2167 double m_alt_round = 0.0;
2168 double m_round = 0.0;
2169 double m_angular_round = 0.0;
2176 bool m_alt_below =
false;
2181 ON_UUID m_arrow_block_id_1 = ON_nil_uuid;
2182 ON_UUID m_arrow_block_id_2 = ON_nil_uuid;
2183 ON_UUID m_leader_arrow_block_id = ON_nil_uuid;
2186 ON::TextVerticalAlignment m_text_vertical_alignment = ON::TextVerticalAlignment::Top;
2187 ON::TextHorizontalAlignment m_text_horizontal_alignment = ON::TextHorizontalAlignment::Left;
2190 ON::TextVerticalAlignment m_leader_text_vertical_alignment = ON::TextVerticalAlignment::Middle;
2191 ON::TextHorizontalAlignment m_leader_text_horizontal_alignment = ON::TextHorizontalAlignment::Left;
2195 double m_leader_content_angle = 0.0;
2196 bool m_leader_has_landing =
true;
2197 double m_leader_landing_length = 1.0;
2199 bool m_draw_forward =
true;
2200 bool m_signed_ordinate =
true;
2207 ON::LengthUnitSystem m_unitsystem = ON::LengthUnitSystem::None;
2209 ON::TextOrientation m_text_orientation = ON::TextOrientation::InPlane;
2210 ON::TextOrientation m_leader_text_orientation = ON::TextOrientation::InPlane;
2211 ON::TextOrientation m_dim_text_orientation = ON::TextOrientation::InPlane;
2212 ON::TextOrientation m_dimradial_text_orientation = ON::TextOrientation::InPlane;
2217 bool m_text_underlined =
false;
2220 ON__UINT_PTR m_reserved = 0;
2223 void Internal_ContentChange()
const;
2243 virtual const ON_DimStyle& CurrentDimStyle()
const;
2255 virtual const ON_DimStyle* DimStyleFromContentHash(
2262 double model_space_text_scale,
2264 ON::LengthUnitSystem text_height_unit_system,
2265 bool bReturnClosestMatch =
true,
2269 virtual bool AddDimStyle(
2271 bool bResolveNameAndIdConflicts
2274 virtual bool ModifyDimStyle(
2280 bool bIncludeSystemDimStyles =
false,
2281 bool bIncludeDeletedDimStyles =
false 2286 bool bIncludeSystemDimStyles =
false,
2287 bool bIncludeDeletedDimStyles =
false 2292 bool bIncludeSystemDimStyles =
false,
2293 bool bIncludeDeletedDimStyles =
false 2296 virtual ON::LengthUnitSystem ModelUnitSystem()
const;
2298 virtual ON__UINT64 ModelSerialNumber()
const;
2301 mutable ON::LengthUnitSystem m_unit_system = ON::LengthUnitSystem::Millimeters;
2302 mutable ON__UINT64 m_model_serial_number = 0;
2306 #if defined(ON_DLL_TEMPLATE) static ON_DimStyle * CreateFromFont(const ON_Font *font_characteristics, double model_space_text_scale, const ON_DimStyle *dimstyle_settings, const class ON_ComponentManifest *manifest, ON_DimStyle *destination)
Create a clean dimension style that has the specified font. With the exception of the name...
suppress_zero
Marks leading and trailing zeros for removal.
Definition: opennurbs_dimensionstyle.h:950
angle_format
Display format for angles
Definition: opennurbs_dimensionstyle.h:860
ON_UUID is a 16 byte universally unique identifier.
Definition: opennurbs_uuid.h:32
static const ON_ScaleValue OneToOne
Definition: opennurbs_string_value.h:436
centermark_style
Style for drawing centermark for Radial dimensions and Centermark objects
Definition: opennurbs_dimensionstyle.h:996
static const ON_SHA1_Hash EmptyContentHash
Definition: opennurbs_sha1.h:23
arrow_type
Defines enumerated values for arrowhead shapes.
Definition: opennurbs_dimensionstyle.h:37
Aligned with last leader direction or dimension line
The ON_ModelComponent class is a base class for all components in a model and manages the index...
Definition: opennurbs_model_component.h:24
field
Field identifiers used for file i/o and getting/setting values
Definition: opennurbs_dimensionstyle.h:584
Definition: opennurbs_dimensionstyle.h:21
ON_DimStyle & operator=(const ON_DimStyle &)=default
static const class ON_DimStyle & DimStyleOrDefault(const class ON_DimStyle *dimstyle)
static const ON_DimStyle * FromModelComponentRef(const class ON_ModelComponentReference &model_component_reference, const ON_DimStyle *none_return_value)
Definition: opennurbs_array.h:36
Text mask drawn with background color
Definition: opennurbs_sha1.h:19
Definition: opennurbs_dimensionstyle.h:1337
stack_format
Format of stacked fractions
Definition: opennurbs_dimensionstyle.h:977
void EmergencyDestroy()
Interface.
LengthDisplay
Interface.
Definition: opennurbs_dimensionstyle.h:426
ON_Object array is used to store lists of classes that are derived from ON_Object. It differs from ON_ClassArray in that the virtual ON_Object::MemoryRelocate function is called when growing the dynamic array requires changing the location of the memory buffer used to store the elements in the array.
Definition: opennurbs_array.h:725
Definition: opennurbs_string.h:2020
Definition: opennurbs_dimensionstyle.h:218
TextLocation
The location of text in linear, angular, radial, and ordinate dimensions.
Definition: opennurbs_dimensionstyle.h:920
Definition: opennurbs_color.h:24
Text is above dimension line.
bool IsValid(class ON_TextLog *text_log=nullptr) const override
virtual
static const ON_DimStyle & SystemDimstyleFromIndex(int index)
MaskType
Text mask drawn with background color or explicit color
Definition: opennurbs_dimensionstyle.h:103
Definition: opennurbs_3dm_settings.h:110
Definition: opennurbs_dimensionstyle.h:95
bool Read(ON_BinaryArchive &) override
virtual
void Dump(ON_TextLog &) const override
virtual
static const ON_TextMask None
ON_TextMask::None has no effect on text appearance.
Definition: opennurbs_dimensionstyle.h:131
Text is centered in dimension line.
Definition: opennurbs_bounding_box.h:25
static const ON_DimStyle & SystemDimstyleFromId(ON_UUID id)
Decimal current model units
A general and portable interface to access a model's available dimension styles.
Definition: opennurbs_dimensionstyle.h:2193
An ON_Font is a face in a font family. It corresponds to a Windows LOGFONT, a .NET System...
Definition: opennurbs_font.h:225
Definition: opennurbs_archive.h:478
static const ON_Color White
Definition: opennurbs_color.h:34
OBSOLETE_length_format
Obsolete format for length display - use ON_DimStyle::DimensionLengthDisplay instead ...
Definition: opennurbs_dimensionstyle.h:881
Stack with horizontal line
friend class ON_V5x_DimStyle
Definition: opennurbs_dimensionstyle.h:222
An ON_NameHash is designed to help search for and compare attribute names like the ON_ModelComponent...
Definition: opennurbs_string.h:3434
tolerance_format
Style of tolerance display for dimensions
Definition: opennurbs_dimensionstyle.h:503
bool CompareFields(const ON_DimStyle &src) const
Annotation text is horizontal in annotation object's plane
Definition: opennurbs_string_value.h:427
Definition: opennurbs_textlog.h:20
Definition: opennurbs_archive.h:1783
leader_curve_type
Type of leader curve
Definition: opennurbs_dimensionstyle.h:558
ON_DimStyle()
Default constructor result is identical to ON_DimStyle::Unset;.
Definition: opennurbs_model_component.h:1622
ContentAngleStyle
Angle for text or other leader or dimension content
Definition: opennurbs_dimensionstyle.h:533
static const ON_DimStyle & SystemDimstyleFromName(const ON_NameHash &name_hash)
static const ON_Font Default
Definition: opennurbs_font.h:502
bool Write(ON_BinaryArchive &) const override
virtual
static const ON_SHA1_Hash ZeroDigest
Definition: opennurbs_sha1.h:22
const ON_wString * s_val
Definition: opennurbs_dimensionstyle.h:1369
static const ON_DimStyle & SystemDimstyleFromContentHash(const ON_SHA1_Hash &content_hash)
static const ON_Color Black
Definition: opennurbs_color.h:33
bool CompareDimstyle(const ON_DimStyle &src) const
Definition: opennurbs_point.h:1973