root/OpenSceneGraph/trunk/src/osgPlugins/bsp/Q3BSPReader.h @ 13041

Revision 13041, 2.5 kB (checked in by robert, 2 years ago)

Ran script to remove trailing spaces and tabs

  • Property svn:eol-style set to native
Line 
1// El siguiente bloque ifdef muestra la forma estándar de crear macros que facilitan
2// la exportación de archivos DLL. Todos los archivos de este archivo DLL se compilan con el símbolo Q3BSP_EXPORTS
3// definido en la línea de comandos. Este símbolo no se debe definir en ningún proyecto
4// que utilice este archivo DLL. De este modo, otros proyectos cuyos archivos de código fuente incluyan el archivo
5// interpreta que las funciones Q3BSP_API se importan de un archivo DLL, mientras que este archivo DLL interpreta los símbolos
6// definidos en esta macro como si fueran exportados.
7/*
8#ifdef Q3BSP_EXPORTS
9#define Q3BSP_API __declspec(dllexport)
10#else
11#define Q3BSP_API __declspec(dllimport)
12#endif
13
14// Clase exportada de q3bsp.dll
15class Q3BSP_API Cq3bsp {
16public:
17    Cq3bsp(void);
18    // TODO: agregar métodos aquí.
19};
20
21extern Q3BSP_API int nq3bsp;
22
23Q3BSP_API int fnq3bsp(void);
24*/
25
26
27#include <osg/Array>
28#include <osg/Node>
29#include <osg/Texture2D>
30#include <osgDB/ReadFile>
31
32#include "Q3BSPLoad.h"
33
34
35namespace bsp
36{
37
38
39class Q3BSPReader
40{
41public:
42
43    Q3BSPReader();
44
45    bool readFile(const std::string& fileName,
46                  const osgDB::ReaderWriter::Options*);
47
48    osg::ref_ptr<osg::Node>  getRootNode();
49
50private:
51
52    osg::ref_ptr<osg::Node>   root_node;
53
54    osg::Geode* convertFromBSP(Q3BSPLoad& aLoadData,
55                               const osgDB::ReaderWriter::Options*) const;
56
57    osg::Geometry* createMeshFace(
58                            const BSP_LOAD_FACE& aLoadFace,
59                            const std::vector<osg::Texture2D*>& aTextureArray,
60                            osg::Vec3Array& aVertexArray,
61                            std::vector<GLuint>& aIndices,
62                            osg::Vec2Array& aTextureDecalCoords,
63                            osg::Vec2Array& aTextureLMapCoords) const;
64
65    osg::Geometry* createPolygonFace(
66                         const BSP_LOAD_FACE& aLoadFace,
67                         const std::vector<osg::Texture2D*>& aTextureArray,
68                         const std::vector<osg::Texture2D*>& aTextureLMapArray,
69                         osg::Vec3Array& aVertexArray,
70                         osg::Vec2Array& aTextureDecalCoords,
71                         osg::Vec2Array& aTextureLMapCoords) const;
72
73    bool        loadTextures(
74                          const Q3BSPLoad& aLoadData,
75                          std::vector<osg::Texture2D*>& aTextureArray) const;
76
77    bool        loadLightMaps(
78                           const Q3BSPLoad& aLoadData,
79                           std::vector<osg::Texture2D*>& aTextureArray) const;
80};
81
82
83}
Note: See TracBrowser for help on using the browser.