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)
 Create a Bezier volume. More...
 
bool Read (ON_BinaryArchive &archive)
 
bool SetBezierCage (ON_BezierCage &unitcube2world)
 Set the unit cube to world map. More...
 
bool SetXform (ON_Xform world2unitcube)
 Set the world to unit cube map. More...
 
bool Transform (const ON_Xform &xform)
 Transforms the morph by transforming the bezier volume map. More...
 
const ON_XformWorldToUnitCube () const
 
bool Write (ON_BinaryArchive &archive) const
 
- Public Member Functions inherited from ON_SpaceMorph
 ON_SpaceMorph ()
 
virtual ~ON_SpaceMorph ()
 
virtual bool IsIdentity (const ON_BoundingBox &bbox) const
 Provides a quick way to determine if a morph function is the identity (doesn't move the points) on a region of space. More...
 
bool IsIdentity (const ON_SimpleArray< ON_3dPoint > &Points, double tol) const
 A slower way to determine if a morph function is the identity (doesn't move the points) on a set of points, to within a tolerance More...
 
bool IsIdentity (const class ON_Surface &Srf, double tol) const
 A slower way to determine if a morph function is the identity (doesn't move the points) on a surface, to within a tolerance More...
 
bool IsIdentity (const class ON_Curve &Crv, double tol) const
 A slower way to determine if a morph function is the identity (doesn't move the points) on a curve, to within a tolerance. More...
 
bool PreserveStructure () const
 
bool QuickPreview () const
 
void SetPreserveStructure (bool bPreserveStructure)
 Set the preserve structure value. More...
 
void SetQuickPreview (bool bQuickPreview)
 Set the quick preview value. More...
 
void SetTolerance (double tolerance)
 Set the 3d fitting tolerance used when morphing surfaces and breps. More...
 
double Tolerance () const
 Returns the desired accuracy of the morph. This value is primarily used for deforming surfaces and breps. More...
 

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 
)

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____________\
      |   |          |   |
      |   |          |   |
      |   |          |   |</param>
Parameters
P2–|-------— | \ | \ | \ |z \ | y \ | \ | x
Parameters
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

◆ Read()

bool ON_BezierCageMorph::Read ( ON_BinaryArchive archive)

◆ SetBezierCage()

bool ON_BezierCageMorph::SetBezierCage ( ON_BezierCage unitcube2world)

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)

Set the world to unit cube map.

Parameters
world2unitcube[in] Tranformation 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)

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