KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
kjb::Nurbs_surface Class Reference

#include <m2_spline.h>

Inheritance diagram for kjb::Nurbs_surface:
kjb::Spline_surface kjb::Cloneable

Public Member Functions

 Nurbs_surface ()
 
 Nurbs_surface (uint num_knots_s, const float *knots_s, uint num_knots_t, const float *knots_t, uint degree_u, uint degree_v, const std::vector< std::vector< Vector > > &ctl_points)
 
 Nurbs_surface (const Nurbs_surface &other)
 
 ~Nurbs_surface ()
 
Vector gradient_s (double s, double t) const
 
Vector gradient_t (double s, double t) const
 
Vector normal (double s, double t) const
 
Vector evaluate (double s, double t) const
 
virtual Nurbs_surfaceoperator= (const Nurbs_surface &src)
 
virtual Nurbs_surfaceclone () const
 Processes an Option from program command-line arguments. More...
 
virtual double & operator() (uint u, uint v, uint d)
 
virtual double operator() (uint u, uint v, uint d) const
 
- Public Member Functions inherited from kjb::Cloneable
virtual ~Cloneable ()
 Deletes this Cloneable. More...
 

Protected Attributes

uint _order_s
 
uint _order_t
 
uint _num_knots_s
 
uint _num_knots_t
 
float * _knots_s
 
float * _knots_t
 
std::vector< std::vector
< Vector > > 
_ctl_points
 

Detailed Description

Non-rational B-spline surface.

See Also
Gl_nurbs_surface
Author
Kyle Simek

Constructor & Destructor Documentation

kjb::Nurbs_surface::Nurbs_surface ( )
kjb::Nurbs_surface::Nurbs_surface ( uint  num_knots_s,
const float *  knots_s,
uint  num_knots_t,
const float *  knots_t,
uint  degree_u,
uint  degree_v,
const std::vector< std::vector< Vector > > &  ctl_points 
)
kjb::Nurbs_surface::Nurbs_surface ( const Nurbs_surface other)
kjb::Nurbs_surface::~Nurbs_surface ( )

Member Function Documentation

Nurbs_surface * kjb::Nurbs_surface::clone ( ) const
virtual

Processes an Option from program command-line arguments.

Implements kjb::Cloneable.

Vector kjb::Nurbs_surface::evaluate ( double  s,
double  t 
) const
virtual

Implements kjb::Spline_surface.

Vector kjb::Nurbs_surface::gradient_s ( double  s,
double  t 
) const

Returns the gradient in the s direction at a point on the surface

Vector kjb::Nurbs_surface::gradient_t ( double  s,
double  t 
) const

Returns the gradient in the t direction at a point on the surface

Vector kjb::Nurbs_surface::normal ( double  s,
double  t 
) const
Returns
the surface normal at a point on the surface
virtual double& kjb::Nurbs_surface::operator() ( uint  u,
uint  v,
uint  d 
)
inlinevirtual
virtual double kjb::Nurbs_surface::operator() ( uint  u,
uint  v,
uint  d 
) const
inlinevirtual
Nurbs_surface & kjb::Nurbs_surface::operator= ( const Nurbs_surface src)
virtual

Member Data Documentation

std::vector< std::vector<Vector> > kjb::Nurbs_surface::_ctl_points
protected
float* kjb::Nurbs_surface::_knots_s
protected
float* kjb::Nurbs_surface::_knots_t
protected
uint kjb::Nurbs_surface::_num_knots_s
protected
uint kjb::Nurbs_surface::_num_knots_t
protected
uint kjb::Nurbs_surface::_order_s
protected
uint kjb::Nurbs_surface::_order_t
protected

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