source: GTP/trunk/App/Demos/Vis/FriendlyCulling/src/EntityMerger.h @ 2980

Revision 2980, 861 bytes checked in by mattausch, 16 years ago (diff)
Line 
1#ifndef __ENTITYMERGER_H
2#define __ENTITYMERGER_H
3
4#include "common.h"
5
6
7namespace CHCDemoEngine
8{
9
10class Material;
11class Transform3;
12class SceneEntity;
13class Geometry;
14class Shape;
15
16
17/** Class representing a scene entity merger
18        It merges two scene entities and creates a new one
19*/
20class EntityMerger
21{
22public:
23       
24        /** Creates a scene entity.
25        */
26        EntityMerger(SceneEntity *entity1, SceneEntity *entity2);
27        ~EntityMerger();
28
29        SceneEntity *Merge();
30
31protected:
32
33        Geometry *MergeGeometry(Geometry *geom1, Geometry *geom2);
34        Shape *MergeShapes(Shape *shape1, Shape *shape2, SceneEntity *parent);
35
36        Geometry *MergeGeometries(const GeometryContainer &geometries);
37        Shape *MergeShapes(const ShapeContainer &shapes, SceneEntity *parent);
38
39
40        SceneEntity *mEntity1;
41        SceneEntity *mEntity2;
42};
43
44}
45
46#endif // __ENTITYMERGER_H
Note: See TracBrowser for help on using the repository browser.