include/BodyBuilder.h

00001 
00026 #ifndef __BODYBUILDER__
00027 #define __BODYBUILDER__
00028 
00029 #include <Bezier2D.h>
00030 #include <Vector2D.h>
00031 #include <Element2D.h>
00032 #include <Body2D.h>
00033 #include <disableWarnings.h>
00034 
00035 namespace sonus
00036 {
00037 
00053         class BodyBuilder
00054         {
00055 
00056         private:
00057                 bool                            debug;
00058                 double                          drawPosX;
00059                 double                          drawPosY;
00060                 int                                     elementCounter;
00061                 bool                            beziersAllowed;
00062                 Body2D<Element2D>*      body;
00063 
00064         public:
00065 
00071                 BodyBuilder( bool debug = false );
00072 
00081                 BodyBuilder( Body2D<Element2D>* body, bool beziersAllowed = false, bool debug = false );
00082 
00086                 ~BodyBuilder();
00087 
00094                 void                            resetFocus( Body2D<Element2D>* body, bool beziersAllowed = false );
00095 
00101                 void                            addVector( Vector2D* vector2d );
00102 
00110                 void                            addVectorAbs( double x, double y );
00111 
00118                 void                            addVectorRel( double x, double y );
00119 
00127                 void                            addVectorAbsHor( double x );
00128 
00136                 void                            addVectorRelHor( double x );
00137 
00145                 void                            addVectorAbsVer( double y );
00146 
00154                 void                            addVectorRelVer( double y );
00155 
00159                 void                            close();
00160 
00166                 void                            addBezier( Bezier2D* bezier2d );
00167 
00179                 void                            addBezierAbs( double p1X, double p1Y, double p2X, double p2Y, double p3X, double p3Y );
00180 
00192                 void                            addBezierRel( double p1X, double p1Y, double p2X, double p2Y, double p3X, double p3Y );
00193 
00204                 void                            addBezierAbsSmooth( double p2X, double p2Y, double p3X, double p3Y );
00205 
00216                 void                            addBezierRelSmooth( double p2X, double p2Y, double p3X, double p3Y );
00217 
00222                 void                            printElements();
00223         };
00224 }
00225 
00226 #endif

Generated on Tue Aug 26 12:26:54 2008 for sonus by  doxygen 1.5.4