Class NURBSLatheSurface
See Also: Class NURBSSurface.
class NURBSLatheSurface : public NURBSSurface
Description:
This class is available in release 2.0 and later only.
This class defines a dependent lathe surface. A lathe surface is generated from a curve sub-object. It is similar to a surface created with the Lathe modifier. The advantage is that a lathe sub-object is part of the NURBS model, so you can use it to construct other curve and surface sub-objects. Methods are available to get/set the parent index and id, get/set the axis and amount rotation of the lathe.
All methods of this class are implemented by the system.
Friend Classes:
friend class NURBSSet
Methods:
protected:
Prototype:
void Clean(NURBSIdTab ids);
Remarks:
This method is available in release 3.0 and later only.
This methods breaks the relation between this NURBSObject and a NURBSSet.
Parameters:
NURBSIdTab ids
A table with the IDs of each object in the NURBSSet.
public:
Prototype:
NURBSLatheSurface();
Remarks:
Constructor. The data members are initialized as follows:
mType = kNLatheSurface;
mpObject = NULL;
mpNSet = NULL;
mParentId = 0;
mParentIndex = -1;
mXForm.IdentityMatrix();
mRotation = 360.0;
mCurveStartParam = 360.0;
Prototype:
virtual ~NURBSLatheSurface();
Remarks:
Destructor.
Prototype:
void SetParent(int index);
Remarks:
Sets the index in the NURBSSet of the parent object.
Parameters:
int index
The index into the NURBSSet of the parent surface.
Prototype:
void SetParentId(NURBSId id);
Remarks:
Sets the NURBSId of the specified parent.
Parameters:
NURBSId id
The id to set.
Prototype:
int GetParent();
Remarks:
Returns the index in the NURBSSet of the specified parent object.
Prototype:
NURBSId GetParentId();
Remarks:
Returns the NURBSId of the parent. Note that a NURBSId won't be valid until the object has been instantiated in the scene
Prototype:
void SetAxis(TimeValue t, Matrix3& ray);
Remarks:
Sets the axis to use for the surface of revolution by specifying a time and a axis system.
Parameters:
TimeValue t
The time at which the axis is set.
Matrix3& ray
Specifies the axis for revolution. See Class Matrix3.
Prototype:
Matrix3& GetAxis(TimeValue t);
Remarks:
Returns the axis system for the surface of revolution.
Parameters:
TimeValue t
The time at which to return the axis.
Prototype:
void SetRotation(TimeValue t, double degrees);
Remarks:
Sets the amount of rotation for the surface.
Parameters:
TimeValue t
The time at which to set the amount.
double degrees
The angle of the revolution in degrees.
Prototype:
double GetRotation(TimeValue t);
Remarks:
Returns the angle of the revolution in degrees.
Parameters:
TimeValue t
The time at which to return the angle.
Prototype:
void SetCurveStartPoint(TimeValue t, double startpoint);
Remarks:
This method is available in release 3.0 and later only.
Sets the start point at the specified time.
Parameters:
TimeValue t
The time at which to set the start point.
double startpoint
The start point to set in the range 0.0 to 1.0.
Prototype:
double GetCurveStartPoint(TimeValue t);
Remarks:
This method is available in release 3.0 and later only.
Returns the start point at the specified time.
Parameters:
TimeValue t
The time at which to get the start point.
Operators:
Prototype:
NURBSLatheSurface & operator=(const NURBSLatheSurface& surf);
Remarks:
Assignment operator.
Parameters:
const NURBSLatheSurface& surf
The surface to assign.