NURBSTextureSurface Class Reference

#include <surf_api.h>

Class Description

See also
Class NURBSControlVertex, Class NURBSSurface, Class NURBSTexturePoint.

Description:
A NURBS texture surface is a surface associated with the surface sub-object. 3ds Max uses the texture surface to control how materials are mapped. In effect, changing the texture surface stretches or otherwise changes the UV coordinates for the surface, altering the mapping.

This class provides access to the NURBS Texture Surface. This is a 2D (not 3D) surface that lives in the parameter space of the corresponding NURBSSurface which controls the texture mapping used by the NURBSSurface.
+ Inheritance diagram for NURBSTextureSurface:

Public Member Functions

DllExport NURBSTextureSurface (void)
 
DllExport ~NURBSTextureSurface (void)
 
DllExport NURBSTextureSurface (NURBSTextureSurface &tsurf)
 
DllExport NURBSTextureSurfaceoperator= (const NURBSTextureSurface &surf)
 
DllExport NURBSTexSurfType MapperType ()
 
DllExport void SetMapperType (NURBSTexSurfType type)
 
DllExport void SetParent (int index)
 
DllExport void SetParentId (NURBSId id)
 
DllExport int GetParent ()
 
DllExport NURBSId GetParentId ()
 
DllExport void SetNumPoints (int u, int v)
 
DllExport int GetNumUPoints (void)
 
DllExport int GetNumVPoints (void)
 
DllExport void GetNumPoints (int &u, int &v)
 
DllExport NURBSTexturePointGetPoint (int u, int v)
 
DllExport void SetPoint (int u, int v, NURBSTexturePoint &pnt)
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 

Constructor & Destructor Documentation

Remarks
Constructor. The data members are initialized as follows:

mMapperType = kNMapDefault;

mpPoints = NULL;
Remarks
Destructor. Any mpPoints are deleted.

Member Function Documentation

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

The surface to assign.
DllExport NURBSTexSurfType MapperType ( )
Remarks
Returns the NURBS Texture Surface Type. See NURBSTextureSurface Types.
DllExport void SetMapperType ( NURBSTexSurfType  type)
Remarks
Sets the NURBS Texture Surface Type.
Parameters:
NURBSTexSurfType type

The type to set. See NURBSTextureSurface Types.
DllExport void SetParent ( int  index)
Remarks
This sets the Id of the "source" surface for a kNMapSurfaceMapper texture surface, it should be NULL in other cases. This is only used if the NURBSTexSurfType is set the kNMapSufaceMapper. In that case the texture surface is generated by projecting the texture of another NURBS surface sub-object in the NURBS model. The projection travels along the direction of the normals of the source surface. Projected texture surfaces are relational. This method set the parent surface which is projected.
Parameters:
int index

The index in the NURBSSet of the source surface.
DllExport void SetParentId ( NURBSId  id)
Remarks
This sets the index in the NURBSSet of the "source" surface for a kNMapSurfaceMapper texture surface. This is only used if the NURBSTexSurfType is set the kNMapSufaceMapper. In that case the texture surface is generated by projecting the texture of another NURBS surface sub-object in the NURBS model. The projection travels along the direction of the normals of the source surface. Projected texture surfaces are relational. This method set the parent surface which is projected.
Parameters:
NURBSId id

The ID of the source surface.
DllExport int GetParent ( )
Remarks
Returns the index in the NURBSSet of the surface that's mapped.
DllExport NURBSId GetParentId ( )
Remarks
Returns the ID of the surface that's mapped.
DllExport void SetNumPoints ( int  u,
int  v 
)
Remarks
Sets the number of points in U and V for the texture surface.
Parameters:
int u

The number of points in U.

int v

The number of points in V.
DllExport int GetNumUPoints ( void  )
Remarks
Returns the number of points in U.
DllExport int GetNumVPoints ( void  )
Remarks
Returns the number of points in V.
DllExport void GetNumPoints ( int u,
int v 
)
Remarks
Retrieves the number of points in U and V.
Parameters:
int &u

The number of points in U is returned here.

int &v

The number of points in V is returned here.
DllExport NURBSTexturePoint* GetPoint ( int  u,
int  v 
)
Remarks
Returns a pointer to the specified NURBS Texture Point.
Parameters:
int u

Specifies the U point.

int v

Specifies the V point.
DllExport void SetPoint ( int  u,
int  v,
NURBSTexturePoint pnt 
)
Remarks
Sets the specified NURBS Texture Point.
Parameters:
int u

Specifies the U point.

int v

Specifies the V point.

NURBSTexturePoint& pnt

The point to set.