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