shape_doc 0.1
surface_rational< K, N > Class Template Reference

#include <surface_rational.hpp>

Inheritance diagram for surface_rational< K, N >:
surface_parametric< K > surface< default_env > SHAPE_OFV

List of all members.

Public Types

Public Member Functions


Detailed Description

template<class K, int N = 3>
class mmx::shape::surface_rational< K, N >

Definition at line 34 of file surface_rational.hpp.


Member Typedef Documentation

Definition at line 38 of file surface_rational.hpp.

Reimplemented from surface_parametric< K >.

Definition at line 37 of file surface_rational.hpp.

Definition at line 44 of file surface_parametric.hpp.

typedef surface_rational_def<K>::polynomial_type Polynomial

Definition at line 39 of file surface_rational.hpp.

Definition at line 36 of file surface_rational.hpp.


Constructor & Destructor Documentation

surface_rational ( void  )
surface_rational ( const Polynomial X,
const Polynomial Y,
const Polynomial Z,
const Polynomial W = 1 
) [inline]

Definition at line 44 of file surface_rational.hpp.

                                                                                                        : 
    ParametricSurface(),m_umin(0), m_umax(1), m_vmin(0), m_vmax(1), m_w(W) {
    m_p[0]=X; m_p[1]=Y; m_p[2]=Z;
  }

Member Function Documentation

Polynomial denominator ( ) const [inline]

Definition at line 62 of file surface_rational.hpp.

{ return m_w; }
surface_rational< K, N >::Point * eval ( Scalar  u,
Scalar  v 
) const

Definition at line 75 of file surface_rational.hpp.

                                   {
  Scalar w = m_w(u,v);
  Point* p = new Point(m_p[0](u,v)/w, m_p[1](u,v)/w, m_p[2](u,v)/w);
  return p ;
}
void eval ( Point p,
Scalar  u,
Scalar  v 
) const

Definition at line 82 of file surface_rational.hpp.

                                             {
  Scalar w=m_w(u,v);
  p.setx(m_p[0](u,v)/w);
  p.sety(m_p[1](u,v)/w);
  p.setz(m_p[2](u,v)/w);
}
virtual Point* eval ( double  u,
double  v 
) const [pure virtual, inherited]
virtual void eval ( Point p,
double  u,
double  v 
) const [pure virtual, inherited]
virtual void eval ( double *  lp,
const double *  u,
int  n 
) const [virtual, inherited]
void get_range ( double &  umin,
double &  umax,
double &  vmin,
double &  vmax 
) const [virtual]
Polynomial numerator ( int  i) const [inline]

Definition at line 63 of file surface_rational.hpp.

{ return m_p[i]; }
surface_rational< K, N >::Point * operator() ( const Scalar u,
const Scalar v 
) const

Definition at line 90 of file surface_rational.hpp.

References mmx::eval().

                                                        {
  return this->eval(u,v); 
}
virtual Point* operator() ( double  u,
double  v 
) const [inline, virtual, inherited]

Definition at line 54 of file surface_parametric.hpp.

References surface_parametric< C, V >::eval().

{ return this->eval(u,v); }
virtual void sample ( double *  lp,
unsigned  m,
unsigned  n,
double *  u,
double *  v 
) const [virtual, inherited]
virtual void sample ( PointIterator  lp,
unsigned  m,
unsigned  n 
) const [virtual, inherited]
virtual void sample ( PointIterator  lp,
const double *  u,
unsigned  m,
const double *  v,
unsigned  n 
) const [virtual, inherited]
void set_range ( Scalar  umin,
Scalar  umax,
Scalar  vmin,
Scalar  vmax 
)

Definition at line 95 of file surface_rational.hpp.

References mmx::shape_ssi::umax(), mmx::shape_ssi::umin(), mmx::shape_ssi::vmax(), and mmx::shape_ssi::vmin().

                                                                  {
  m_umin=umin;                                           
  m_umax=umax;                                           
  m_vmin=vmin;                                           
  m_vmax=vmax;                                           
}
Scalar umax ( void  ) const [inline, virtual]

Implements surface_parametric< K >.

Definition at line 54 of file surface_rational.hpp.

{ return m_umax ; }
Scalar umin ( void  ) const [inline, virtual]

Implements surface_parametric< K >.

Definition at line 53 of file surface_rational.hpp.

{ return m_umin ; }
Scalar vmax ( void  ) const [inline, virtual]

Implements surface_parametric< K >.

Definition at line 56 of file surface_rational.hpp.

{ return m_vmax ; }
Scalar vmin ( void  ) const [inline, virtual]

Implements surface_parametric< K >.

Definition at line 55 of file surface_rational.hpp.

{ return m_vmin ; }

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