Rhino C++ API  8.13
Public Member Functions | List of all members
ON_BezierCageMorph Class Reference

#include <opennurbs_bezier.h>

Inheritance diagram for ON_BezierCageMorph:
ON_SpaceMorph

Public Member Functions

 ON_BezierCageMorph ()
 
virtual ~ON_BezierCageMorph ()
 
const ON_BezierCageBezierCage () const
 
bool Create (ON_3dPoint P0, ON_3dPoint P1, ON_3dPoint P2, ON_3dPoint P3, int point_countX, int point_countY, int point_countZ)
 
ON_3dPoint MorphPoint (ON_3dPoint point) const override
 
bool Read (ON_BinaryArchive &archive)
 
bool SetBezierCage (ON_BezierCage &unitcube2world)
 
bool SetXform (ON_Xform world2unitcube)
 
bool Transform (const ON_Xform &xform)
 
const ON_XformWorldToUnitCube () const
 
bool Write (ON_BinaryArchive &archive) const
 
- Public Member Functions inherited from ON_SpaceMorph
 ON_SpaceMorph ()
 
virtual ~ON_SpaceMorph ()
 
virtual bool Ev1Der (ON_3dPoint rst, ON_3dPoint &xyz, ON_3dVector &Dr, ON_3dVector &Ds, ON_3dVector &Dt) const
 
bool IsIdentity (const class ON_Curve &Crv, double tol) const
 
bool IsIdentity (const class ON_Surface &Srf, double tol) const
 
virtual bool IsIdentity (const ON_BoundingBox &bbox) const
 
bool IsIdentity (const ON_SimpleArray< ON_3dPoint > &Points, double tol) const
 
virtual ON_4dPoint Morph4dPoint (ON_4dPoint point) const
 
void MorphPointList (int dim, bool is_rat, int count, int stride, double *point) const
 
void MorphPointList (int dim, bool is_rat, int count, int stride, float *point) const
 
virtual ON_3dVector MorphVector (ON_3dPoint tail_point, ON_3dVector vector) const
 
bool PreserveStructure () const
 
bool QuickPreview () const
 
void SetPreserveStructure (bool bPreserveStructure)
 
void SetQuickPreview (bool bQuickPreview)
 
void SetTolerance (double tolerance)
 
double Tolerance () const
 

Constructor & Destructor Documentation

◆ ON_BezierCageMorph()

ON_BezierCageMorph::ON_BezierCageMorph ( )

◆ ~ON_BezierCageMorph()

virtual ON_BezierCageMorph::~ON_BezierCageMorph ( )
virtual

Member Function Documentation

◆ BezierCage()

const ON_BezierCage& ON_BezierCageMorph::BezierCage ( ) const

◆ Create()

bool ON_BezierCageMorph::Create ( ON_3dPoint  P0,
ON_3dPoint  P1,
ON_3dPoint  P2,
ON_3dPoint  P3,
int  point_countX,
int  point_countY,
int  point_countZ 
)

Description: Create a Bezier volume. Parameters: P0 - [in] P1 - [in] P2 - [in] P3 - [in] P0,P1,P2,P3 defines a parallepiped in world space. The morph maps this parallepiped to the (0,1)x(0,1)x(0,1) unit cube and then applies the BezierCage map.


|\ |\ | \ | \ | \P3____________\

P2—|-------— | \ | \ | \ |z \ | y \ | \ | \P0____________P1 x

point_countX - [in] point_countY - [in] point_countZ - [in] Number of control points in the bezier volume map. The bezier volume in the returned morph is the identity map which can be modified as needed. Returns: True if resulting morph is valid. See Also: ON_BezierCage::SetBezierCage ON_BezierCage::SetXform

◆ MorphPoint()

ON_3dPoint ON_BezierCageMorph::MorphPoint ( ON_3dPoint  point) const
overridevirtual

Description: Override of virtual ON_SpaceMorph::MorphPoint. Parameters: point - [in] (x,y,z) gets mapped to m_rst2xyz(m_xyz2rst*point);

Implements ON_SpaceMorph.

◆ Read()

bool ON_BezierCageMorph::Read ( ON_BinaryArchive archive)

◆ SetBezierCage()

bool ON_BezierCageMorph::SetBezierCage ( ON_BezierCage unitcube2world)

Description: Set the unit cube to world map. Parameters: world2unitcube - [in] Bezier volume map from the unit cube (0,1)x(0,1)x(0,1) to world space. Returns True if current transformation matrix and input bezier volume are valid. In all cases, the morph's m_rst2xyz member is set. See Also: ON_BezierCage::Create ON_BezierCage::SetXform

◆ SetXform()

bool ON_BezierCageMorph::SetXform ( ON_Xform  world2unitcube)

Description: Set the world to unit cube map. Parameters: world2unitcube - [in] Transformation matrix that maps world coordinates to the unit cube (0,1)x(0,1)x(0,1). Returns True if current bezier volum and input transformation matrix are valid. In all cases, the morph's m_xyz2rst member is set. See Also: ON_BezierCage::Create ON_BezierCage::SetBezierCage

◆ Transform()

bool ON_BezierCageMorph::Transform ( const ON_Xform xform)

Description: Transforms the morph by transforming the bezier volume map. Parameters: xform - [in] Returns True if input is valid.

◆ WorldToUnitCube()

const ON_Xform& ON_BezierCageMorph::WorldToUnitCube ( ) const

◆ Write()

bool ON_BezierCageMorph::Write ( ON_BinaryArchive archive) const