#include <nurbsGL.hh>
Inheritance diagram for PLib::HNurbsSurfaceGL::
Public Methods | |
HNurbsSurfaceGL () | |
HNurbsSurfaceGL (const NurbsSurface &nS) | |
HNurbsSurfaceGL (const HNurbsSurfaceGL &bS) | |
HNurbsSurfaceGL (const HNurbsSurfaceGL *bS) | |
virtual | ~HNurbsSurfaceGL () |
void | setLevelOfDetail (int l) |
int | levelOfDetail () const |
void | increaseLevelOfDetail () |
void | decreaseLevelOfDetail () |
void | highestLevelOfDetail () |
int | maxLevelOfDetail () |
void | gluNurbs () const |
void | point (float &u, float &v, int pSize, const Color &colorP, int cp_flag=0) const |
void | resetBoundingBox () |
void | resetCPoints () |
void | resetPolygon () |
void | resetKnots () |
int | read (const char *f) |
int | write (const char *f) const |
int | read (ifstream &fin) |
int | write (ofstream &fout) const |
int | writeRIB (ofstream &fout) const |
int | writePOVRAY (ofstream &fout) const |
void | selectBasePatch () |
void | selectNextPatch () |
void | selectPrevPatch () |
void | selectHigherLevel () |
void | selectLowerLevel () |
void | selectHighestLevel () |
int | editLevel () |
void | updateUpToLOD () |
HNurbsSurfaceSPf * | addLevel () |
void | applyTransform () |
void | modifyPoint (float u, float v, float dx, float dy, float dz) |
ObjectGL * | copy () |
void | setSym (int set, int uDir, float x, float y, float z, float w) |
void | axis (int i, int j, Point3Df &xaxis, Point3Df &yaxis, Point3Df &zaxis) const |
Protected Attributes | |
int | lod |
HNurbsSurfaceGL * | activePatch |
|
Default constructor.
|
|
Constructor from a surface.
|
|
Copy constructor with patch information.
|
|
Copy constructor.
|
|
Adds a level to the Hierarchical surface.
Reimplemented from PLib::HNurbsSurface. |
|
apply the local transformation to the surface.
Apply the local transformation to the surface. This is necessary if you want to get the proper position for the control points before doing anymore processing on them.
Reimplemented from PLib::ObjectGL. |
|
Activates the patch at a higher level.
|
|
creates a HNURBS surface for OpenGL.
This draws a HNURBS. Presently only isocurves are drawn to represent the surface.
Reimplemented from PLib::NurbsGL. |
|
Modifies a point on the surface.
Reimplemented from PLib::NurbsGL. |
|
draws a point at the location C(u).
This function calls between a glBegin/glEnd the proper functions to represent the point which is at S(u,v) on the hierarchical surface.
Reimplemented from PLib::NurbsGL. |
|
Reads the information from a stream.
Reimplemented from PLib::ObjectGL. |
|
Reads the information from a stream.
Reimplemented from PLib::ObjectGL. |
|
resets the minP and maxP values of bbox.
Resets the minP and maxP values for the bouding box.
Reimplemented from PLib::NurbsGL. |
|
Reset the control point information.
Reset the control point information stored in cpoints
Reimplemented from PLib::NurbsGL. |
|
Reset the control point information stored in cpoints.
Reimplemented from PLib::NurbsGL. |
|
Activates the next patch at the same level Activates the previous patch at the same level Activates the patch at a higher level.
|
|
Activates the patch at a higher level.
|
|
Activates the patch at a higher level.
|
|
Sets the symmetry for the control points.
Reimplemented from PLib::NurbsGL. |
|
Writes a NurbsCurveGL to an output stream.
Reimplemented from PLib::ObjectGL. |
|
Writes a ObjectGL to a file.
Reimplemented from PLib::ObjectGL. |