00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef INCLUDE_3D_PRIMITIVE_H
00024 #define INCLUDE_3D_PRIMITIVE_H
00025
00026 #include "3d.h"
00027 #include "layout.h"
00028 #include "face.h"
00029
00033 class Primitive
00034 {
00035 public:
00036 MyTree<Face> tree;
00037 Layout<double> layout;
00038
00039 public:
00040 Primitive();
00041 ~Primitive();
00042 void Push(int childNumber);
00043 MyTreeNode<Face> * Push(MyTreeNode<Face> *node);
00044 void Pop();
00045 void ViewDebug(MyTreeNode<Face> *node=NULL);
00046 BOOL Draw(BOOL isPicking);
00047 BOOL Draw(MyTreeNode<Face> *node,BOOL isPicking);
00048 MyTreeNode<Face> * Find(int idControl,int idFace,MyTreeNode<Face> *node=NULL);
00049 MyTreeNode<Face> * AddFace (char *name,int idControl,int idFace,GLdouble deltaZcenter,GLdouble deltaZrayon=0,GLdouble deltaX=-1,GLdouble deltaY=-3);
00050 MyTreeNode<Face> * AddBox (char *name,int idControl,GLdouble deltaZ,GLdouble deltaX=-1,GLdouble deltaY=-3);
00051 };
00052
00053 #endif