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
A reference to an EggNurbsSurface in the egg file, and its parameters as set by the user input file a...
Definition: qtessSurface.h:32
Stores all the information read from a tesselation input file: a list of QtessInputEntry's.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is our own Panda specialization on the default STL vector.
Definition: pvector.h:42
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
The name of a file, such as a texture file or an Egg file.
Definition: filename.h:39
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A base class for things that may be directly added into the egg hierarchy.
Definition: eggNode.h:35
A program to tesselate NURBS surfaces appearing within an egg file into polygons, using variations on...
Definition: eggQtess.h:28
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.