17 #if !defined(OPENNURBS_INTERNAL_V2_ANNOTATION_H_INC) 18 #define OPENNURBS_INTERNAL_V2_ANNOTATION_H_INC 20 #if defined(ON_COMPILING_OPENNURBS) 22 #include "opennurbs_internal_defines.h" 30 class ON_OBSOLETE_V2_AnnotationArrow :
public ON_Geometry 33 ON_OBJECT_DECLARE(ON_OBSOLETE_V2_AnnotationArrow);
35 ON_OBSOLETE_V2_AnnotationArrow();
36 ~ON_OBSOLETE_V2_AnnotationArrow();
37 ON_OBSOLETE_V2_AnnotationArrow(
const ON_OBSOLETE_V2_AnnotationArrow&);
38 ON_OBSOLETE_V2_AnnotationArrow&
operator=(
const ON_OBSOLETE_V2_AnnotationArrow&);
66 bool GetBBox(
double* boxmin,
double* boxmax,
bool bGrowBox =
false )
const override;
84 class ON_OBSOLETE_V2_TextDot :
public ON_Point 87 ON_OBJECT_DECLARE(ON_OBSOLETE_V2_TextDot);
89 ON_OBSOLETE_V2_TextDot();
90 ~ON_OBSOLETE_V2_TextDot();
91 ON_OBSOLETE_V2_TextDot(
const ON_OBSOLETE_V2_TextDot&);
92 ON_OBSOLETE_V2_TextDot& operator=(
const ON_OBSOLETE_V2_TextDot&);
99 bool IsValid(
class ON_TextLog* text_log =
nullptr )
const override;
120 class ON_OBSOLETE_V2_Annotation :
public ON_Geometry 122 ON_OBJECT_DECLARE(ON_OBSOLETE_V2_Annotation);
125 ON_OBSOLETE_V2_Annotation() =
default;
126 ON_OBSOLETE_V2_Annotation(
const ON_OBSOLETE_V2_Annotation&) =
default;
127 ON_OBSOLETE_V2_Annotation& operator=(
const ON_OBSOLETE_V2_Annotation&) =
default;
130 virtual ~ON_OBSOLETE_V2_Annotation() =
default;
133 void Internal_Initialize();
137 static ON_OBSOLETE_V2_Annotation* CreateFromV5Annotation(
138 const class ON_OBSOLETE_V5_Annotation& V5_annotation,
142 static ON_OBSOLETE_V2_Annotation* CreateFromV6Annotation(
148 void Internal_InitializeFromV5Annotation(
149 const ON_OBSOLETE_V5_Annotation& V5_annotation,
155 void EmergencyDestroy();
161 bool IsValid(
class ON_TextLog* text_log =
nullptr )
const override;
173 ON::object_type ObjectType()
const override;
180 int Dimension()
const override;
183 bool GetBBox(
double* boxmin,
double* boxmax,
bool bGrowBox =
false )
const override;
199 bool IsLeader()
const;
200 bool IsDimension()
const;
202 virtual double NumericValue()
const;
203 virtual void SetTextToDefault();
205 void SetType( ON_INTERNAL_OBSOLETE::V5_eAnnotationType type );
206 ON_INTERNAL_OBSOLETE::V5_eAnnotationType Type()
const;
207 void SetTextDisplayMode( ON_INTERNAL_OBSOLETE::V5_TextDisplayMode mode);
208 ON_INTERNAL_OBSOLETE::V5_TextDisplayMode TextDisplayMode()
const;
210 void SetPlane(
const ON_Plane& plane );
212 int PointCount()
const;
217 void SetUserText(
const wchar_t*
string );
219 void SetDefaultText(
const wchar_t*
string );
221 void SetUserPositionedText(
int bUserPositionedText );
222 bool UserPositionedText()
const;
225 bool GetECStoWCSXform(
ON_Xform& xform )
const;
226 bool GeWCStoECSXform(
ON_Xform& xform )
const;
228 ON_INTERNAL_OBSOLETE::V5_eAnnotationType m_type = ON_INTERNAL_OBSOLETE::V5_eAnnotationType::dtNothing;
231 ON_INTERNAL_OBSOLETE::V5_TextDisplayMode m_textdisplaymode = ON_INTERNAL_OBSOLETE::V5_TextDisplayMode::kNormal;
240 bool m_userpositionedtext =
false;
244 class ON_OBSOLETE_V2_DimLinear :
public ON_OBSOLETE_V2_Annotation
246 ON_OBJECT_DECLARE(ON_OBSOLETE_V2_DimLinear);
249 ON_OBSOLETE_V2_DimLinear();
250 ON_OBSOLETE_V2_DimLinear(
const ON_OBSOLETE_V2_DimLinear&);
251 ~ON_OBSOLETE_V2_DimLinear();
252 ON_OBSOLETE_V2_DimLinear& operator=(
const ON_OBSOLETE_V2_DimLinear&);
254 double NumericValue()
const override;
255 void SetTextToDefault()
override;
256 void EmergencyDestroy();
258 static ON_OBSOLETE_V2_DimLinear* CreateFromV5LinearDimension(
259 const class ON_OBSOLETE_V5_DimLinear& V5_linear_dimension,
261 ON_OBSOLETE_V2_DimLinear* destination
265 class ON_OBSOLETE_V2_DimRadial :
public ON_OBSOLETE_V2_Annotation
267 ON_OBJECT_DECLARE(ON_OBSOLETE_V2_DimRadial);
270 ON_OBSOLETE_V2_DimRadial();
271 ON_OBSOLETE_V2_DimRadial(
const ON_OBSOLETE_V2_DimRadial&);
272 ~ON_OBSOLETE_V2_DimRadial();
273 ON_OBSOLETE_V2_DimRadial& operator=(
const ON_OBSOLETE_V2_DimRadial&);
275 double NumericValue()
const override;
276 void SetTextToDefault()
override;
278 void EmergencyDestroy();
280 static ON_OBSOLETE_V2_DimRadial* CreateFromV5RadialDimension(
281 const class ON_OBSOLETE_V5_DimRadial& V5_linear_dimension,
283 ON_OBSOLETE_V2_DimRadial* destination
287 class ON_OBSOLETE_V2_DimAngular :
public ON_OBSOLETE_V2_Annotation
289 ON_OBJECT_DECLARE(ON_OBSOLETE_V2_DimAngular);
292 ON_OBSOLETE_V2_DimAngular();
293 ON_OBSOLETE_V2_DimAngular(
const ON_OBSOLETE_V2_DimAngular&);
294 ~ON_OBSOLETE_V2_DimAngular();
295 ON_OBSOLETE_V2_DimAngular& operator=(
const ON_OBSOLETE_V2_DimAngular&);
297 static ON_OBSOLETE_V2_DimAngular* CreateFromV5AngularDimension(
298 const class ON_OBSOLETE_V5_DimAngular& V5_angular_dimension,
300 ON_OBSOLETE_V2_DimAngular* destination
303 void EmergencyDestroy();
308 void SetAngle(
double angle ) { m_angle = angle; }
309 double Angle()
const {
return m_angle; }
310 void SetRadius(
double radius ) { m_radius = radius; }
311 double Radius()
const {
return m_radius; }
313 double NumericValue()
const override;
314 void SetTextToDefault()
override;
321 class ON_OBSOLETE_V2_TextObject :
public ON_OBSOLETE_V2_Annotation
323 ON_OBJECT_DECLARE(ON_OBSOLETE_V2_TextObject);
326 ON_OBSOLETE_V2_TextObject();
327 ON_OBSOLETE_V2_TextObject(
const ON_OBSOLETE_V2_TextObject&);
328 ~ON_OBSOLETE_V2_TextObject();
329 ON_OBSOLETE_V2_TextObject& operator=(
const ON_OBSOLETE_V2_TextObject&);
331 static ON_OBSOLETE_V2_TextObject* CreateFromV5TextObject(
332 const class ON_OBSOLETE_V5_TextObject& V5_text_object,
334 ON_OBSOLETE_V2_TextObject* destination
337 void EmergencyDestroy();
342 void SetFaceName(
ON_wString string ) { m_facename = string; }
343 ON_wString FaceName()
const {
return m_facename; }
344 void SetFontWeight(
int weight ) { m_fontweight = weight; }
345 int FontWeight()
const {
return m_fontweight; }
346 void SetHeight(
double height ) { m_height = height; }
347 double Height()
const {
return m_height; }
356 class ON_OBSOLETE_V2_Leader :
public ON_OBSOLETE_V2_Annotation
358 ON_OBJECT_DECLARE(ON_OBSOLETE_V2_Leader);
361 ON_OBSOLETE_V2_Leader();
362 ON_OBSOLETE_V2_Leader(
const ON_OBSOLETE_V2_Leader&);
363 ~ON_OBSOLETE_V2_Leader();
364 ON_OBSOLETE_V2_Leader& operator=(
const ON_OBSOLETE_V2_Leader&);
366 static ON_OBSOLETE_V2_Leader* CreateFromV5Leader(
367 const class ON_OBSOLETE_V5_Leader& V5_leader,
369 ON_OBSOLETE_V2_Leader* destination
372 void EmergencyDestroy();
Definition: opennurbs_annotationbase.h:23
virtual bool Transform(const ON_Xform &xform)
Transforms the object.
virtual int Dimension() const
Dimension of the object.
virtual bool GetBBox(double *boxmin, double *boxmax, bool bGrowBox=false) const
This is the virtual function that actually calculates axis aligned bounding boxes.
Definition: opennurbs_string.h:2020
virtual ON::object_type ObjectType() const
Useful for switch statements that need to differentiate between basic object types like points...
Context for an annotation object. This context is required when converting current annotation objects...
Definition: opennurbs_archive.h:1592
Base class for all geometry classes that must provide runtime class id. Provides interface for common...
Definition: opennurbs_geometry.h:37
Definition: opennurbs_point.h:277
Definition: opennurbs_3dm_settings.h:110
static const ON_Plane World_xy
world plane coordinate system ON_Plane(ON_3dPoint::Origin, ON_3dVector::XAxis, ON_3dVector::YAxis); ...
Definition: opennurbs_plane.h:483
virtual void Dump(ON_TextLog &) const
Creates a text dump of the object.
ON_Geometry & operator=(const ON_Geometry &)=default
Definition: opennurbs_textlog.h:20
Definition: opennurbs_archive.h:1783
virtual bool Read(ON_BinaryArchive &binary_archive)
Low level archive writing tool used by ON_BinaryArchive::ReadObject().
Definition: opennurbs_point.h:460
Definition: opennurbs_pointgeometry.h:24
bool IsValid(class ON_TextLog *text_log=nullptr) const override
Tests an object to see if its data members are correctly initialized.
virtual bool Write(ON_BinaryArchive &binary_archive) const
Low level archive writing tool used by ON_BinaryArchive::WriteObject().
Definition: opennurbs_plane.h:20
Definition: opennurbs_point.h:1152