Panda3D
 All Classes Functions Variables Enumerations
eggUtilities.h
1 // Filename: eggUtilities.h
2 // Created by: drose (28Jan99)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef EGGUTILITIES_H
16 #define EGGUTILITIES_H
17 
18 ////////////////////////////////////////////////////////////////////
19 //
20 // eggUtilities.h
21 //
22 // Handy functions that operate on egg structures, but don't
23 // necessarily belong in any one class.
24 //
25 ////////////////////////////////////////////////////////////////////
26 
27 #include "pandabase.h"
28 
29 #include "eggTexture.h"
30 #include "pt_EggTexture.h"
31 
32 #include "filename.h"
33 #include "pointerTo.h"
34 
35 #include "pset.h"
36 #include "pmap.h"
37 
38 class EggNode;
39 class EggVertex;
40 
43 
44 
45 ////////////////////////////////////////////////////////////////////
46 // Function: get_textures_by_filename
47 // Description: Extracts from the egg subgraph beginning at the
48 // indicated node a set of all the texture objects
49 // referenced, grouped together by filename. Texture
50 // objects that share a common filename (but possibly
51 // differ in other properties) are returned together in
52 // the same element of the map.
53 ////////////////////////////////////////////////////////////////////
54 void
55 get_textures_by_filename(const EggNode *node, EggTextureFilenames &result);
56 
57 
58 ////////////////////////////////////////////////////////////////////
59 // Function: split_vertex
60 // Description: Splits a vertex into two or more vertices, each an
61 // exact copy of the original and in the same vertex
62 // pool. See the more detailed comments in
63 // eggUtilities.I.
64 ////////////////////////////////////////////////////////////////////
65 template<class FunctionObject>
66 void
67 split_vertex(EggVertex *vert, const FunctionObject &sequence);
68 
69 
70 #include "eggUtilities.I"
71 
72 #endif
This is our own Panda specialization on the default STL map.
Definition: pmap.h:52
Any one-, two-, three-, or four-component vertex, possibly with attributes such as a normal...
Definition: eggVertex.h:41
A base class for things that may be directly added into the egg hierarchy.
Definition: eggNode.h:38
This is our own Panda specialization on the default STL set.
Definition: pset.h:52