Mondschein Engine  0.3.0
Public Member Functions | List of all members
mondschein::math::Bezierpatch Class Reference

This class represents a bezier patch. More...

#include <bezierpatch.h>

Public Member Functions

virtual Eigen::Vector3d operator() (float64 _t, float64 _u) const
 Patch point access operator. More...
 
virtual void set_curves (const std::vector< Beziercurve_p > &_c)
 Set the interpolation curves. More...
 
virtual std::vector
< Beziercurve_p > 
get_curves () const
 Get the interpolation curves. More...
 
virtual uint32 get_degree () const
 Get the degree. More...
 
virtual Eigen::Vector3d get_point (float64 _t, float64 _u) const
 Get an interpolated point. More...
 
virtual scene::Mesh_p generate_mesh (uint32 _n, uint32 _m, normal_calculation_e _normals) const
 Generate a mesh object. More...
 

Detailed Description

This class represents a bezier patch.

The Bezierpatch class contains the parametric representation of an arbitrary Bezier patch.

Definition at line 37 of file bezierpatch.h.

Member Function Documentation

scene::Mesh_p Bezierpatch::generate_mesh ( uint32  _n,
uint32  _m,
normal_calculation_e  _normals 
) const
virtual

Generate a mesh object.

Parameters
_nthe number of vertices in X direction (>1)
_mthe number of vertices in Y direction (>1)
_normalsdefining the automatic normal calculation method
Returns
a mesh scene node
Exceptions
mondschein::exceptionif a known exception is thrown during execution or if _n < 2 or _m < 2

Definition at line 125 of file bezierpatch.cpp.

std::vector< Beziercurve_p > Bezierpatch::get_curves ( ) const
virtual

Get the interpolation curves.

Returns
the interpolation curves of *this

Definition at line 76 of file bezierpatch.cpp.

uint32 Bezierpatch::get_degree ( ) const
virtual

Get the degree.

Returns
the degree of *this

Definition at line 81 of file bezierpatch.cpp.

Eigen::Vector3d Bezierpatch::get_point ( float64  _t,
float64  _u 
) const
virtual

Get an interpolated point.

Parameters
_ta location between [0,1] defining the X component of the interpolated point
_ua location between [0,1] defining the Y component of the interpolated point
Returns
the interpolated point vector
Exceptions
mondschein::exceptionif a known exception is thrown during execution

Definition at line 86 of file bezierpatch.cpp.

Eigen::Vector3d Bezierpatch::operator() ( float64  _t,
float64  _u 
) const
virtual

Patch point access operator.

Parameters
_ta location between [0,1] defining the X component of the interpolated point
_ua location between [0,1] defining the Y component of the interpolated point
Returns
the interpolated point vector
Exceptions
mondschein::exceptionif a known exception is thrown during execution

Definition at line 55 of file bezierpatch.cpp.

void Bezierpatch::set_curves ( const std::vector< Beziercurve_p > &  _c)
virtual

Set the interpolation curves.

Parameters
_cthe interpolation curves

Definition at line 70 of file bezierpatch.cpp.


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