22#if !defined(OPENNURBS_NURBSSURFACE_INC_)
23#define OPENNURBS_NURBSSURFACE_INC_
103 unsigned int SizeOf()
const;
122 bool bIgnoreParameterization,
126 void Initialize(
void);
164 int CreateRuledSurface(
195 int CreateConeSurface(
227 void EmergencyDestroy();
291 bool IsDeformable()
const;
294 bool MakeDeformable();
304 bool IsMorphable()
const;
447 bool GetNextDiscontinuity(
455 double cos_angle_tolerance=0.99984769515639123915701155881391,
494 double cos_angle_tolerance=0.99984769515639123915701155881391,
632 double offset_distance,
634 double* max_deviation =
NULL
666 double ControlPolygonLength(
int dir )
const;
728 ON::point_style CVStyle()
const;
810 int KnotMultiplicity(
832 bool MakeClampedUniformKnotVector(
850 bool MakePeriodicUniformKnotVector(
861 double SuperfluousKnot(
866 double GrevilleAbcissa(
871 bool GetGrevilleAbcissae(
876 bool SetClampedGrevilleKnotVector(
882 bool SetPeriodicGrevilleKnotVector(
898 int knot_multiplicity=1
903 bool MakeNonRational();
910 bool ChangeDimension(
911 int desired_dimension
943 int knot_array_capacity
947 int cv_array_capacity
995 int m_knot_capacity[2];
1117 unsigned int SizeOf()
const;
1160 ON::object_type ObjectType()
const;
1176 void DestroyRuntimeCache(
1215 int bGrowBox =
false
1233 bool GetTightBoundingBox(
1235 int bGrowBox =
false,
1260 bool IsDeformable()
const;
1268 bool MakeDeformable();
1289 bool IsMorphable()
const;
1297 bool IsParallelogram(
double tolerance)
const;
1374 void EmergencyDestroy();
1397 int knot_multiplicity=1
1406 int desired_dimension
1530 bool IsRational()
const;
1600 ON::point_style CVStyle()
const;
1696 bool MakeRational();
1698 bool MakeNonRational();
1714 double GrevilleAbcissa(
1726 bool ReserveCVCapacity(
1730 bool ReserveKnotCapacity(
1751 int m_knot_capacity[3];
1783 void MemoryRelocate();
1789 unsigned int SizeOf()
const;
1799 ON::object_type ObjectType()
const;
1801 void DestroyRuntimeCache(
bool bDelete =
true );
1813 int bGrowBox =
false
1816 bool GetTightBoundingBox(
1818 int bGrowBox =
false,
1822 void ClearBoundingBox();
1830 bool IsMorphable()
const;
1841 bool IsRational()
const;
1847 bool MakeRational();
1853 bool MakeNonRational();
1859 int CVCount()
const;
1861 int CVCount(
int dir)
const;
1862 int Order(
int dir)
const;
1863 const double* Knot(
int dir)
const;
1865 const double* CV(
ON_3dex)
const;
1890 bool AddControlLocalizer(
1891 double support_distance,
1892 double falloff_distance
1895 bool AddSphereLocalizer(
1897 double support_distance,
1898 double falloff_distance
1901 bool AddCylinderLocalizer(
1903 double support_distance,
1904 double falloff_distance
1907 bool AddBoxLocalizer(
1909 double support_distance,
1910 double falloff_distance
1913 bool AddPlaneLocalizer(
1915 double support_distance,
1916 double falloff_distance
1919 bool AddConvexPolygonLocalizer(
1921 double support_distance,
1922 double falloff_distance
1930 bool GetCageMorph(
class ON_CageMorph& cage_morph )
const;
1942 void MorphPointLocalizerHelper(
1945 double& clspt_max_dist,
1949 void MorphPointVarient1Helper(
1957 void MorphPointVarient2Helper(
2033#if defined(ON_DLL_TEMPLATE)
2037#pragma warning( push )
2038#pragma warning( disable : 4231 )
2048#pragma warning( pop )
int i
Copyright (c) 2011-2018 by Andrew Mustun.
Definition autostart.js:32
Base class for all dimensioning tools.
Definition Dimension.js:18
Definition opennurbs_point.h:403
Definition opennurbs_point.h:931
Definition opennurbs_point.h:555
Definition opennurbs_bezier.h:1592
Definition opennurbs_bezier.h:1198
Definition opennurbs_archive.h:152
Definition opennurbs_bounding_box.h:25
Definition opennurbs_brep.h:1585
Definition opennurbs_nurbssurface.h:2000
const ON_MorphControl * m_control
Definition opennurbs_nurbssurface.h:2008
Definition opennurbs_array.h:760
Definition opennurbs_curve.h:88
Definition opennurbs_geometry.h:36
Definition opennurbs_point.h:46
Definition opennurbs_line.h:20
Definition opennurbs_xform.h:1000
Definition opennurbs_mesh.h:795
Definition opennurbs_mesh.h:33
Definition opennurbs_nurbssurface.h:1766
int m_varient
Definition opennurbs_nurbssurface.h:1969
ON_NurbsCurve m_nurbs_curve
Definition opennurbs_nurbssurface.h:1974
bool m_sporh_bQuickPreview
Definition opennurbs_nurbssurface.h:1994
ON_OBJECT_DECLARE(ON_MorphControl)
ON_UuidList m_captive_id
Definition opennurbs_nurbssurface.h:1985
ON_NurbsCage m_nurbs_cage
Definition opennurbs_nurbssurface.h:1982
ON_NurbsSurface m_nurbs_surface0
Definition opennurbs_nurbssurface.h:1977
ON_Interval m_nurbs_curve_domain
Definition opennurbs_nurbssurface.h:1975
ON_ClassArray< ON_Localizer > m_localizers
Definition opennurbs_nurbssurface.h:1990
bool m_sporh_bPreserveStructure
Definition opennurbs_nurbssurface.h:1995
ON_Xform m_nurbs_cage0
Definition opennurbs_nurbssurface.h:1981
ON_NurbsCurve m_nurbs_curve0
Definition opennurbs_nurbssurface.h:1973
ON_NurbsSurface m_nurbs_surface
Definition opennurbs_nurbssurface.h:1978
double m_sporh_tolerance
Definition opennurbs_nurbssurface.h:1993
Definition opennurbs_nurbssurface.h:1037
int m_dim
Definition opennurbs_nurbssurface.h:1747
bool GetSpanVector(int dir, double *span_vector) const
double * m_cv
Definition opennurbs_nurbssurface.h:1755
ON_BOOL32 IncreaseDegree(int dir, int desired_degree)
bool m_is_rat
Definition opennurbs_nurbssurface.h:1748
ON_BOOL32 ChangeDimension(int desired_dimension)
bool Trim(int dir, const ON_Interval &domain)
bool Transpose(int dir0, int dir1)
bool InsertKnot(int dir, double knot_value, int knot_multiplicity=1)
int m_cv_capacity
Definition opennurbs_nurbssurface.h:1754
bool Extend(int dir, const ON_Interval &domain)
int SpanCount(int dir) const
ON_OBJECT_DECLARE(ON_NurbsCage)
bool ClampEnd(int dir, int end)
Definition opennurbs_nurbscurve.h:27
Definition opennurbs_nurbssurface.h:62
int m_dim
Definition opennurbs_nurbssurface.h:982
double * m_cv
Definition opennurbs_nurbssurface.h:1023
int m_cv_capacity
Definition opennurbs_nurbssurface.h:1014
ON_OBJECT_DECLARE(ON_NurbsSurface)
int m_is_rat
Definition opennurbs_nurbssurface.h:984
Definition opennurbs_array.h:998
Definition opennurbs_plane.h:20
Definition opennurbs_array.h:46
Definition opennurbs_xform.h:1146
Definition opennurbs_surface.h:58
Definition opennurbs_nurbssurface.h:26
virtual int DimensionA() const =0
virtual bool Evaluate(double, const double *, double, const double *, double *)=0
virtual int DimensionB() const =0
virtual int DimensionC() const =0
Definition opennurbs_textlog.h:20
Definition opennurbs_array.h:1079
Parallel lines, concentric arcs, circles, equidistant curve to ellipses.
Definition Offset.js:11
Reverses all selected entities which support reversing (lines, arcs, splines).
Definition Reverse.js:11
Trims an entity to another entity or trims both entities if this.trimBoth is true.
Definition Trim.js:12
#define ON_ZERO_TOLERANCE
Definition opennurbs_defines.h:238
#define ON_DECL
Definition opennurbs_defines.h:92
#define ON_CLASS
Definition opennurbs_defines.h:91
#define ON_SQRT_EPSILON
Definition opennurbs_defines.h:147
ON_DECL ON_NurbsSurface * ON_NurbsSurfaceQuadrilateral(const ON_3dPoint &P, const ON_3dPoint &Q, const ON_3dPoint &R, const ON_3dPoint &S, ON_NurbsSurface *nurbs_surface=NULL)
Definition opennurbs_nurbssurface.cpp:3022
ON_DECL bool ON_GetCageXform(const ON_NurbsCage &cage, ON_Xform &cage_xform)
Definition opennurbs_nurbsvolume.cpp:2060
#define ON_unset_point
Definition opennurbs_point.h:1506
#define N
Definition opennurbs_rand.cpp:70
char s
Definition opennurbs_string.cpp:32
#define NULL
Definition opennurbs_system.h:256
int ON_BOOL32
Definition opennurbs_system.h:362
unsigned int ON__UINT32
Definition opennurbs_system.h:326
Definition opennurbs_defines.h:261