Fixed a bug in SilhouetteGeomEngine::ImageToWorldParameter() that caused
[blender.git] / source / blender / freestyle / intern / blender_interface / BlenderFileLoader.h
1 #ifndef  BLENDER_FILE_LOADER_H
2 # define BLENDER_FILE_LOADER_H
3
4 # include <string.h>              
5 # include <float.h>
6
7 # include "../system/FreestyleConfig.h"
8 # include "../scene_graph/NodeGroup.h"
9 # include "../scene_graph/NodeTransform.h"
10 # include "../scene_graph/NodeShape.h"
11 # include "../scene_graph/IndexedFaceSet.h"
12 # include "../geometry/BBox.h"
13 # include "../geometry/Geom.h"
14 # include "../geometry/GeomCleaner.h"
15
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19
20         #include "DNA_material_types.h"
21         #include "DNA_scene_types.h"
22         #include "render_types.h"
23         #include "renderdatabase.h"
24         
25         #include "BKE_mesh.h"
26         #include "BKE_scene.h"
27         #include "BLI_math.h"
28         
29 #ifdef __cplusplus
30 }
31 #endif
32
33
34 class NodeGroup;
35
36 class LIB_SCENE_GRAPH_EXPORT BlenderFileLoader
37 {
38 public:
39   /*! Builds a MaxFileLoader */
40         BlenderFileLoader(Render *re, SceneRenderLayer* srl);
41   virtual ~BlenderFileLoader();
42
43   /*! Loads the 3D scene and returns a pointer to the scene root node */
44   NodeGroup * Load();
45
46   /*! Gets the number of read faces */
47   inline unsigned int numFacesRead() {return _numFacesRead;}
48
49   /*! Gets the smallest edge size read */
50   inline real minEdgeSize() {return _minEdgeSize;}
51
52 protected:
53         void insertShapeNode(ObjectRen *obr, int id);
54
55 protected:
56         Render* _re;
57         SceneRenderLayer* _srl;
58         NodeGroup* _Scene;
59         unsigned _numFacesRead;
60         real _minEdgeSize;
61         float _viewplane_left;
62         float _viewplane_right;
63         float _viewplane_bottom;
64         float _viewplane_top;
65         float _z_near, _z_far;
66 };
67
68 #endif // BLENDER_FILE_LOADER_H