# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CBezierPatch Class Reference

A standard bezier patch of float. More...

#include <bezier_patch.h>

List of all members.

Public Methods

 CBezierPatch ()
 Constructor: undefined Bezier patch!! More...

void make (CVector vertices[4], CVector normals[4])
 complete computation of Vertices, Tangents, and Interiors, provinding the vertices and vertex normals. More...

void makeInteriors ()
 make default Interiors, according to Vertices and Tangents. More...

void applyMatrix (const CMatrix &m)
 Do the matrix transformation m*patch. More...

CVector eval (float s, float t) const
 Evaluate. More...

CVectorD evalDouble (double s, double t) const
 Evaluate, but return a vector double. More...

CVector evalNormal (float s, float t) const
 Evaluate the normal at (s,t). returned vector is normalized. More...


Public Attributes

CVector Vertices [4]
 The vertices a,b,c,d of the quad patch. More...

CVector Tangents [8]
 The tangents ab, ba, bc, cb, cd, dc, da, ad. NB: tangents are points, not vectors. More...

CVector Interiors [4]
 The interiors, ia,ib,ic,id. NB: interiors are points, not vectors. More...


Detailed Description

A standard bezier patch of float.

(quadpatch only). QuadPatch layout (same notations as 3ds Max SDK).

A---> ad ---- da <---D | | | | v v ab ia id dc

| | | |

ba ib ic cd ^ ^ | | | | B---> bc ---- cb <---C

Author(s):
Lionel Berenguier , Nevrax France
Date:
2000

Definition at line 69 of file bezier_patch.h.


Constructor & Destructor Documentation

NL3D::CBezierPatch::CBezierPatch ( ) [inline]
 

Constructor: undefined Bezier patch!!

Definition at line 82 of file bezier_patch.h.


Member Function Documentation

void NL3D::CBezierPatch::applyMatrix ( const CMatrix & m )
 

Do the matrix transformation m*patch.

Definition at line 71 of file bezier_patch.cpp.

CVector NL3D::CBezierPatch::eval ( float ps,
float pt ) const
 

Evaluate.

Definition at line 85 of file bezier_patch.cpp.

CVectorD NL3D::CBezierPatch::evalDouble ( double ps,
double pt ) const
 

Evaluate, but return a vector double.

Definition at line 124 of file bezier_patch.cpp.

CVector NL3D::CBezierPatch::evalNormal ( float ps,
float pt ) const
 

Evaluate the normal at (s,t). returned vector is normalized.

Definition at line 165 of file bezier_patch.cpp.

void NL3D::CBezierPatch::make ( CVector vertices[4],
CVector normals[4] )
 

complete computation of Vertices, Tangents, and Interiors, provinding the vertices and vertex normals.

Definition at line 34 of file bezier_patch.cpp.

void NL3D::CBezierPatch::makeInteriors ( )
 

make default Interiors, according to Vertices and Tangents.

Definition at line 59 of file bezier_patch.cpp.


Member Data Documentation

CVector NL3D::CBezierPatch::Interiors[4]
 

The interiors, ia,ib,ic,id. NB: interiors are points, not vectors.

Definition at line 77 of file bezier_patch.h.

CVector NL3D::CBezierPatch::Tangents[8]
 

The tangents ab, ba, bc, cb, cd, dc, da, ad. NB: tangents are points, not vectors.

Definition at line 75 of file bezier_patch.h.

CVector NL3D::CBezierPatch::Vertices[4]
 

The vertices a,b,c,d of the quad patch.

Definition at line 73 of file bezier_patch.h.


The documentation for this class was generated from the following files: