00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __CAMERATREE_H__
00013 #define __CAMERATREE_H__
00014
00015
00016 #include <qgl.h>
00017 #include <qptrlist.h>
00018 #include <qstring.h>
00019 #include <qstringlist.h>
00020
00021 #include "cmdtreenode.h"
00022 #include "cmdparam.h"
00023 #include "superptrlist.h"
00024 #include "supervaluelist.h"
00025
00026 #include "doubleparam.h"
00027
00028
00029
00034 class CameraTree : public CmdTreeNode
00035 {
00036 public:
00037 CameraTree()
00038 : CmdTreeNode( "Camera", new QPtrList<CmdTreeNode> )
00039 {
00040
00041
00042
00043
00044 mySubTree->append( new CmdTreeNode( "gluLookAt", NULL, cmd_gluLookAt,
00045 new SuperPtrList<CmdParam>( 9,
00046 new DoubleParam( "eyeX", "0", "GLdouble" ),
00047 new DoubleParam( "eyeY", "0", "GLdouble" ),
00048 new DoubleParam( "eyeZ", "2", "GLdouble" ),
00049 new DoubleParam( "centerX", "0", "GLdouble" ),
00050 new DoubleParam( "centerY", "0", "GLdouble" ),
00051 new DoubleParam( "centerZ", "0", "GLdouble" ),
00052 new DoubleParam( "upX", "0", "GLdouble" ),
00053 new DoubleParam( "upY", "1", "GLdouble" ),
00054 new DoubleParam( "upZ", "0", "GLdouble" ) ) ) );
00055 }
00056
00057
00058
00059
00060
00061 static void cmd_gluLookAt( const QStringList& p ) {
00062 gluLookAt( p[0].toDouble(), p[1].toDouble(), p[2].toDouble(), p[3].toDouble(), p[4].toDouble(), p[5].toDouble(), p[6].toDouble(), p[7].toDouble(), p[8].toDouble() );
00063 }
00064
00065 private:
00066
00067 };
00068
00069
00070 #endif // __CAMERATREE_H__