QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
ON_NurbsCage Class Reference

#include <opennurbs_nurbssurface.h>

Inheritance diagram for ON_NurbsCage:
ON_Geometry ON_Object

Public Member Functions

ON_BOOL32 ChangeDimension (int desired_dimension)
 
bool ClampEnd (int dir, int end)
 
bool Create (const ON_3dPoint *box_corners, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)
 
bool Create (const ON_BoundingBox &bbox, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)
 
bool Create (int dim, bool is_rat, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)
 
double * CV (int i, int j, int k) const
 
int CVCount (int) const
 
int CVCount (void) const
 
int CVSize () const
 
ON::point_style CVStyle () const
 
ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
 
int Degree (int dir) const
 
void Destroy ()
 
void DestroyRuntimeCache (bool bDelete=true)
 
int Dimension () const
 
ON_Interval Domain (int) const
 
void Dump (ON_TextLog &text_log) const
 
void EmergencyDestroy ()
 
bool Evaluate (double r, double s, double t, int der_count, int v_stride, double *v, int side=0, int *hint=0) const
 
bool Extend (int dir, const ON_Interval &domain)
 
ON_BOOL32 GetBBox (double *boxmin, double *boxmax, int bGrowBox=false) const
 
bool GetCV (int i, int j, int k, ON::point_style, double *) const
 
bool GetCV (int i, int j, int k, ON_3dPoint &) const
 
bool GetCV (int i, int j, int k, ON_4dPoint &) const
 
bool GetSpanVector (int dir, double *span_vector) const
 
bool GetTightBoundingBox (ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
 
double GrevilleAbcissa (int dir, int gindex) const
 
ON_BOOL32 IncreaseDegree (int dir, int desired_degree)
 
bool InsertKnot (int dir, double knot_value, int knot_multiplicity=1)
 
bool IsClosed (int) const
 
bool IsDeformable () const
 
bool IsMorphable () const
 
ON_NurbsSurfaceIsoSurface (int dir, double c, ON_NurbsSurface *srf=0) const
 
bool IsParallelogram (double tolerance) const
 
bool IsPeriodic (int) const
 
bool IsRational () const
 
bool IsSingular (int) const
 
ON_BOOL32 IsValid (ON_TextLog *text_log=NULL) const
 
double Knot (int dir, int knot_index) const
 
int KnotCount (int dir) const
 
bool MakeDeformable ()
 
bool MakeNonRational ()
 
bool MakeRational ()
 
bool Morph (const ON_SpaceMorph &morph)
 
ON::object_type ObjectType () const
 
 ON_NurbsCage ()
 
 ON_NurbsCage (const ON_3dPoint *box_corners, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)
 
 ON_NurbsCage (const ON_BezierCage &src)
 
 ON_NurbsCage (const ON_BoundingBox &bbox, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)
 
 ON_NurbsCage (const ON_NurbsCage &src)
 
 ON_NurbsCage (int dim, bool is_rat, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)
 
ON_NurbsCageoperator= (const ON_BezierCage &src)
 
ON_NurbsCageoperator= (const ON_NurbsCage &src)
 
int Order (int dir) const
 
ON_3dPoint PointAt (double r, double s, double t) const
 
ON_3dPoint PointAt (ON_3dPoint rst) const
 
ON_BOOL32 Read (ON_BinaryArchive &archive)
 
bool ReserveCVCapacity (int cv_capacity)
 
bool ReserveKnotCapacity (int dir, int cv_capacity)
 
bool Reverse (int dir)
 
bool SetCV (int i, int j, int k, const ON_3dPoint &point)
 
bool SetCV (int i, int j, int k, const ON_4dPoint &hpoint)
 
bool SetCV (int i, int j, int k, ON::point_style, const double *)
 
bool SetKnot (int dir, int knot_index, double knot_value)
 
bool SetWeight (int i, int j, int k, double w)
 
unsigned int SizeOf () const
 
int SpanCount (int dir) const
 
ON_BOOL32 Transform (const ON_Xform &xform)
 
bool Transpose (int dir0, int dir1)
 
bool Trim (int dir, const ON_Interval &domain)
 
double Weight (int i, int j, int k) const
 
ON_BOOL32 Write (ON_BinaryArchive &archive) const
 
bool ZeroCVs ()
 
 ~ON_NurbsCage ()
 
- Public Member Functions inherited from ON_Geometry
ON_BoundingBox BoundingBox () const
 
virtual ON_BrepBrepForm (ON_Brep *brep=NULL) const
 
virtual void ClearBoundingBox ()
 
virtual ON_COMPONENT_INDEX ComponentIndex () const
 
virtual bool EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const
 
ON_BOOL32 GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, int bGrowBox=false) const
 
ON_BOOL32 GetBoundingBox (ON_BoundingBox &bbox, int bGrowBox=false) const
 
virtual ON_BOOL32 HasBrepForm () const
 
 ON_Geometry ()
 
 ON_Geometry (const ON_Geometry &)
 
ON_Geometryoperator= (const ON_Geometry &)
 
ON_BOOL32 Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
ON_BOOL32 Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
ON_BOOL32 Scale (double scale_factor)
 
virtual ON_BOOL32 SwapCoordinates (int i, int j)
 
ON_BOOL32 Translate (const ON_3dVector &translation_vector)
 
virtual ~ON_Geometry ()
 
- Public Member Functions inherited from ON_Object
ON_BOOL32 AttachUserData (ON_UserData *pUserData)
 
bool CopyFrom (const ON_Object *src)
 
void CopyUserData (const ON_Object &source_object)
 
ON_BOOL32 DetachUserData (ON_UserData *pUserData)
 
ON_UserDataFirstUserData () const
 
ON_UserDataGetUserData (const ON_UUID &userdata_uuid) const
 
bool GetUserString (const wchar_t *key, ON_wString &string_value) const
 
int GetUserStringKeys (ON_ClassArray< ON_wString > &user_string_keys) const
 
int GetUserStrings (ON_ClassArray< ON_UserString > &user_strings) const
 
ON_BOOL32 IsKindOf (const ON_ClassId *pClassId) const
 
virtual void MemoryRelocate ()
 
virtual ON_UUID ModelObjectId () const
 
void MoveUserData (ON_Object &source_object)
 
 ON_Object ()
 
 ON_Object (const ON_Object &)
 
ON_Objectoperator= (const ON_Object &)
 
void PurgeUserData ()
 
bool SetUserString (const wchar_t *key, const wchar_t *string_value)
 
void TransformUserData (const ON_Xform &xform)
 
virtual ~ON_Object ()
 

Public Attributes

double * m_cv
 
int m_cv_capacity
 
int m_cv_count [3]
 
int m_cv_stride [3]
 
int m_dim
 
bool m_is_rat
 
double * m_knot [3]
 
int m_knot_capacity [3]
 
int m_order [3]
 
- Public Attributes inherited from ON_Object
ON_MEMORY_POOLm_mempool
 

Private Member Functions

 ON_OBJECT_DECLARE (ON_NurbsCage)
 

Constructor & Destructor Documentation

◆ ON_NurbsCage() [1/6]

ON_NurbsCage::ON_NurbsCage ( )

◆ ON_NurbsCage() [2/6]

ON_NurbsCage::ON_NurbsCage ( int dim,
bool is_rat,
int order0,
int order1,
int order2,
int cv_count0,
int cv_count1,
int cv_count2 )

◆ ON_NurbsCage() [3/6]

ON_NurbsCage::ON_NurbsCage ( const ON_BoundingBox & bbox,
int order0,
int order1,
int order2,
int cv_count0,
int cv_count1,
int cv_count2 )

◆ ON_NurbsCage() [4/6]

ON_NurbsCage::ON_NurbsCage ( const ON_3dPoint * box_corners,
int order0,
int order1,
int order2,
int cv_count0,
int cv_count1,
int cv_count2 )

◆ ON_NurbsCage() [5/6]

ON_NurbsCage::ON_NurbsCage ( const ON_BezierCage & src)

◆ ~ON_NurbsCage()

ON_NurbsCage::~ON_NurbsCage ( )

◆ ON_NurbsCage() [6/6]

ON_NurbsCage::ON_NurbsCage ( const ON_NurbsCage & src)

Member Function Documentation

◆ ChangeDimension()

ON_BOOL32 ON_NurbsCage::ChangeDimension ( int desired_dimension)

◆ ClampEnd()

bool ON_NurbsCage::ClampEnd ( int dir,
int end )

◆ Create() [1/3]

bool ON_NurbsCage::Create ( const ON_3dPoint * box_corners,
int order0,
int order1,
int order2,
int cv_count0,
int cv_count1,
int cv_count2 )

◆ Create() [2/3]

bool ON_NurbsCage::Create ( const ON_BoundingBox & bbox,
int order0,
int order1,
int order2,
int cv_count0,
int cv_count1,
int cv_count2 )

◆ Create() [3/3]

bool ON_NurbsCage::Create ( int dim,
bool is_rat,
int order0,
int order1,
int order2,
int cv_count0,
int cv_count1,
int cv_count2 )

◆ CV()

double * ON_NurbsCage::CV ( int i,
int j,
int k ) const

◆ CVCount() [1/2]

int ON_NurbsCage::CVCount ( int dir) const

◆ CVCount() [2/2]

int ON_NurbsCage::CVCount ( void ) const

◆ CVSize()

int ON_NurbsCage::CVSize ( ) const

◆ CVStyle()

ON::point_style ON_NurbsCage::CVStyle ( ) const

◆ DataCRC()

ON__UINT32 ON_NurbsCage::DataCRC ( ON__UINT32 current_remainder) const
virtual

Reimplemented from ON_Object.

◆ Degree()

int ON_NurbsCage::Degree ( int dir) const

◆ Destroy()

void ON_NurbsCage::Destroy ( )

◆ DestroyRuntimeCache()

void ON_NurbsCage::DestroyRuntimeCache ( bool bDelete = true)
virtual

Reimplemented from ON_Object.

◆ Dimension()

int ON_NurbsCage::Dimension ( ) const
virtual

Implements ON_Geometry.

◆ Domain()

ON_Interval ON_NurbsCage::Domain ( int dir) const

◆ Dump()

void ON_NurbsCage::Dump ( ON_TextLog & text_log) const
virtual

Reimplemented from ON_Object.

◆ EmergencyDestroy()

void ON_NurbsCage::EmergencyDestroy ( )

◆ Evaluate()

bool ON_NurbsCage::Evaluate ( double r,
double s,
double t,
int der_count,
int v_stride,
double * v,
int side = 0,
int * hint = 0 ) const

◆ Extend()

bool ON_NurbsCage::Extend ( int dir,
const ON_Interval & domain )

◆ GetBBox()

ON_BOOL32 ON_NurbsCage::GetBBox ( double * boxmin,
double * boxmax,
int bGrowBox = false ) const
virtual

Implements ON_Geometry.

◆ GetCV() [1/3]

bool ON_NurbsCage::GetCV ( int i,
int j,
int k,
ON::point_style style,
double * Point ) const

◆ GetCV() [2/3]

bool ON_NurbsCage::GetCV ( int i,
int j,
int k,
ON_3dPoint & point ) const

◆ GetCV() [3/3]

bool ON_NurbsCage::GetCV ( int i,
int j,
int k,
ON_4dPoint & point ) const

◆ GetSpanVector()

bool ON_NurbsCage::GetSpanVector ( int dir,
double * span_vector ) const

◆ GetTightBoundingBox()

bool ON_NurbsCage::GetTightBoundingBox ( ON_BoundingBox & tight_bbox,
int bGrowBox = false,
const ON_Xform * xform = 0 ) const
virtual

Reimplemented from ON_Geometry.

◆ GrevilleAbcissa()

double ON_NurbsCage::GrevilleAbcissa ( int dir,
int gindex ) const

◆ IncreaseDegree()

ON_BOOL32 ON_NurbsCage::IncreaseDegree ( int dir,
int desired_degree )

◆ InsertKnot()

bool ON_NurbsCage::InsertKnot ( int dir,
double knot_value,
int knot_multiplicity = 1 )

◆ IsClosed()

bool ON_NurbsCage::IsClosed ( int dir) const

◆ IsDeformable()

bool ON_NurbsCage::IsDeformable ( ) const
virtual

Reimplemented from ON_Geometry.

◆ IsMorphable()

bool ON_NurbsCage::IsMorphable ( ) const
virtual

Reimplemented from ON_Geometry.

◆ IsoSurface()

ON_NurbsSurface * ON_NurbsCage::IsoSurface ( int dir,
double c,
ON_NurbsSurface * srf = 0 ) const

◆ IsParallelogram()

bool ON_NurbsCage::IsParallelogram ( double tolerance) const

◆ IsPeriodic()

bool ON_NurbsCage::IsPeriodic ( int dir) const

◆ IsRational()

bool ON_NurbsCage::IsRational ( ) const

◆ IsSingular()

bool ON_NurbsCage::IsSingular ( int ) const

◆ IsValid()

ON_BOOL32 ON_NurbsCage::IsValid ( ON_TextLog * text_log = NULL) const
virtual

Implements ON_Object.

◆ Knot()

double ON_NurbsCage::Knot ( int dir,
int knot_index ) const

◆ KnotCount()

int ON_NurbsCage::KnotCount ( int dir) const

◆ MakeDeformable()

bool ON_NurbsCage::MakeDeformable ( )
virtual

Reimplemented from ON_Geometry.

◆ MakeNonRational()

bool ON_NurbsCage::MakeNonRational ( )

◆ MakeRational()

bool ON_NurbsCage::MakeRational ( )

◆ Morph()

bool ON_NurbsCage::Morph ( const ON_SpaceMorph & morph)
virtual

Reimplemented from ON_Geometry.

◆ ObjectType()

ON::object_type ON_NurbsCage::ObjectType ( ) const
virtual

Reimplemented from ON_Object.

◆ ON_OBJECT_DECLARE()

ON_NurbsCage::ON_OBJECT_DECLARE ( ON_NurbsCage )
private

◆ operator=() [1/2]

ON_NurbsCage & ON_NurbsCage::operator= ( const ON_BezierCage & src)

◆ operator=() [2/2]

ON_NurbsCage & ON_NurbsCage::operator= ( const ON_NurbsCage & src)

◆ Order()

int ON_NurbsCage::Order ( int dir) const

◆ PointAt() [1/2]

ON_3dPoint ON_NurbsCage::PointAt ( double r,
double s,
double t ) const

◆ PointAt() [2/2]

ON_3dPoint ON_NurbsCage::PointAt ( ON_3dPoint rst) const

◆ Read()

ON_BOOL32 ON_NurbsCage::Read ( ON_BinaryArchive & archive)
virtual

Reimplemented from ON_Object.

◆ ReserveCVCapacity()

bool ON_NurbsCage::ReserveCVCapacity ( int cv_capacity)

◆ ReserveKnotCapacity()

bool ON_NurbsCage::ReserveKnotCapacity ( int dir,
int cv_capacity )

◆ Reverse()

bool ON_NurbsCage::Reverse ( int dir)

◆ SetCV() [1/3]

bool ON_NurbsCage::SetCV ( int i,
int j,
int k,
const ON_3dPoint & point )

◆ SetCV() [2/3]

bool ON_NurbsCage::SetCV ( int i,
int j,
int k,
const ON_4dPoint & hpoint )

◆ SetCV() [3/3]

bool ON_NurbsCage::SetCV ( int i,
int j,
int k,
ON::point_style style,
const double * Point )

◆ SetKnot()

bool ON_NurbsCage::SetKnot ( int dir,
int knot_index,
double knot_value )

◆ SetWeight()

bool ON_NurbsCage::SetWeight ( int i,
int j,
int k,
double w )

◆ SizeOf()

unsigned int ON_NurbsCage::SizeOf ( ) const
virtual

Reimplemented from ON_Object.

◆ SpanCount()

int ON_NurbsCage::SpanCount ( int dir) const

◆ Transform()

ON_BOOL32 ON_NurbsCage::Transform ( const ON_Xform & xform)
virtual

Reimplemented from ON_Geometry.

◆ Transpose()

bool ON_NurbsCage::Transpose ( int dir0,
int dir1 )

◆ Trim()

bool ON_NurbsCage::Trim ( int dir,
const ON_Interval & domain )

◆ Weight()

double ON_NurbsCage::Weight ( int i,
int j,
int k ) const

◆ Write()

ON_BOOL32 ON_NurbsCage::Write ( ON_BinaryArchive & archive) const
virtual

Reimplemented from ON_Object.

◆ ZeroCVs()

bool ON_NurbsCage::ZeroCVs ( )

Member Data Documentation

◆ m_cv

double* ON_NurbsCage::m_cv

◆ m_cv_capacity

int ON_NurbsCage::m_cv_capacity

◆ m_cv_count

int ON_NurbsCage::m_cv_count[3]

◆ m_cv_stride

int ON_NurbsCage::m_cv_stride[3]

◆ m_dim

int ON_NurbsCage::m_dim

◆ m_is_rat

bool ON_NurbsCage::m_is_rat

◆ m_knot

double* ON_NurbsCage::m_knot[3]

◆ m_knot_capacity

int ON_NurbsCage::m_knot_capacity[3]

◆ m_order

int ON_NurbsCage::m_order[3]

The documentation for this class was generated from the following files: