Main Page | Class Hierarchy | Class List | File List | Class Members

PLib::NurbsSubSurface< T > Struct Template Reference

A class to represent a NURBS surface suitable for subdivision. More...

#include <nurbsSub.h>

List of all members.

Public Member Functions

 NurbsSubSurface (const NurbsSurface< T, 3 > &s)
 ~NurbsSubSurface ()
void drawSubdivisionPS (ostream &os, T tolerance)
void drawSubdivisionPS (const char *f, T tolerance)
void drawSubdivisionVRML (ostream &os, T tolerance, const Color &col=Color(0, 0, 255))
void drawSubdivisionVRML (const char *f, T tolerance, const Color &col=Color(0, 0, 255))
void drawSubdivisionVRML97 (ostream &os, T tolerance, const Color &col=Color(0, 0, 255))
void drawSubdivisionVRML97 (const char *f, T tolerance, const Color &col=Color(0, 0, 255))
void drawSubdivisionPoints (BasicArray< Point_nD< T, 3 > > &pnts, T tolerance)
void drawSubdivisionPoints (T tolerance)

Protected Member Functions

void drawSubdivision (T tolerance)
void initSurf ()

Protected Attributes

RenderMesh< T > * render
const NurbsSurface< T, 3 > & rsurf
NurbSurface< T > * surf


Detailed Description

template<class T>
struct PLib::NurbsSubSurface< T >

A class to represent a NURBS surface suitable for subdivision.

This class adds the methods and the information necessary for performing subdivision on the surface.

Subdivision is mainly used to output the surface in diverse formats such as VRML, Post-Sript or a mesh file.

This class is based on code from the article "Tessellation of NURB Surfaces" by John W. Peterson, jp@blowfish.taligent.com in "Graphics Gems IV", Academic Press, 1994

Author:
Philippe Lavoie
Date:
20 January, 1999


Constructor & Destructor Documentation

template<class T>
PLib::NurbsSubSurface< T >::NurbsSubSurface const NurbsSurface< T, 3 > &  s  ) 
 

Constructor from a NurbsSurface.

Constructor from a NurbsSurface

Parameters:
s the NurbsSurface to construct from
Author:
Philippe Lavoie
Date:
20 January 1999

template<class T>
PLib::NurbsSubSurface< T >::~NurbsSubSurface  ) 
 

Destructor.

Author:
Philippe Lavoie
Date:
20 January 1999


Member Function Documentation

template<class T>
void PLib::NurbsSubSurface< T >::drawSubdivision tolerance  )  [protected]
 

Draw the subdivision of the NURBS surface.

Draw the subdivision of the NURBS surface

Parameters:
tolerance the accepted tolerance
Author:
Philippe Lavoie
Date:
20 January 1999

template<class T>
void PLib::NurbsSubSurface< T >::drawSubdivisionPoints BasicArray< Point_nD< T, 3 > > &  pnts,
tolerance
 

perform the subdivision of the NURBS and write the result in a VRML file.

Parameters:
os the ostream to write to
tolerance the accepted tolerance
Author:
Philippe Lavoie
Date:
20 January 1999

template<class T>
void PLib::NurbsSubSurface< T >::drawSubdivisionPS const char *  f,
tolerance
 

perform the subdivision of the NURBS and write the result in a PS file.

Parameters:
f the file name to write to
tolerance the accepted tolerance
Author:
Philippe Lavoie
Date:
20 January 1999

template<class T>
void PLib::NurbsSubSurface< T >::drawSubdivisionPS ostream &  os,
tolerance
 

perform the subdivision of the NURBS and write the result in a PS file.

Parameters:
os the ostream to write to
tolerance the accepted tolerance
Author:
Philippe Lavoie
Date:
20 January 1999

template<class T>
void PLib::NurbsSubSurface< T >::drawSubdivisionVRML const char *  f,
tolerance,
const Color col = Color(0,0,255)
 

perform the subdivision of the NURBS and write the result in a VRML file.

Parameters:
f the file name to write to
tolerance the accepted tolerance
Author:
Philippe Lavoie
Date:
20 January 1999

template<class T>
void PLib::NurbsSubSurface< T >::drawSubdivisionVRML ostream &  os,
tolerance,
const Color col = Color(0,0,255)
 

perform the subdivision of the NURBS and write the result in a VRML file.

Parameters:
os the ostream to write to
tolerance the accepted tolerance
Author:
Philippe Lavoie
Date:
20 January 1999

template<class T>
void PLib::NurbsSubSurface< T >::drawSubdivisionVRML97 const char *  f,
tolerance,
const Color col = Color(0,0,255)
 

perform the subdivision of the NURBS and write the result in a VRML file.

Parameters:
f the file name to write to
tolerance the accepted tolerance
Author:
Philippe Lavoie
Date:
30 April 1999

template<class T>
void PLib::NurbsSubSurface< T >::drawSubdivisionVRML97 ostream &  os,
tolerance,
const Color col = Color(0,0,255)
 

perform the subdivision of the NURBS and write the result in a VRML file.

Parameters:
os the ostream to write to
tolerance the accepted tolerance
Author:
Philippe Lavoie
Date:
30 April 1999

template<class T>
void PLib::NurbsSubSurface< T >::initSurf  )  [protected]
 

initialise the subdivision surface

Parameters:
tolerance the accepted tolerance
Author:
Philippe Lavoie
Date:
20 January 1999


The documentation for this struct was generated from the following files:
Generated on Wed Dec 10 14:27:53 2003 for NURBS++ by doxygen 1.3.4