HNurbsSurface
Functions
HNurbsSurface |
|
~HNurbsSurface |
|
void | Init |
HC_KEY | Init |
void | Recalculate |
HC_KEY | GetKey |
void | DisplayVertices |
void | HideVertices |
void | EnableSelectability |
void | DisableSelectability |
void | UpdateVertex |
void | ShowVertex |
void | CreateDefaultVertices |
HC_KEY | GetSurfaceMeshKey |
Detailed Description
-
class
HNurbsSurface
The HNurbsSurface class encapsulates a NURBS surface or Chaking subdivision surface.
The surface can either be created by passing the necessary parameters like degree, control points, tessellation level or implicitly from an existing nurbs segment in the hoops segment tree. It is internally represented as a HOOPS mesh as described in #HC_Insert_NURBS_Surface and a second invisible mesh representing the control points themselves.
Public Functions
-
inline
HNurbsSurface
() Constructs a HNurbsSurface.
-
inline
~HNurbsSurface
()
-
void
Init
(HC_KEY key) This method initializes the Nurbs object based on existing nurbs segment in HOOPS.
Parameters: key – The key to the nurbs segment in HOOPS.
-
HC_KEY
Init
(HPoint *center, HPoint *axis, int num_u_vertices, int num_v_vertices, int degree, int tesselation_level, float distance, HSurfaceType stype) This method initialize the Nurbs object based on given parameters.
Parameters: - center – The location of the center of creation.
- axis – The initial axis of rotation.
- num_u_vertices – The number of control points in the u direction.
- num_v_vertices – The number of control points in the v direction.
- degree – The degree of the surface.
- tesselation_level – The tesselation density.
- distance – The distance of vertices. This parameter is used during tesselation.
- stype – Pass which type of surface you want to create. It can either be either NURBS or Chakin.
-
void
Recalculate
() This method recalculates the surface based on the existing control points.
-
HC_KEY
GetKey
() Returns: The NURBS surface key.
-
void
DisplayVertices
() This method shows the mesh containing the control points for the surface.
-
void
HideVertices
() This method hides the control point mesh.
-
void
EnableSelectability
() This method enables the selectability of the NURBS surface.
-
void
UpdateVertex
(int vertexnum, float x, float y, float z) This method allows you to modify a specific control point.
Parameters: - vertexnum – The control point index number in the m_pVertices list.
- x – The new x coordinate.
- y – The new y coordinate.
- z – The new z coordinate.
-
void
ShowVertex
(int vertexnum, HPoint &v) This method returns the location of a control point given a specific index identifier.
Parameters: - vertexnum – The control point index number in the m_pVertices list.
- v – Reference to HPoint structure. This method returns the control po√≠nt position.
-
void
CreateDefaultVertices
(HPoint *center, HPoint *axis) This method creates a set of default control points given a center point and an axis of rotation.
Parameters: - center – The center point for creation.
- axis – An initial axis of rotation.
-
inline HC_KEY
GetSurfaceMeshKey
() Returns: The key to the tesselated mesh.
-
inline