Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
PrimitiveCylinder< REAL > Class Template Reference
Inheritance diagram for PrimitiveCylinder< REAL >:
GeometryPrimitive

Public Member Functions

 PrimitiveCylinder (const REAL &radius, const REAL &height)
 
const REAL & get_radius () const
 Get the radius of the cylinder.
 
void set_radius (const REAL &radius)
 Set the radius of the cylinder.
 
const REAL & get_height () const
 Get the height of the cylinder.
 
void set_height (const REAL &height)
 Set the height of the cylinder.
 
REAL estimate_side_area (const GMathVec3< REAL > &scale) const
 
REAL estimate_cap_area (const GMathVec3< REAL > &scale) const
 
void compute_side_surface_point (GMathVec3< REAL > &position, GMathVec3< REAL > &dpdu, GMathVec3< REAL > &dpdv, GMathVec3< REAL > &normal, GMathVec3< REAL > &dndu, GMathVec3< REAL > &dndv, REAL u, REAL v) const
 
template<bool TOP>
void compute_cap_surface_point (GMathVec3< REAL > &position, GMathVec3< REAL > &dpdu, GMathVec3< REAL > &dpdv, GMathVec3< REAL > &normal, GMathVec3< REAL > &dndu, GMathVec3< REAL > &dndv, REAL u, REAL v) const
 
void compute_uv (const GMathVec3< REAL > &pos, REAL &u, REAL &v) const
 
void compute_cap_uv (const GMathVec3< REAL > &pos, REAL &u, REAL &v) const
 
unsigned int intersect_side (const GMathBasicRay< REAL > &ray, REAL tnear, REAL tfar, REAL ts[2], REAL us[2], REAL vs[2]) const
 
template<bool TOP>
bool intersect_cap (const GMathBasicRay< REAL > &ray, REAL &t, REAL &u, REAL &v) const
 

Protected Attributes

REAL m_radius
 
REAL m_height
 

Additional Inherited Members

- Public Types inherited from GeometryPrimitive
enum  SideFlags {
  SIDE_FRONT = 1,
  SIDE_BACK = 2,
  SIDE_BOTH = 3
}
 Visible side flags. More...
 
- Static Public Member Functions inherited from GeometryPrimitive
template<typename REAL >
static bool is_visible (SideFlags side, REAL dot_normal)
 
template<typename REAL >
static void compute_dndu_dndv (GMathVec3< REAL > &dndu, GMathVec3< REAL > &dndv, const GMathVec3< REAL > &dpdu, const GMathVec3< REAL > &dpdv, const GMathVec3< REAL > &normal, const GMathVec3< REAL > &d2pduu, const GMathVec3< REAL > &d2pduv, const GMathVec3< REAL > &d2pdvv)
 Compute the partial derivatives of the normal.