Panda3D
eggQtess.h
Go to the documentation of this file.
1 /**
2  * PANDA 3D SOFTWARE
3  * Copyright (c) Carnegie Mellon University. All rights reserved.
4  *
5  * All use of this software is subject to the terms of the revised BSD
6  * license. You should have received a copy of this license along
7  * with this source code in a file named "LICENSE."
8  *
9  * @file eggQtess.h
10  * @author drose
11  * @date 2003-10-13
12  */
13 
14 #ifndef EGGQTESS_H
15 #define EGGQTESS_H
16 
17 #include "pandatoolbase.h"
18 #include "eggFilter.h"
19 #include "qtessInputFile.h"
20 #include "qtessSurface.h"
21 #include "pointerTo.h"
22 #include "pvector.h"
23 
24 /**
25  * A program to tesselate NURBS surfaces appearing within an egg file into
26  * polygons, using variations on a quick uniform tesselation.
27  */
28 class EggQtess : public EggFilter {
29 public:
30  EggQtess();
31 
32  void run();
33 
34 protected:
35  virtual bool handle_args(ProgramBase::Args &args);
36 
37 private:
38  void describe_qtess_format();
39  void find_surfaces(EggNode *egg_node);
40 
41  Filename _qtess_filename;
42  double _uniform_per_isoparam;
43  int _uniform_per_surface;
44  int _total_tris;
45  bool _qtess_output;
46  bool _describe_qtess;
47 
48  QtessInputFile _qtess_file;
49 
50  typedef pvector< PT(QtessSurface) > Surfaces;
51  Surfaces _surfaces;
52 };
53 
54 #endif
pvector
This is our own Panda specialization on the default STL vector.
Definition: pvector.h:42
pvector.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
eggFilter.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
QtessSurface
A reference to an EggNurbsSurface in the egg file, and its parameters as set by the user input file a...
Definition: qtessSurface.h:32
EggFilter
This is the base class for a program that reads an egg file, operates on it, and writes another egg f...
Definition: eggFilter.h:26
EggQtess
A program to tesselate NURBS surfaces appearing within an egg file into polygons, using variations on...
Definition: eggQtess.h:28
qtessSurface.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
pdeque< std::string >
qtessInputFile.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
QtessInputFile
Stores all the information read from a tesselation input file: a list of QtessInputEntry's.
Definition: qtessInputFile.h:28
pandatoolbase.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
EggNode
A base class for things that may be directly added into the egg hierarchy.
Definition: eggNode.h:35
pointerTo.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Filename
The name of a file, such as a texture file or an Egg file.
Definition: filename.h:39