Public Member Functions | Friends

NURBS2RailSweepSurface 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 2-Rail Sweep Surface. A 2-Rail Sweep surface uses at least three curves. Two curves, the "rails," define the two edges of the surface. The other curves define the surface's cross sections. A 2-Rail Sweep surface is similar to a 1-Rail sweep. The additional rail gives you more control over the shape of the surface.

#include <surf_api.h>

Inheritance diagram for NURBS2RailSweepSurface:
Inheritance graph
[legend]

List of all members.

Public Member Functions

DllExport  NURBS2RailSweepSurface (void)
virtual DllExport  ~NURBS2RailSweepSurface (void)
DllExport NURBS2RailSweepSurface operator= (const NURBS2RailSweepSurface &surf)
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  SetScale (BOOL scale)
DllExport BOOL  GetScale ()
DllExport void  SetSnapCS (BOOL snapCS)
DllExport BOOL  GetSnapCS ()
DllExport void  SetRailParent (int pnum, int index)
DllExport void  SetRailParentId (int pnum, NURBSId id)
DllExport int  GetRailParent (int pnum)
DllExport NURBSId  GetRailParentId (int pnum)
DllExport void  SetCurveStartPoint (TimeValue t, int pnum, double startpoint)
DllExport double  GetCurveStartPoint (TimeValue t, int pnum)

Friends

class  NURBSSet

Constructor & Destructor Documentation

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

mType = kN2RailSweepSurface;

mpObject = NULL;

mpNSet = NULL;

mParentId.SetCount(0);

mParentIndex.SetCount(0);

mRailParentId[0] = mRailParentId[1] = NULL;

mRailParentIndex[0] = mRailParentIndex[1] = -1;

mCurveStartParam.SetCount(0);

mSnapCrossSections = FALSE;
virtual DllExport ~NURBS2RailSweepSurface ( void  ) [virtual]
Remarks:
Destructor.

Member Function Documentation

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

The surface to assign.
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 off, it allows the cross section curve to bank to follow the rails. If on, it maintains the initial orientation of the cross section during the course of the sweep
Parameters:
BOOL para

TRUE for on; FALSE for off.
DllExport BOOL GetParallel ( )
Remarks:
Returns the state of the parallel flag.
DllExport void SetScale ( BOOL  scale )
Remarks:
To allow the cross sections to run along the rails, the cross section curves may need to be scaled. This method controls if the scaling is done uniformly or non-uniformly.
Parameters:
BOOL scale

TRUE to scale uniformly; FALSE to scale non-uniformly.
DllExport BOOL GetScale ( )
Remarks:
Returns TRUE if the cross section curves are scaled uniformly; FALSE for non-uniformly.
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 cross sections is on; otherwise FALSE.
DllExport void SetRailParent ( int  pnum,
int  index 
)
Remarks:
Specifies the index in the NURBSSet of the first or second rail curve to use.
Parameters:
int pnum

Pass 0 for the first rail curve; 1 for the second rail curve.

int index

The index in the NURBSSet of the curve to use as a rail.
DllExport void SetRailParentId ( int  pnum,
NURBSId  id 
)
Remarks:
Specifies the NURBSId of the first or second rail curve to use.
Parameters:
int pnum

Pass 0 for the first rail curve; 1 for the second rail curve.

NURBSId id

The id of the curve to use as a rail.
DllExport int GetRailParent ( int  pnum )
Remarks:
Returns the index in the NURBSSet of the specified parent rail curve.
Parameters:
int pnum

Pass 0 for the first rail curve; 1 for the second rail curve.
DllExport NURBSId GetRailParentId ( int  pnum )
Remarks:
Returns the NURBSId of the specified parent rail curve.
Parameters:
int pnum

Pass 0 for the first rail curve; 1 for the second rail curve.
DllExport void SetCurveStartPoint ( TimeValue  t,
int  pnum,
double  startpoint 
)
Remarks:
Sets the start point for the specified parent curve at the time passed.
Parameters:
TimeValue t

The time at which to set the start point.

int pnum

Pass 0 for the first rail curve; 1 for the second rail curve.

double startpoint

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

The time at which to get the start point.

int pnum

Pass 0 for the first rail curve; 1 for the second rail curve.
Operators:

Friends And Related Function Documentation

friend class NURBSSet [friend]

NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface
NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface NURBS2RailSweepSurface