23 #if !defined(OPENNURBS_NURBSSURFACE_INC_) 24 #define OPENNURBS_NURBSSURFACE_INC_ 26 #include <pcl/pcl_exports.h> 43 int DimensionA()
const = 0;
46 int DimensionB()
const = 0;
49 int DimensionC()
const = 0;
52 bool Evaluate(
double,
86 ON_BOOL32 bIsRational,
98 ON_BOOL32 bIsRational,
106 unsigned int SizeOf()
const;
109 ON__UINT32 DataCRC(ON__UINT32 current_remainder)
const;
125 bool bIgnoreParameterization,
126 double tolerance = ON_ZERO_TOLERANCE
129 void Initialize(
void);
167 int CreateRuledSurface(
198 int CreateConeSurface(
230 void EmergencyDestroy();
266 ON_BOOL32 IsValid(
ON_TextLog* text_log = NULL )
const;
281 int Dimension()
const;
294 bool IsDeformable()
const;
297 bool MakeDeformable();
299 ON_BOOL32 SwapCoordinates(
329 ON_BOOL32 GetSurfaceSize(
338 ON_BOOL32 GetSpanVector(
348 ON_BOOL32 GetParameterTolerance(
370 double tolerance = ON_ZERO_TOLERANCE
378 ON_BOOL32 IsPeriodic(
382 ON_BOOL32 IsSingular(
439 bool GetNextDiscontinuity(
447 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
448 double curvature_tolerance=ON_SQRT_EPSILON
483 double point_tolerance=ON_ZERO_TOLERANCE,
484 double d1_tolerance=ON_ZERO_TOLERANCE,
485 double d2_tolerance=ON_ZERO_TOLERANCE,
486 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
487 double curvature_tolerance=ON_SQRT_EPSILON
494 ON_BOOL32 Transpose();
624 double offset_distance,
626 double* max_deviation = NULL
658 double ControlPolygonLength(
int dir )
const;
720 ON::point_style CVStyle()
const;
762 ON_BOOL32 SetCVColumn(
769 ON_BOOL32 SetCVColumn(
802 int KnotMultiplicity(
824 bool MakeClampedUniformKnotVector(
842 bool MakePeriodicUniformKnotVector(
853 double SuperfluousKnot(
858 double GrevilleAbcissa(
863 bool GetGrevilleAbcissae(
868 bool SetClampedGrevilleKnotVector(
874 bool SetPeriodicGrevilleKnotVector(
890 int knot_multiplicity=1
895 bool MakeNonRational();
902 bool ChangeDimension(
903 int desired_dimension
917 ON_BOOL32 ChangeSurfaceSeam(
924 ON_BOOL32 TensorProduct(
932 ON_BOOL32 ReserveKnotCapacity(
935 int knot_array_capacity
937 ON_BOOL32 ReserveCVCapacity(
939 int cv_array_capacity
957 ON_BOOL32 ConvertSpanToBezier(
987 int m_knot_capacity[2];
1109 unsigned int SizeOf()
const;
1112 ON__UINT32 DataCRC(ON__UINT32 current_remainder)
const;
1152 ON::object_type ObjectType()
const;
1168 void DestroyRuntimeCache(
1187 int Dimension()
const;
1207 int bGrowBox =
false 1225 bool GetTightBoundingBox(
1227 int bGrowBox =
false,
1240 ON_BOOL32 Transform(
1252 bool IsDeformable()
const;
1260 bool MakeDeformable();
1268 bool IsParallelogram(
double tolerance)
const;
1345 void EmergencyDestroy();
1368 int knot_multiplicity=1
1371 ON_BOOL32 IncreaseDegree(
1376 ON_BOOL32 ChangeDimension(
1377 int desired_dimension
1501 bool IsRational()
const;
1571 ON::point_style CVStyle()
const;
1667 bool MakeRational();
1669 bool MakeNonRational();
1685 double GrevilleAbcissa(
1697 bool ReserveCVCapacity(
1701 bool ReserveKnotCapacity(
1722 int m_knot_capacity[3];
1730 bool ON_GetCageXform(
1754 void MemoryRelocate();
1756 ON_BOOL32 IsValid(
ON_TextLog* text_log = NULL )
const;
1760 unsigned int SizeOf()
const;
1770 ON::object_type ObjectType()
const;
1772 void DestroyRuntimeCache(
bool bDelete =
true );
1779 int Dimension()
const;
1784 int bGrowBox =
false 1787 bool GetTightBoundingBox(
1789 int bGrowBox =
false,
1793 void ClearBoundingBox();
1795 ON_BOOL32 Transform(
1799 ON_BOOL32 HasBrepForm()
const;
1808 bool IsRational()
const;
1814 bool MakeRational();
1820 bool MakeNonRational();
1826 int CVCount()
const;
1828 int CVCount(
int dir)
const;
1829 int Order(
int dir)
const;
1830 const double* Knot(
int dir)
const;
1832 const double* CV(
ON_3dex)
const;
1857 bool AddControlLocalizer(
1858 double support_distance,
1859 double falloff_distance
1862 bool AddSphereLocalizer(
1864 double support_distance,
1865 double falloff_distance
1868 bool AddCylinderLocalizer(
1870 double support_distance,
1871 double falloff_distance
1874 bool AddBoxLocalizer(
1876 double support_distance,
1877 double falloff_distance
1880 bool AddPlaneLocalizer(
1882 double support_distance,
1883 double falloff_distance
1886 bool AddConvexPolygonLocalizer(
1888 double support_distance,
1889 double falloff_distance
1897 bool GetCageMorph(
class ON_CageMorph& cage_morph )
const;
1964 #if defined(ON_DLL_TEMPLATE) 1968 #pragma warning( push ) 1969 #pragma warning( disable : 4231 ) 1979 #pragma warning( pop )
const ON_MorphControl * m_control
ON_NurbsCage m_nurbs_cage
ON_NurbsSurface m_nurbs_surface0
bool m_sporh_bPreserveStructure
ON_ClassArray< ON_Localizer > m_localizers
ON_NurbsSurface m_nurbs_surface
ON_NurbsCurve m_nurbs_curve
ON_NurbsCurve m_nurbs_curve0
bool m_sporh_bQuickPreview
ON_Interval m_nurbs_curve_domain