1 #if !defined(OPENNURBS_EXTRUSION_INC_)
2 #define OPENNURBS_EXTRUSION_INC_
26 bool ON_GetEndCapTransformation(
53 ON__UINT32
DataCRC( ON__UINT32 current_remainder )
const;
155 ON_COMPONENT_INDEX extrusion_ci,
156 ON_COMPONENT_INDEX& brep_ci
160 ON_COMPONENT_INDEX extrusion_ci,
161 double extrusion_profile_parameter,
163 ON_COMPONENT_INDEX& brep_ci
193 int* span_vector_index,
211 double tolerance = ON_ZERO_TOLERANCE
227 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
228 double curvature_tolerance=ON_SQRT_EPSILON
235 double point_tolerance=ON_ZERO_TOLERANCE,
236 double d1_tolerance=ON_ZERO_TOLERANCE,
237 double d2_tolerance=ON_ZERO_TOLERANCE,
238 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
239 double curvature_tolerance=ON_SQRT_EPSILON
278 double maximum_distance = 0.0,
298 double tolerance = 0.0
302 double nurbs_s,
double nurbs_t,
303 double* surface_s,
double* surface_t
306 double surface_s,
double surface_t,
307 double* nurbs_s,
double* nurbs_t
ON::object_type ObjectType() const
bool GetPathPlane(double s, ON_Plane &plane) const
unsigned int SizeOf() const
ISO IsIsoparametric(const ON_BoundingBox &bbox) const
const ON_PolyCurve * PolyProfile() const
bool SetPathAndUp(ON_3dPoint A, ON_3dPoint B, ON_3dVector up)
bool GetNurbFormParameterFromSurfaceParameter(double surface_s, double surface_t, double *nurbs_s, double *nurbs_t) const
int ProfileSmoothSegmentCount(int profile_index) const
static ON_Extrusion * Cylinder(const ON_Cylinder &cylinder, bool bCapBottom, bool bCapTop, ON_Extrusion *extrusion=0)
ON_Brep * BrepForm(ON_Brep *brep=NULL) const
ON_Extrusion(const ON_Extrusion &src)
ON_3dVector PathTangent() const
bool GetBrepFormComponentIndex(ON_COMPONENT_INDEX extrusion_ci, ON_COMPONENT_INDEX &brep_ci) const
ISO IsIsoparametric(const ON_Curve &curve, const ON_Interval *curve_domain=NULL) const
ON_BOOL32 GetLocalClosestPoint(const ON_3dPoint &, double, double, double *, double *, const ON_Interval *=NULL, const ON_Interval *=NULL) const
int GetNurbForm(ON_NurbsSurface &nurbs_surface, double tolerance=0.0) const
ON_BOOL32 Transform(const ON_Xform &xform)
bool ProfileIsKinked(int profile_index) const
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_Interval m_path_domain
int PathParameter() const
ON_BOOL32 GetParameterTolerance(int dir, double t, double *tminus, double *tplus) const
ON_BOOL32 Reverse(int dir)
ON_BOOL32 Read(ON_BinaryArchive &binary_archive)
ON_Curve * Profile3d(int profile_index, double s) const
int Degree(int dir) const
ON_BOOL32 Write(ON_BinaryArchive &binary_archive) const
void Dump(ON_TextLog &) const
ON_BOOL32 SetDomain(int dir, double t0, double t1)
int GetProfileCurves(ON_SimpleArray< const ON_Curve * > &profile_curves) const
ON_Curve * Profile3d(ON_COMPONENT_INDEX ci) const
int GetProfileKinkParameters(int profile_index, ON_SimpleArray< double > &profile_kink_parameters) const
static const double m_path_length_min
ON_DEPRECATED int FaceCount() const
ON_BOOL32 IsClosed(int) const
const ON_Curve * Profile(int profile_index) const
static bool CleanupPolyCurveProfile(ON_PolyCurve &polycurve)
ON_SumSurface * SumSurfaceForm(ON_SumSurface *sum_surface) const
ON_BOOL32 Evaluate(double u, double v, int num_der, int array_stride, double *der_array, int quadrant=0, int *hint=0) const
ON_Curve * WallEdge(ON_COMPONENT_INDEX ci) const
ON_3dPoint PathStart() const
ON_BOOL32 GetSpanVector(int dir, double *span_vector) const
bool GetTightBoundingBox(ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
bool SetMiterPlaneNormal(ON_3dVector N, int end)
void GetMiterPlaneNormal(int end, ON_3dVector &N) const
ON_BOOL32 Split(int dir, double c, ON_Surface *&west_or_south_side, ON_Surface *&east_or_north_side) const
bool SetOuterProfile(ON_Curve *outer_profile, bool bCap)
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
ON_BOOL32 GetBBox(double *boxmin, double *boxmax, int bGrowBox=false) const
static bool IsValidPolyCurveProfile(const ON_PolyCurve &polycurve, ON_TextLog *text_log=0)
bool GetSurfaceParameterFromNurbFormParameter(double nurbs_s, double nurbs_t, double *surface_s, double *surface_t) const
ON_Brep * BrepForm(ON_Brep *brep, bool bSmoothFaces) const
int ProfileParameter() const
ON_LineCurve * PathLineCurve(ON_LineCurve *line_curve) const
ON_BOOL32 GetSurfaceSize(double *width, double *height) const
ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
ON_BOOL32 Trim(int dir, const ON_Interval &domain)
ON_BOOL32 GetSpanVectorIndex(int dir, double t, int side, int *span_vector_index, ON_Interval *span_interval) const
static ON_Extrusion * Pipe(const ON_Cylinder &cylinder, double other_radius, bool bCapBottom, bool bCapTop, ON_Extrusion *extrusion=0)
ON_BOOL32 IsPlanar(ON_Plane *plane=NULL, double tolerance=ON_ZERO_TOLERANCE) const
bool SetPath(ON_3dPoint A, ON_3dPoint B)
ON_BOOL32 IsPeriodic(int) const
ON_Surface * WallSurface(ON_COMPONENT_INDEX ci) const
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
bool GetBrepFormComponentIndex(ON_COMPONENT_INDEX extrusion_ci, double extrusion_profile_parameter, const ON_Brep &brep_form, ON_COMPONENT_INDEX &brep_ci) const
ON_Interval Domain(int dir) const
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
static const double m_Nz_min
bool AddInnerProfile(ON_Curve *inner_profile)
bool Extend(int dir, const ON_Interval &domain)
bool GetProfileTransformation(double s, ON_Xform &xform) const
int SpanCount(int dir) const
ON_Extrusion & operator=(const ON_Extrusion &)
bool GetProfilePlane(double s, ON_Plane &plane) const
int ProfileIndex(double profile_parameter) const
static ON_Extrusion * CreateFrom3dCurve(const ON_Curve &curve, const ON_Plane *plane, double height, bool bCap, ON_Extrusion *extrusion=0)
ON_Curve * IsoCurve(int dir, double c) const
ON_3dPoint PathEnd() const