Core 1.0
ParametricSurface Class Reference

Parametric surface patches. More...

#include <surface.h>

Public Member Functions

virtual Vector Vertex (const double &, const double &) const
 Compute a point on the patch.
 
virtual Vector Normal (const double &, const double &) const
 Compute the normal at a given point on the patch.
 
virtual void Tangents (const double &, const double &, Vector &, Vector &) const
 Compute the partial derivatives at a given point on the patch.
 
virtual Mesh GetMesh (int, int) const
 Create the mesh of the patch.
 
virtual double Gaussian (const double &, const double &) const
 Compute the Gaussian curvature.
 

Protected Member Functions

void FundamentalForms (const double &, const double &, Vector &, Vector &) const
 Compute the first and second fundamental forms.
 

Static Protected Attributes

static const double Epsilon = 1.0e-6
 Epsilon for derivatives.
 

Detailed Description

Parametric surface patches.

Member Function Documentation

◆ FundamentalForms()

void ParametricSurface::FundamentalForms ( const double & u,
const double & v,
Vector & efg,
Vector & lmn ) const
protected

Compute the first and second fundamental forms.

Parameters
u,vCoordinates.
efg,lmnFundamental forms compacted into two vectors

◆ Gaussian()

double ParametricSurface::Gaussian ( const double & u,
const double & v ) const
virtual

Compute the Gaussian curvature.

Parameters
u,vCoordinates.

◆ GetMesh()

Mesh ParametricSurface::GetMesh ( int nu,
int nv ) const
virtual

Create the mesh of the patch.

Parameters
nu,nvSubdivisons.

◆ Normal()

Vector ParametricSurface::Normal ( const double & u,
const double & v ) const
virtual

Compute the normal at a given point on the patch.

Parameters
u,vCoordinates.

◆ Tangents()

void ParametricSurface::Tangents ( const double & u,
const double & v,
Vector & tu,
Vector & tv ) const
virtual

Compute the partial derivatives at a given point on the patch.

Parameters
u,vCoordinates.
tu,tvTangent vectors, not normalized.

◆ Vertex()

Vector ParametricSurface::Vertex ( const double & u,
const double & v ) const
virtual

Compute a point on the patch.

Parameters
u,vCoordinates.