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

PLib::ParaSurface< T, N > Class Template Reference

An abstract parametric surface class. More...

#include <surface.h>

Inheritance diagram for PLib::ParaSurface< T, N >:

PLib::NurbsSurface< float, 3 > PLib::NurbsSurface< float, N > List of all members.

Public Member Functions

virtual HPoint_nD< T, N > operator() (T u, T v) const =0
HPoint_nD< T, N > hpointAt (T u, T v) const
Point_nD< T, N > pointAt (T u, T v) const
virtual void deriveAtH (T u, T v, int d, Matrix< HPoint_nD< T, N > > &skl) const =0
virtual void deriveAt (T u, T v, int d, Matrix< Point_nD< T, N > > &skl) const =0
virtual T minDist2 (const Point_nD< T, N > &p, T &guessU, T &guessV, T error=0.001, T s=0.2, int sep=9, int maxIter=10, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const
virtual T minDist2b (const Point_nD< T, N > &p, T &guessU, T &guessV, T error=0.001, T s=0.3, int sep=5, int maxIter=10, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const
virtual T minDist2xy (const Point_nD< T, N > &p, T &guessU, T &guessV, T error=0.01, T dU=0.0001, T s=0.3, int sepU=5, int sepV=5, int maxIter=10, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const
int projectOn (const Point_nD< T, N > &p, T &u, T &v, int maxI=100, const T um=0.0, const T uM=1.0, const T vm=0.0, const T vM=1.0) const
extremum (int findMin, CoordinateType coord, T minDu=0.0001, int sepU=5, int sepV=5, int maxIter=10, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const
int intersectWith (const ParaSurface< T, N > &S, Point_nD< T, N > &p, T &u, T &v, T &s, T &t, int maxI=100, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const
int intersectWith (const ParaSurface< T, N > &S, InterPoint< T, N > &iter, int maxI=100, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const
virtual int writeVRML (ostream &fout, const Color &color, int Nu, int Nv, T u_s, T u_e, T v_s, T v_e) const
virtual int writeVRML (const char *filename, const Color &color, int Nu, int Nv, T u_s, T u_e, T v_s, T v_e) const
virtual int writeVRML (const char *filename, const Color &color=whiteColor, int Nu=20, int Nv=20) const =0
virtual int writeVRML97 (ostream &fout, const Color &color, int Nu, int Nv, T u_s, T u_e, T v_s, T v_e) const
virtual int writeVRML97 (const char *filename, const Color &color, int Nu, int Nv, T u_s, T u_e, T v_s, T v_e) const
virtual int writeVRML97 (const char *filename, const Color &color=whiteColor, int Nu=20, int Nv=20) const =0
template<>
int intersectWith (const ParaSurface< double, 2 > &S, Point_nD< double, 2 > &p, double &u, double &v, double &s, double &t, int maxI, double um, double uM, double vm, double vM) const
template<>
int intersectWith (const ParaSurface< double, 2 > &S, struct InterPoint< double, 2 > &iter, int maxI, double um, double uM, double vm, double vM) const
template<>
int writeVRML97 (ostream &fout, const Color &color, int Nu, int Nv, double uS, double uE, double vS, double vE) const
template<>
int intersectWith (const ParaSurface< float, 2 > &S, Point_nD< float, 2 > &p, float &u, float &v, float &s, float &t, int maxI, float um, float uM, float vm, float vM) const
template<>
int intersectWith (const ParaSurface< float, 2 > &S, struct InterPoint< float, 2 > &iter, int maxI, float um, float uM, float vm, float vM) const
template<>
int writeVRML97 (ostream &fout, const Color &color, int Nu, int Nv, float uS, float uE, float vS, float vE) const

Detailed Description

template<class T, int N>
class PLib::ParaSurface< T, N >

An abstract parametric surface class.

This is an abstract class used as a basis for NURBS and HNURBS surfaces.

Author:
Philippe Lavoie
Date:
4 Oct. 1996


Member Function Documentation

template<class T, int N>
virtual void PLib::ParaSurface< T, N >::deriveAt u,
v,
int  d,
Matrix< Point_nD< T, N > > &  skl
const [pure virtual]
 

the derivative in normal space

Implemented in PLib::NurbsSurface< T, N >, and PLib::NurbsSurface< T, 3 >.

template<class T, int N>
virtual void PLib::ParaSurface< T, N >::deriveAtH u,
v,
int  d,
Matrix< HPoint_nD< T, N > > &  skl
const [pure virtual]
 

the derivative in homogenous space

Implemented in PLib::NurbsSurface< T, 3 >.

template<class T, int N>
HPoint_nD<T,N> PLib::ParaSurface< T, N >::hpointAt u,
v
const [inline]
 

< Calls operator()

template<class T, int N>
virtual HPoint_nD<T,N> PLib::ParaSurface< T, N >::operator() u,
v
const [pure virtual]
 

an abstract function

Parameters:
u  Empty constructor

Implemented in PLib::HNurbsSurface< T, N >, PLib::NurbsSurface< T, N >, and PLib::NurbsSurface< T, 3 >.

template<class T, int N>
Point_nD<T,N> PLib::ParaSurface< T, N >::pointAt u,
v
const [inline]
 

< Projects the point in the normal space

template<class T, int N>
virtual int PLib::ParaSurface< T, N >::writeVRML const char *  filename,
const Color color = whiteColor,
int  Nu = 20,
int  Nv = 20
const [pure virtual]
 

an abstract function

Implemented in PLib::NurbsSurface< T, N >, PLib::NurbsSurface< T, 3 >, PLib::NurbsSurface< float, N >, and PLib::NurbsSurface< float, 3 >.

template<class T, int N>
virtual int PLib::ParaSurface< T, N >::writeVRML97 const char *  filename,
const Color color = whiteColor,
int  Nu = 20,
int  Nv = 20
const [pure virtual]
 

an abstract function

Implemented in PLib::NurbsSurface< T, N >, PLib::NurbsSurface< T, 3 >, PLib::NurbsSurface< float, N >, and PLib::NurbsSurface< float, 3 >.


The documentation for this class was generated from the following file:
Generated on Wed Nov 17 20:07:51 2004 for NURBS++ by  doxygen 1.3.9.1