Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

xchen::Model Class Reference

#include <Model.H>

Inheritance diagram for xchen::Model:

xchen::glutBuiltInModel xchen::NaturalCurve xchen::PolyLine< dim > xchen::PolyLines< dim > xchen::TensorManifold< dims, sp_dims > xchen::Cone xchen::Cube xchen::Sphere xchen::Teapot xchen::Torus xchen::SubdivisionManifold< dims, sp_dims > xchen::TensorBlossom< dims, sp_dims > List of all members.

Public Methods

 Model ()

Static Public Methods

vector< Model * > ConstructModelsFromFile (char const *)
 Read perhaps more than one models from file.


Protected Methods

template<typename T> void Register (string const &id, T const &v)
 register attribute id with init val v.

template<typename T> void SetAttribute (string const &id, T const &v)
 Assume the same value type as registered earlier.

void SetAttributes (string const &str)
 Set attributes from a string of format: (name value)*.

void const * GetAttribute (string const &id)
 User keeps track of the real type.

void register_attributes ()
virtual void GenerateUI ()
 Generate user interface from Model's attributes.

void SetUI (UI *u)
virtual void DrawBrief () const
 display routine when mouse-transforming the Model.

virtual void Draw () const=0

Protected Attributes

Attributes attrs
UI * ui

Friends

class glModel

Constructor & Destructor Documentation

xchen::Model::Model   [inline]
 


Member Function Documentation

vector<Model*> xchen::Model::ConstructModelsFromFile char const *    [static]
 

Read perhaps more than one models from file.

virtual void xchen::Model::Draw   [protected, pure virtual]
 

Implemented in xchen::TensorManifold< dims, sp_dims >, xchen::Cone, xchen::Cube, xchen::Sphere, xchen::Teapot, xchen::Torus, xchen::PolyLine< dim >, and xchen::PolyLines< dim >.

virtual void xchen::Model::DrawBrief   const [inline, protected, virtual]
 

display routine when mouse-transforming the Model.

Reimplemented in xchen::TensorManifold< dims, sp_dims >.

void xchen::Model::GenerateUI   [inline, protected, virtual]
 

Generate user interface from Model's attributes.

Reimplemented in xchen::TensorManifold< dims, sp_dims >.

void const* xchen::Model::GetAttribute string const &    id [inline, protected]
 

User keeps track of the real type.

template<typename T>
void xchen::Model::Register string const &    id,
T const &    v
[inline, protected]
 

register attribute id with init val v.

void xchen::Model::register_attributes   [inline, protected]
 

template<typename T>
void xchen::Model::SetAttribute string const &    id,
T const &    v
[inline, protected]
 

Assume the same value type as registered earlier.

void xchen::Model::SetAttributes string const &    str [inline, protected]
 

Set attributes from a string of format: (name value)*.

void xchen::Model::SetUI UI *    u [inline, protected]
 


Friends And Related Function Documentation

friend class glModel [friend]
 

Reimplemented in xchen::TensorBlossom< dims, sp_dims >, xchen::TensorManifold< dims, sp_dims >, and xchen::TensorBlossom< 1, sp_dims >.


Member Data Documentation

Attributes xchen::Model::attrs [protected]
 

UI* xchen::Model::ui [protected]
 


The documentation for this class was generated from the following file:
Generated on Wed Apr 7 21:40:51 2004 by doxygen1.2.18