00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef TEDDY__MODELS__FACE__H
00026 #define TEDDY__MODELS__FACE__H
00027
00028
00029 #include "Teddy/Models/Vertex.h"
00030 #include "Teddy/Models/Element.h"
00031 #include "Teddy/SysSupport/Types.h"
00032
00033
00034 namespace Teddy {
00035 namespace Models {
00036
00037
00045 class Face : public Element {
00046 public:
00047 Face();
00048 virtual ~Face();
00049
00050 virtual void add ( const float x, const float y, const float z );
00051 virtual void add ( Vertex *v );
00052 virtual void append ( const float x, const float y, const float z );
00053 virtual void append ( Vertex *v );
00054 virtual void draw ( Projection *p );
00055 virtual void smooth ( float max_smoothing_angle );
00056 #if defined( TEDDY_INCLUDE_COLDET )
00057 virtual int addToCollisionModel( Teddy::ColDet::CollisionModel3D *collision_model );
00058
00059 #endif
00060 #if 0
00061 virtual bool stepCSGFace ( GeometryIterator *gi );
00062 virtual void fillCSGFace ( GeometryIterator *gi, CSG_IFace *face );
00063 #endif
00064 };
00065
00066
00067 };
00068 };
00069
00070
00071 #endif // TEDDY__MODELS__FACE__H
00072