1#if !defined(OPENNURBS_EXTRUSION_INC_)
2#define OPENNURBS_EXTRUSION_INC_
52 unsigned int SizeOf()
const;
116 bool bSplitKinkyFaces
150 int* span_vector_index,
184 double cos_angle_tolerance=0.99984769515639123915701155881391,
195 double cos_angle_tolerance=0.99984769515639123915701155881391,
234 double maximum_distance = 0.0,
254 double tolerance = 0.0
258 double nurbs_s,
double nurbs_t,
259 double* surface_s,
double* surface_t
262 double surface_s,
double surface_t,
263 double* nurbs_s,
double* nurbs_t
323 int PathParameter()
const;
344 void GetMiterPlaneNormal(
int end,
ON_3dVector&
N)
const;
353 int IsMitered()
const;
368 int IsCapped()
const;
378 bool GetProfileTransformation(
double s,
ON_Xform& xform )
const;
398 bool GetProfilePlane(
double s,
ON_Plane& plane )
const;
419 bool GetPathPlane(
double s,
ON_Plane& plane )
const;
443 bool SetOuterProfile(
ON_Curve* outer_profile,
bool bCap );
462 bool AddInnerProfile(
ON_Curve* inner_profile );
469 int ProfileCount()
const;
484 int ProfileParameter()
const;
497 const ON_Curve* Profile(
int profile_index)
const;
514 ON_Curve* Profile3d(
int profile_index,
double s )
const;
526 ON_Curve* Profile3d( ON_COMPONENT_INDEX ci )
const;
563 static bool CleanupPolyCurveProfile(
ON_PolyCurve& polycurve );
Definition opennurbs_point.h:403
Definition opennurbs_point.h:931
Definition opennurbs_archive.h:152
Definition opennurbs_bounding_box.h:25
Definition opennurbs_brep.h:1585
Definition opennurbs_curve.h:88
Definition opennurbs_cylinder.h:28
Definition opennurbs_beam.h:37
ON_Curve * m_profile
Definition opennurbs_beam.h:594
ON_OBJECT_DECLARE(ON_Extrusion)
ON_Line m_path
Definition opennurbs_beam.h:572
ON_Interval m_t
Definition opennurbs_beam.h:573
ON_Interval m_path_domain
Definition opennurbs_beam.h:613
bool m_bTransposed
Definition opennurbs_beam.h:614
static const double m_path_length_min
Definition opennurbs_beam.h:622
int m_profile_count
Definition opennurbs_beam.h:593
ON_3dVector m_up
Definition opennurbs_beam.h:574
static const double m_Nz_min
Definition opennurbs_beam.h:618
virtual ON_BOOL32 GetBBox(double *boxmin, double *boxmax, int bGrowBox=false) const =0
virtual bool GetTightBoundingBox(ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
Definition opennurbs_geometry.cpp:98
virtual int Dimension() const =0
Definition opennurbs_point.h:46
Definition opennurbs_line.h:20
Definition opennurbs_mesh.h:795
Definition opennurbs_mesh.h:33
Definition opennurbs_nurbssurface.h:62
virtual ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
Definition opennurbs_object.cpp:1689
virtual void Dump(ON_TextLog &) const
Definition opennurbs_object.cpp:1695
virtual ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const =0
virtual ON_BOOL32 Read(ON_BinaryArchive &binary_archive)
Definition opennurbs_object.cpp:1734
virtual ON_BOOL32 Write(ON_BinaryArchive &binary_archive) const
Definition opennurbs_object.cpp:1714
Definition opennurbs_plane.h:20
Definition opennurbs_polycurve.h:38
Definition opennurbs_array.h:46
Definition opennurbs_surface.h:58
virtual ON_BOOL32 Split(int dir, double c, ON_Surface *&west_or_south_side, ON_Surface *&east_or_north_side) const
Definition opennurbs_surface.cpp:1956
virtual ON_BOOL32 GetSpanVector(int dir, double *span_vector) const =0
virtual ON_BOOL32 IsPlanar(ON_Plane *plane=NULL, double tolerance=ON_ZERO_TOLERANCE) const
Definition opennurbs_surface.cpp:316
virtual ON_BOOL32 GetParameterTolerance(int dir, double t, double *tminus, double *tplus) const
Definition opennurbs_surface.cpp:147
virtual ON_BOOL32 IsClosed(int) const
Definition opennurbs_surface.cpp:322
virtual int Degree(int dir) const =0
virtual ON_BOOL32 IsPeriodic(int) const
Definition opennurbs_surface.cpp:373
virtual ON_BOOL32 GetSpanVectorIndex(int dir, double t, int side, int *span_vector_index, ON_Interval *span_interval) const
Definition opennurbs_surface.cpp:117
unsigned int SizeOf() const
Definition opennurbs_surface.cpp:26
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 bool Extend(int dir, const ON_Interval &domain)
Definition opennurbs_surface.cpp:1947
virtual ON_BOOL32 GetSurfaceSize(double *width, double *height) const
Definition opennurbs_surface.cpp:81
ISO
Definition opennurbs_surface.h:73
bool SetDomain(int dir, ON_Interval domain)
Definition opennurbs_surface.cpp:93
virtual ON_BOOL32 Transpose()=0
virtual bool GetNextDiscontinuity(int dir, ON::continuity c, double t0, double t1, double *t, int *hint=NULL, int *dtype=NULL, double cos_angle_tolerance=0.99984769515639123915701155881391, double curvature_tolerance=ON_SQRT_EPSILON) const
Definition opennurbs_surface.cpp:378
virtual int HasNurbForm() const
Definition opennurbs_surface.cpp:2120
virtual ON_Curve * IsoCurve(int dir, double c) const
Definition opennurbs_surface.cpp:1213
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=0.99984769515639123915701155881391, double curvature_tolerance=ON_SQRT_EPSILON) const
Definition opennurbs_surface.cpp:547
virtual ON_Interval Domain(int dir) const =0
virtual int GetNurbForm(ON_NurbsSurface &nurbs_surface, double tolerance=0.0) const
Definition opennurbs_surface.cpp:2111
virtual ON_BOOL32 Trim(int dir, const ON_Interval &domain)
Definition opennurbs_surface.cpp:1938
virtual ISO IsIsoparametric(const ON_Curve &curve, const ON_Interval *curve_domain=NULL) const
Definition opennurbs_surface.cpp:162
virtual ON_Mesh * CreateMesh(const ON_MeshParameters &mp, ON_Mesh *mesh=NULL) const
Definition opennurbs_mesh.cpp:527
bool IsSolid() const
Definition opennurbs_surface.cpp:773
ON_Brep * BrepForm(ON_Brep *brep=NULL) const
Definition opennurbs_surface.cpp:2285
ON::object_type ObjectType() const
Definition opennurbs_surface.cpp:68
ON_Surface & operator=(const ON_Surface &)
Definition opennurbs_surface.cpp:39
virtual bool GetSurfaceParameterFromNurbFormParameter(double nurbs_s, double nurbs_t, double *surface_s, double *surface_t) const
Definition opennurbs_surface.cpp:2125
virtual int SpanCount(int dir) const =0
virtual ON_BOOL32 GetLocalClosestPoint(const ON_3dPoint &, double, double, double *, double *, const ON_Interval *=NULL, const ON_Interval *=NULL) const
Definition opennurbs_surface.cpp:2053
virtual bool GetClosestPoint(const ON_3dPoint &P, double *s, double *t, double maximum_distance=0.0, const ON_Interval *sdomain=0, const ON_Interval *tdomain=0) const
Definition opennurbs_surface.cpp:1967
virtual bool GetNurbFormParameterFromSurfaceParameter(double surface_s, double surface_t, double *nurbs_s, double *nurbs_t) const
Definition opennurbs_surface.cpp:2136
Definition opennurbs_textlog.h:20
ON_DECL bool ON_GetEndCapTransformation(ON_3dPoint P, ON_3dVector T, ON_3dVector U, const ON_3dVector *Normal, ON_Xform &xform, ON_Xform *scale2d, ON_Xform *rot2d)
Definition opennurbs_beam.cpp:195
#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
#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