23 #if !defined(OPENNURBS_SURFACE_INC_) 
   24 #define OPENNURBS_SURFACE_INC_ 
   26 #include <pcl/pcl_exports.h> 
  220         int* span_vector_index,        
 
  289         double tolerance = ON_ZERO_TOLERANCE
 
  305         double tolerance = ON_ZERO_TOLERANCE
 
  321         double tolerance = ON_ZERO_TOLERANCE
 
  337         double tolerance = ON_ZERO_TOLERANCE
 
  353         double tolerance = ON_ZERO_TOLERANCE
 
  474                   double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
 
  475                   double curvature_tolerance=ON_SQRT_EPSILON
 
  509     double point_tolerance=ON_ZERO_TOLERANCE,
 
  510     double d1_tolerance=ON_ZERO_TOLERANCE,
 
  511     double d2_tolerance=ON_ZERO_TOLERANCE,
 
  512     double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
 
  513     double curvature_tolerance=ON_SQRT_EPSILON
 
  776         double tolerance = 0.0
 
  828         double tolerance = 0.0,
 
  835         double nurbs_s, 
double nurbs_t,
 
  836         double* surface_s, 
double* surface_t
 
  841         double surface_s, 
double surface_t,
 
  842         double* nurbs_s,  
double* nurbs_t
 
  871   bool m_bIsSingular[4];   
 
  883   unsigned char m_reserved[16];
 
  894 #if defined(ON_DLL_TEMPLATE) 
  898 #pragma warning( push ) 
  899 #pragma warning( disable : 4231 ) 
  901 #pragma warning( pop ) 
ON_BOOL32 Read(ON_BinaryArchive &)
ON_BOOL32 Duplicate(ON_SurfaceArray &) const
ON_BOOL32 Write(ON_BinaryArchive &) const
virtual int HasNurbForm() const
virtual ISO IsIsoparametric(const ON_Curve &curve, const ON_Interval *curve_domain=NULL) const
virtual ON_BOOL32 GetSpanVector(int dir, double *span_vector) const =0
ON_BOOL32 EvNormal(double u, double v, ON_3dVector &normal, int quadrant=0, int *hint=0) const
virtual ON_BOOL32 IsClosed(int) const
virtual ON_BOOL32 SetDomain(int dir, double t0, double t1)
virtual ON_BOOL32 Split(int dir, double c, ON_Surface *&west_or_south_side, ON_Surface *&east_or_north_side) const
ON_BOOL32 FrameAt(double u, double v, ON_Plane &frame) const
virtual ON_BOOL32 IsPlanar(ON_Plane *plane=NULL, double tolerance=ON_ZERO_TOLERANCE) const
bool IsTorus(ON_Torus *torus=NULL, double tolerance=ON_ZERO_TOLERANCE) const
ON_BOOL32 Ev2Der(double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, ON_3dVector &duu, ON_3dVector &duv, ON_3dVector &dvv, int quadrant=0, int *hint=0) const
virtual int Degree(int dir) const =0
ON_BOOL32 EvPoint(double u, double v, ON_3dPoint &point, int quadrant=0, int *hint=0) const
virtual int GetNurbForm(ON_NurbsSurface &nurbs_surface, double tolerance=0.0) const
ON_3dVector NormalAt(double, double) const
unsigned int SizeOf() const
ON_3dPoint PointAt(double, double) const
ON_NurbsSurface * NurbsSurface(ON_NurbsSurface *pNurbsSurface=NULL, double tolerance=0.0, const ON_Interval *s_subdomain=NULL, const ON_Interval *t_subdomain=NULL) const
virtual ON_BOOL32 Reverse(int)=0
virtual ON_BOOL32 Evaluate(double u, double v, int num_der, int array_stride, double *der_array, int quadrant=0, int *hint=0) const =0
virtual ON_BOOL32 IsSingular(int) const
ON_Surface(const ON_Surface &)
ON_Surface & operator=(const ON_Surface &)
virtual ON_BOOL32 GetSurfaceSize(double *width, double *height) const
virtual ON_BOOL32 IsPeriodic(int) const
bool IsAtSingularity(double s, double t, bool bExact=true) const
bool SetDomain(int dir, ON_Interval domain)
virtual ON_BOOL32 Transpose()=0
virtual ISO IsIsoparametric(const ON_BoundingBox &bbox) const
virtual bool GetNextDiscontinuity(int dir, ON::continuity c, double t0, double t1, double *t, int *hint=NULL, int *dtype=NULL, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const
ON_BOOL32 GetDomain(int dir, double *t0, double *t1) const
ON_BOOL32 EvNormal(double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, ON_3dVector &normal, int=0, int *=0) const
ON_BOOL32 HasBrepForm() const
virtual ON_Curve * IsoCurve(int dir, double c) const
virtual bool Extend(int dir, const ON_Interval &domain)
virtual ON_BOOL32 GetParameterTolerance(int dir, double t, double *tminus, double *tplus) const
bool IsCone(ON_Cone *cone=NULL, double tolerance=ON_ZERO_TOLERANCE) const
bool EvaluatePoint(const class ON_ObjRef &objref, ON_3dPoint &P) const
virtual ON_Interval Domain(int dir) const =0
void DestroyRuntimeCache(bool bDelete=true)
int IsAtSeam(double s, double t) const
virtual bool IsContinuous(ON::continuity c, double s, double t, int *hint=NULL, double point_tolerance=ON_ZERO_TOLERANCE, double d1_tolerance=ON_ZERO_TOLERANCE, double d2_tolerance=ON_ZERO_TOLERANCE, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const
virtual bool GetSurfaceParameterFromNurbFormParameter(double nurbs_s, double nurbs_t, double *surface_s, double *surface_t) const
ON::object_type ObjectType() const
virtual bool GetNurbFormParameterFromSurfaceParameter(double surface_s, double surface_t, double *nurbs_s, double *nurbs_t) const
bool IsCylinder(ON_Cylinder *cylinder=NULL, double tolerance=ON_ZERO_TOLERANCE) const
ON_BOOL32 EvNormal(double u, double v, ON_3dPoint &point, ON_3dVector &normal, int quadrant=0, int *hint=0) const
virtual int SpanCount(int dir) const =0
bool IsSphere(ON_Sphere *sphere=NULL, double tolerance=ON_ZERO_TOLERANCE) const
ON_Brep * BrepForm(ON_Brep *brep=NULL) const
virtual ON_BOOL32 GetSpanVectorIndex(int dir, double t, int side, int *span_vector_index, ON_Interval *span_interval) const
ON_BOOL32 Ev1Der(double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, int quadrant=0, int *hint=0) const
virtual ON_BOOL32 Trim(int dir, const ON_Interval &domain)
virtual ON_Surface * DuplicateSurface() const
void DestroySurfaceTree()
void Set(const ON_Surface *surface)
const ON_Surface * m_surface