23 #if !defined(ON_XFORM_INC_) 59 bool operator==(
const ON_Xform& rhs)
const;
61 bool operator!=(
const ON_Xform& rhs)
const;
72 static const ON_Xform DiagonalTransformation(
80 static const ON_Xform DiagonalTransformation(
90 static const ON_Xform DiagonalTransformation(
94 #if defined(ON_COMPILER_MSC) 101 explicit ON_Xform(
const double[4][4] );
102 explicit ON_Xform(
const float[4][4] );
115 double* operator[](
int);
116 const double* operator[](
int)
const;
143 bool IsValid()
const;
154 bool IsValidAndNotZeroAndNotIdentity(
155 double zero_tolerance = 0.0
171 bool IsIdentity(
double zero_tolerance = 0.0)
const;
181 bool IsNotIdentity(
double zero_tolerance = 0.0)
const;
195 bool IsTranslation(
double zero_tolerance = 0.0)
const;
217 bool IsZero4x4()
const;
228 bool IsZeroTransformation()
const;
240 int IsSimilarity()
const;
252 bool IsAffine()
const;
258 int Compare(
const ON_Xform& other )
const;
302 double GetSurfaceNormalXform(
ON_Xform& N_xform )
const;
365 ON_DEPRECATED_MSG(
"Use xform = ON_Xform::IdentityTransformation;")
368 ON_DEPRECATED_MSG("Use xform =
ON_Xform::DiagonalTransformation(d);")
369 void Diagonal(
double d);
383 ON_DEPRECATED_MSG("Use xform =
ON_Xform::DiagonalTransformation(x_scale_factor,z_scale_factor,z_scale_factor);")
385 double x_scale_factor,
386 double y_scale_factor,
387 double z_scale_factor
399 ON_DEPRECATED_MSG("Use xform =
ON_Xform::DiagonalTransformation(scale_vector);")
412 ON_DEPRECATED_MSG("Use xform =
ON_Xform::ScaleTransformation(fixed_point,scale_factor)")
419 static const
ON_Xform ScaleTransformation(
424 static const
ON_Xform ScaleTransformation(
426 double x_scale_factor,
427 double y_scale_factor,
428 double z_scale_factor
441 static const
ON_Xform ScaleTransformation
444 double x_scale_factor,
445 double y_scale_factor,
446 double z_scale_factor
459 ON_DEPRECATED_MSG("Use xform =
ON_Xform::ScaleTransformation(plane,x_scale_factor,y_scale_factor,z_scale_factor)")
463 double x_scale_factor,
464 double y_scale_factor,
465 double z_scale_factor
477 static const
ON_Xform ShearTransformation(
484 ON_DEPRECATED_MSG("Use xform =
ON_Xform::ShearTransformation(plane,x1,y1,z1);")
493 ON_DEPRECATED_MSG("Use xform =
ON_Xform::TranslationTransformation(delta);")
498 ON_DEPRECATED_MSG("Use xform =
ON_Xform::TranslationTransformation(dx,dy,dz);")
506 static const
ON_Xform TranslationTransformation(
511 static const
ON_Xform TranslationTransformation(
516 static const
ON_Xform TranslationTransformation(
529 void PlanarProjection(
577 double angle_radians,
933 bool SetObjectToClipTransformation(
937 bool SetObjectToClipTransformation(
938 const ON_Xform object_to_clip_transformation
941 ON_Xform ObjectToClipTransformation()
const;
942 ON_Xform InverseObjectToClipTransformation()
const;
962 void SetClipPlaneTolerance(
double clip_plane_tolerance );
973 double ClipPlaneTolerance()
const;
977 max_clip_plane_count = 16,
978 frustum_bitmask = 0x0000003F,
979 near_plane_bitmask = 0x00000020,
980 far_plane_bitmask = 0x00000010,
981 clip_plane_bitmask = 0x7FFFFFC0,
982 negw_bitmask = 0x80000000
988 int m_clip_plane_count;
991 double m_clip_plane_tolerance;
1059 int InClipPlaneRegion(
1062 int InClipPlaneRegion(
1065 int InClipPlaneRegion(
1069 int InClipPlaneRegion(
1073 int InClipPlaneRegion(
1151 int TransformPoints(
int count,
ON_4dPoint* p )
const;
1152 int TransformPoints(
int count,
ON_4dPoint* p,
unsigned int* pflags )
const;
1179 unsigned int TransformPoint(
1183 unsigned int TransformPoint(
1184 const ON_3dPoint& P,
1187 unsigned int TransformPoint(
1205 bool GetLineClipPlaneParamters(
1230 #if defined(ON_HAS_RVALUEREF) 1240 unsigned int PointCapacity()
const;
1242 unsigned int PointCout()
const;
1264 unsigned int point_index
1271 unsigned int ClipFlag(
1272 unsigned int point_index
1280 bool AppendClipPoint(
1291 bool AppendClipPoints(
1302 bool AppendClipPoints(
1304 size_t world_point_count,
1314 bool AppendClipPoints(
1316 size_t world_point_count,
1317 size_t world_point_stride,
1318 const double* world_points
1325 bool AppendClipPoint(
1327 unsigned int clip_flag
1340 bool ReserveBufferPointCapacity(
1341 size_t buffer_point_capacity
1347 unsigned int m_point_count = 0;
1348 unsigned int m_point_capacity = 0;
1350 unsigned int* m_clip_flags =
nullptr;
1352 unsigned int m_and_clip_flags = 0;
1353 unsigned int m_or_clip_flags = 0;
1356 size_t m_buffer_point_capacity = 0;
1357 void* m_buffer =
nullptr;
1391 bool IsNotSet()
const;
1395 double m_depth = ON_UNSET_VALUE;
1396 double m_distance = 1.0e300;
1399 class ON_CLASS ON_Localizer
1405 ON_Localizer(
const ON_Localizer&);
1406 ON_Localizer& operator=(
const ON_Localizer&);
1499 bool CreateSphereLocalizer(
ON_3dPoint P,
double r0,
double r1 );
1513 double Value(
double distance)
const;
1532 force_32bit_localizer_type = 0xFFFFFFFF
1595 bool IsIdentity(
const class ON_Surface& Srf,
double tol)
const;
1611 bool IsIdentity(
const class ON_Curve& Crv,
double tol)
const;
1627 double Tolerance()
const;
1651 bool QuickPreview()
const;
1659 void SetQuickPreview(
1674 bool PreserveStructure()
const;
1682 void SetPreserveStructure(
1683 bool bPreserveStructure
1687 double m_tolerance = 0.0;
1688 ON__UINT_PTR m_reserved1 = 0;
1689 unsigned int m_reserved2 = 0;
1690 bool m_bQuickPreview =
false;
1691 bool m_bPreserveStructure =
false;
1692 char m_reserved3 = 0;
1693 char m_reserved4 = 0;
1696 #if defined(ON_DLL_TEMPLATE) Definition: opennurbs_nurbssurface.h:62
ON_Curve is a pure virtual class for curve objects
Definition: opennurbs_curve.h:93
Definition: opennurbs_fpoint.h:211
Definition: opennurbs_xform.h:1320
Definition: opennurbs_point.h:277
Definition: opennurbs_xform.h:904
ON_ClippingRegionPoints is a container for storing or referencing clip points and clip flags...
Definition: opennurbs_xform.h:1191
Definition: opennurbs_point.h:648
Definition: opennurbs_bounding_box.h:25
Definition: opennurbs_xform.h:1502
Definition: opennurbs_matrix.h:22
static const ON_3dPoint UnsetPoint
Definition: opennurbs_point.h:474
Definition: opennurbs_nurbscurve.h:26
Definition: opennurbs_archive.h:1783
Definition: opennurbs_viewport.h:31
Definition: opennurbs_point.h:460
Definition: opennurbs_plane.h:20
Definition: opennurbs_surface.h:57
Typically the vector portion is a unit vector and m_d = -(x*P.x + y*P.y + z*P.z) for a point P on the...
Definition: opennurbs_point.h:1433
Definition: opennurbs_point.h:839
Definition: opennurbs_point.h:1152
Definition: opennurbs_point.h:46