Public Member Functions | Friends

NURBS1RailSweepSurface Class Reference

Search for all occurrences

Detailed Description

See also:
Class NURBSSurface.

Description:
This class is available in release 2.5 and later only.

This class provides access to the 1-Rail Sweep Surface. A 1-Rail Sweep Surface uses at least two curves. One curve, the "rail," defines one edge of the surface. The other curves define the surface's cross sections. The cross-section curves should intersect the rail curve. If the cross sections don't intersect the rail, the resulting surface is unpredicable.

#include <surf_api.h>

Inheritance diagram for NURBS1RailSweepSurface:
Inheritance graph
[legend]

List of all members.

Public Member Functions

DllExport  NURBS1RailSweepSurface (void)
virtual DllExport  ~NURBS1RailSweepSurface (void)
DllExport NURBS1RailSweepSurface operator= (const NURBS1RailSweepSurface &surf)
DllExport void  SetParentRail (int index)
DllExport void  SetParentRailId (NURBSId id)
DllExport int  GetParentRail ()
DllExport NURBSId  GetParentRailId ()
DllExport void  SetNumCurves (int num)
DllExport int  GetNumCurves (void)
DllExport int  AppendCurve (int index, BOOL flip, double startpoint=0.0)
DllExport int  AppendCurve (NURBSId id, BOOL flip, double startpoint=0.0)
DllExport void  SetParent (int pnum, int index)
DllExport void  SetParentId (int pnum, NURBSId id)
DllExport int  GetParent (int pnum)
DllExport NURBSId  GetParentId (int pnum)
DllExport void  SetFlip (int pnum, BOOL flip)
DllExport BOOL  GetFlip (int pnum)
DllExport void  SetParallel (BOOL para)
DllExport BOOL  GetParallel ()
DllExport void  SetCurveStartPoint (TimeValue t, int pnum, double startpoint)
DllExport double  GetCurveStartPoint (TimeValue t, int pnum)
DllExport void  SetSnapCS (BOOL snapCS)
DllExport BOOL  GetSnapCS ()
DllExport void  SetRoadlike (BOOL roadlike)
DllExport BOOL  GetRoadlike ()
DllExport void  SetAxis (TimeValue t, Matrix3 &ray)
DllExport Matrix3 GetAxis (TimeValue t)

Friends

class  NURBSSet

Constructor & Destructor Documentation

DllExport NURBS1RailSweepSurface ( void  )
Remarks:
Constructor. The data members are initialized as follows:

mType = kN1RailSweepSurface;

mpObject = NULL;

mpNSet = NULL;

mRailId = NULL;

mRailIndex = -1;

mParentId.SetCount(0);

mParentIndex.SetCount(0);

mFlip.SetCount(0);

mCurveStartParam.SetCount(0);

mSnapCrossSections = FALSE;

mRoadlike = FALSE;

mXForm.IdentityMatrix();
virtual DllExport ~NURBS1RailSweepSurface ( void  ) [virtual]
Remarks:
Destructor.

Member Function Documentation

DllExport NURBS1RailSweepSurface& operator= ( const NURBS1RailSweepSurface surf )
Remarks:
Assignment operator.
Parameters:
const NURBS1RailSweepSurface& surf

The surface to assign.
DllExport void SetParentRail ( int  index )
Remarks:
Establishes the curve to use as the rail by specifying its index in the NURBSSet.
Parameters:
int index

The index in the NURBSSet.
DllExport void SetParentRailId ( NURBSId  id )
Remarks:
Establishes the curve to use as the rail by specifying its NURBSId.
Parameters:
NURBSId id

The id of the rail curve to use.
DllExport int GetParentRail ( )
Remarks:
Returns the index in the NURBSSet of the rail curve.
DllExport NURBSId GetParentRailId ( )
Remarks:
Returns the NURBSId of the rail curve.
DllExport void SetNumCurves ( int  num )
Remarks:
Sets the number of cross-section curves.
Parameters:
int num

The number of cross-section curves to use.
DllExport int GetNumCurves ( void  )
Remarks:
Returns the number of cross-section curves used.
DllExport int AppendCurve ( int  index,
BOOL  flip,
double  startpoint = 0.0 
)
Remarks:
Adds a curve to the end of the list of cross-section curves by specifying the index in the NURBSSet.
Parameters:
int index

The index in the NURBSSet of the cross-section curve to append.

BOOL flip

TRUE to reverse (or flip) the direction of the curve; FALSE to use the non-reversed orientation.
Returns:
The number of cross-section curves prior to appending.
DllExport int AppendCurve ( NURBSId  id,
BOOL  flip,
double  startpoint = 0.0 
)
Remarks:
Adds a curve to the end of the list of cross-section curves by specifying a NURBSId.
Parameters:
NURBSId id

Specifies the cross-section curve to append.

BOOL flip

TRUE to reverse (or flip) the direction of the curve; FALSE to use the non-reversed orientation.
Returns:
The number of cross-section curves prior to appending.
DllExport void SetParent ( int  pnum,
int  index 
)
Remarks:
Specifies the curve to use as a cross-section via its index in the NURBSSet.
Parameters:
int pnum

The zero based index of the curve to set.

int index

The index in the NURBSSet of the curve.
DllExport void SetParentId ( int  pnum,
NURBSId  id 
)
Remarks:
Specifies the curve to use as a cross-section via its NURBSId.
Parameters:
int pnum

The zero based index of the curve to set.

NURBSId id

The id of the curve.
DllExport int GetParent ( int  pnum )
Remarks:
Returns the index in the NURBSSet of the specified cross-section curve.
Parameters:
int pnum

The zero based index of the curve to get.
DllExport NURBSId GetParentId ( int  pnum )
Remarks:
Returns the NURBSId of the specified cross-section curve.
Parameters:
int pnum

The zero based index of the curve to get.
DllExport void SetFlip ( int  pnum,
BOOL  flip 
)
Remarks:
Sets the reversed (or flipped) state of the specified cross-section curve.
Parameters:
int pnum

The zero based index of the curve.

BOOL flip

TRUE to reverse the direction; FALSE for the normal direction.
DllExport BOOL GetFlip ( int  pnum )
Remarks:
Returns the reversed (or flipped) state of the specified cross-section curve. TRUE is reversed; FALSE is not.
Parameters:
int pnum

The zero based index of the curve.
DllExport void SetParallel ( BOOL  para )
Remarks:
Sets the state of the parallel flag. When on, it ensures that the sweep surface's normal is parallel to the rail.
Parameters:
BOOL para

TRUE for on; FALSE for off.
DllExport BOOL GetParallel ( )
Remarks:
Returns the state of the parallel flag. When TRUE, 3ds Max ensures that the sweep surface's normal is parallel to the rail.
DllExport void SetCurveStartPoint ( TimeValue  t,
int  pnum,
double  startpoint 
)
Remarks:
Sets the start point for the specified parent curve. Note: This is only applicable if the parent is a closed curve.
Parameters:
TimeValue t

The time at which to set the start point.

int pnum

The zero based index of the curve in the set of cross sections.

double startpoint

The start point in the range 0.0 to 1.0.
DllExport double GetCurveStartPoint ( TimeValue  t,
int  pnum 
)
Remarks:
Returns the start point of the specified parent curve.
Parameters:
TimeValue t

The time at which to get the start point.

int pnum

The zero based index of the curve in the set of cross sections.

DllExport void SetSnapCS ( BOOL  snapCS )
Remarks:
Sets the snap cross sections setting. When on, cross-section curves are translated so they intersect the rail.
Parameters:
BOOL snapCS

TRUE for on; FALSE for off.
DllExport BOOL GetSnapCS ( )
Remarks:
Returns TRUE if snap to Cross Section is on; otherwise FALSE.
DllExport void SetRoadlike ( BOOL  roadlike )
Remarks:
Sets the roadlike setting to on or off. When on, the sweep uses a constant up-vector so the cross sections twist uniformly as they travel along the rail. In other words, the cross sections bank like a car following a road, or a camera following a path controller in 3ds Max.
Parameters:
BOOL roadlike

TRUE for on; FALSE for off.
DllExport BOOL GetRoadlike ( )
Remarks:
Returns TRUE if the roadlike setting is on; otherwise FALSE.
DllExport void SetAxis ( TimeValue  t,
Matrix3 ray 
)
Remarks:
Sets the axis of the sweep.
Parameters:
TimeValue t

The time at which to set the axis.

Matrix3& ray

The axis system to set.
DllExport Matrix3& GetAxis ( TimeValue  t )
Remarks:
Returns the axis of the sweep.
Parameters:
TimeValue t

The time at which to get the axis.
Operators:

Friends And Related Function Documentation

friend class NURBSSet [friend]

NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface
NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface NURBS1RailSweepSurface