Class NURBSSurfConstPoint

3DS Max Plug-In SDK

Class NURBSSurfConstPoint

See Also: Class NURBSObject, List of NURBSConst Types.

class NURBSSurfConstPoint : public NURBSObject

Description:

This class is available in release 2.0 and later only.

This class is used to create a dependent point on a surface or related to it.

All methods of this class are implemented by the system.

Data Members:

protected:

NURBSId mParentId;

The NURBSId of the parent surface.

int mParentIndex;

The index in the NURBSSet of the parent surface.

NURBSConstType mCType;

The type of constraint used by the point.

Point3 mOffset;

The offset amount.

float mNormal;

The distance along the normal.

float mUTangent;

The positive tangent offset in U. At the location in parameter space of the constrained point is a tangent to the surface. This is the distance along the positive U tangent in parameter space.

double mUParam;

The point is constrained to exist on the parent surface. The surface itself is defined over a parameter range. The point is defined at a point in the parent surface parameter space. This is the location of the point in the parent surface parameter space in U.

float mVTangent;

This is the distance along the positive V tangent in parameter space.

double mVParam;

This is the location of the point in the parent surface parameter space in V.

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:

NURBSSurfConstPoint();

Remarks:

Constructor. The data members are initialized as follows:

 mType = kNSurfaceCPoint;

 mpObject = NULL;

 mpNSet = NULL;

 mParentId = 0;

 mParentIndex = -1;

 mCType = kNConstOnObject;

 mOffset = Point3(0,0,0);

 mNormal = 0.0f;

 mUTangent = 0.0f;

 mUParam = 0.0;

 mVTangent = 0.0f;

 mVParam = 0.0;

Prototype:

virtual ~NURBSSurfConstPoint();

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 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 SetPointType(NURBSConstType type);

Remarks:

Sets the type of constrained point this is. See List of NURBSConst Types.

Parameters:

NURBSConstType type

The type of the constrained point.

Prototype:

NURBSConstType GetPointType();

Remarks:

Returns the type of constrained point this is. See List of NURBSConst Types.

Prototype:

void SetUParam();

Remarks:

Sets the position of the point in the parent U parameter space.

Parameters:

TimeValue t

The time to set the U parameter.

double param

The value to set.

Prototype:

double GetUParam(TimeValue t);

Remarks:

Returns the position of the point in the parent U parameter space.

Parameters:

TimeValue t

The time to get the U parameter.

Prototype:

void SetVParam(TimeValue t, double param);

Remarks:

Sets the position of the point in the parent V parameter space.

Parameters:

TimeValue t

The time to set the U parameter.

double param

The value to set.

Prototype:

double GetVParam(TimeValue t);

Remarks:

Returns the position of the point in the parent V parameter space.

Parameters:

TimeValue t

The time to get the Vparameter.

Prototype:

void SetOffset(TimeValue t, Point3 pt);

Remarks:

Sets the offset of the point from the parent surface.

Parameters:

TimeValue t

The time at which to set the offset.

Point3 pt

The offset to set.

Prototype:

Point3 GetOffset(TimeValue t);

Remarks:

Returns the offset of the point from the parent surface at the specified time.

Parameters:

TimeValue t

The time at which to get the offset.

Prototype:

void SetNormal(TimeValue t, float dist);

Remarks:

Sets the distance along the normal to the surface of the point at the specified time.

Parameters:

TimeValue t

The time at which to set the distance.

float dist

The distance to set.

Prototype:

float GetNormal(TimeValue t);

Remarks:

Returns the distance along the normal to the surface of the point at the specified time.

Parameters:

TimeValue t

The time at which to get the distance.

Prototype:

void SetUTangent(TimeValue t, float dist);

Remarks:

Sets the distance along the U tangent of the point.

Parameters:

TimeValue t

The time at which to set the distance.

float dist

The distance to set.

Prototype:

float GetUTangent(TimeValue t);

Remarks:

Returns the distance along the U tangent of the point.

Parameters:

TimeValue t

The time at which to get the distance.

Prototype:

void SetVTangent(TimeValue t, float dist);

Remarks:

Sets the distance along the V tangent of the point.

Parameters:

TimeValue t

The time at which to set the distance.

float dist

The distance to set.

Prototype:

float GetVTangent(TimeValue t);

Remarks:

Returns the distance along the V tangent of the point.

Parameters:

TimeValue t

The time at which to get the distance.

Operators:

Prototype:

NURBSSurfConstPoint & operator=(const NURBSSurfConstPoint& pt);

Remarks:

Assignment operator.

Parameters:

const NURBSSurfConstPoint& pt

The point to assign.