Rhino C++ API
8.13
|
#include <RhinoSdkSpaceMorph.h>
Public Member Functions | |
CRhinoMaelstromSpaceMorph () | |
~CRhinoMaelstromSpaceMorph () | |
bool | IsIdentity (const ON_BoundingBox &bbox) const |
ON_3dPoint | MorphPoint (ON_3dPoint pt) const |
Public Member Functions inherited from CRhinoSpaceMorph | |
CRhinoSpaceMorph () | |
virtual | ~CRhinoSpaceMorph () |
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 |
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 |
Public Attributes | |
double | m_a |
angle in radians More... | |
ON_Circle | m_circle |
double | m_r0 |
fixed radius More... | |
double | m_r1 |
rotated radius More... | |
Maelstrom Deforms objects in a spiral as if they were caught in a whirlpool.
CRhinoMaelstromSpaceMorph::CRhinoMaelstromSpaceMorph | ( | ) |
CRhinoMaelstromSpaceMorph::~CRhinoMaelstromSpaceMorph | ( | ) |
|
virtual |
Description: Provides a quick way to determine if a morph function is the identity (doesn't move the points) on a region of space. Parameters: bbox - [in] region of space to test. Returns: The default always returns false. If you override this function, then return true when every point in the bounding box is fixed by the morph.
Reimplemented from ON_SpaceMorph.
|
virtual |
Description: virtual ON_SpaceMorph override
If m_r0 = m_r1 > 0, then the morph is a rotation where the angle of rotation is proportional to the radius.
If m_r0 < m_r1, then everything inside of the circle of radius m_r0 if fixed, the rotation angle increases smoothly from 0 at m_r0 to m_a at m_r1, and everything outside of the circle of radius m_r1 is rotated by m_a.
If m_r0 > m_r1, then everything outside of the circle of radius m_r0 if fixed, the rotation angle increases smoothly from 0 at m_r0 to m_a at m_r1, and everything inside of the circle of radius m_r1 is rotated by m_a.
Implements ON_SpaceMorph.
double CRhinoMaelstromSpaceMorph::m_a |
angle in radians
ON_Circle CRhinoMaelstromSpaceMorph::m_circle |
double CRhinoMaelstromSpaceMorph::m_r0 |
fixed radius
double CRhinoMaelstromSpaceMorph::m_r1 |
rotated radius