Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h')
-rw-r--r--source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h141
1 files changed, 83 insertions, 58 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h
index 251e9329128..5fe98fba0d0 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h
+++ b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h
@@ -61,7 +61,7 @@ extern "C" {
#include "DEG_depsgraph_query.h"
#ifdef WITH_CXX_GUARDEDALLOC
-#include "MEM_guardedalloc.h"
+# include "MEM_guardedalloc.h"
#endif
namespace Freestyle {
@@ -69,78 +69,103 @@ namespace Freestyle {
class NodeGroup;
struct LoaderState {
- float *pv;
- float *pn;
- IndexedFaceSet::FaceEdgeMark *pm;
- unsigned *pvi;
- unsigned *pni;
- unsigned *pmi;
- unsigned currentIndex;
- unsigned currentMIndex;
- float minBBox[3];
- float maxBBox[3];
+ float *pv;
+ float *pn;
+ IndexedFaceSet::FaceEdgeMark *pm;
+ unsigned *pvi;
+ unsigned *pni;
+ unsigned *pmi;
+ unsigned currentIndex;
+ unsigned currentMIndex;
+ float minBBox[3];
+ float maxBBox[3];
};
-class BlenderFileLoader
-{
-public:
- /*! Builds a MaxFileLoader */
- BlenderFileLoader(Render *re, ViewLayer *view_layer, Depsgraph *depsgraph);
- virtual ~BlenderFileLoader();
+class BlenderFileLoader {
+ public:
+ /*! Builds a MaxFileLoader */
+ BlenderFileLoader(Render *re, ViewLayer *view_layer, Depsgraph *depsgraph);
+ virtual ~BlenderFileLoader();
- /*! Loads the 3D scene and returns a pointer to the scene root node */
- NodeGroup *Load();
+ /*! Loads the 3D scene and returns a pointer to the scene root node */
+ NodeGroup *Load();
- /*! Gets the number of read faces */
- inline unsigned int numFacesRead() {return _numFacesRead;}
+ /*! Gets the number of read faces */
+ inline unsigned int numFacesRead()
+ {
+ return _numFacesRead;
+ }
#if 0
- /*! Gets the smallest edge size read */
- inline real minEdgeSize() {return _minEdgeSize;}
+ /*! Gets the smallest edge size read */
+ inline real minEdgeSize() {return _minEdgeSize;}
#endif
- /*! Modifiers */
- inline void setRenderMonitor(RenderMonitor *iRenderMonitor) {_pRenderMonitor = iRenderMonitor;}
-
-protected:
- void insertShapeNode(Object *ob, Mesh *mesh, int id);
- int testDegenerateTriangle(float v1[3], float v2[3], float v3[3]);
- int countClippedFaces(float v1[3], float v2[3], float v3[3], int clip[3]);
- void clipLine(float v1[3], float v2[3], float c[3], float z);
- void clipTriangle(int numTris, float triCoords[][3], float v1[3], float v2[3], float v3[3],
- float triNormals[][3], float n1[3], float n2[3], float n3[3],
- bool edgeMarks[5], bool em1, bool em2, bool em3, int clip[3]);
- void addTriangle(struct LoaderState *ls, float v1[3], float v2[3], float v3[3],
- float n1[3], float n2[3], float n3[3], bool fm, bool em1, bool em2, bool em3);
-
-protected:
- struct detri_t {
- unsigned viA, viB, viP; // 0 <= viA, viB, viP < viSize
- Vec3r v;
- unsigned n;
- };
- Render *_re;
- Depsgraph *_depsgraph;
- NodeGroup *_Scene;
- unsigned _numFacesRead;
+ /*! Modifiers */
+ inline void setRenderMonitor(RenderMonitor *iRenderMonitor)
+ {
+ _pRenderMonitor = iRenderMonitor;
+ }
+
+ protected:
+ void insertShapeNode(Object *ob, Mesh *mesh, int id);
+ int testDegenerateTriangle(float v1[3], float v2[3], float v3[3]);
+ int countClippedFaces(float v1[3], float v2[3], float v3[3], int clip[3]);
+ void clipLine(float v1[3], float v2[3], float c[3], float z);
+ void clipTriangle(int numTris,
+ float triCoords[][3],
+ float v1[3],
+ float v2[3],
+ float v3[3],
+ float triNormals[][3],
+ float n1[3],
+ float n2[3],
+ float n3[3],
+ bool edgeMarks[5],
+ bool em1,
+ bool em2,
+ bool em3,
+ int clip[3]);
+ void addTriangle(struct LoaderState *ls,
+ float v1[3],
+ float v2[3],
+ float v3[3],
+ float n1[3],
+ float n2[3],
+ float n3[3],
+ bool fm,
+ bool em1,
+ bool em2,
+ bool em3);
+
+ protected:
+ struct detri_t {
+ unsigned viA, viB, viP; // 0 <= viA, viB, viP < viSize
+ Vec3r v;
+ unsigned n;
+ };
+ Render *_re;
+ Depsgraph *_depsgraph;
+ NodeGroup *_Scene;
+ unsigned _numFacesRead;
#if 0
- real _minEdgeSize;
+ real _minEdgeSize;
#endif
- bool _smooth; /* if true, face smoothness is taken into account */
- float _viewplane_left;
- float _viewplane_right;
- float _viewplane_bottom;
- float _viewplane_top;
- float _z_near, _z_far;
- float _z_offset;
+ bool _smooth; /* if true, face smoothness is taken into account */
+ float _viewplane_left;
+ float _viewplane_right;
+ float _viewplane_bottom;
+ float _viewplane_top;
+ float _z_near, _z_far;
+ float _z_offset;
- RenderMonitor *_pRenderMonitor;
+ RenderMonitor *_pRenderMonitor;
#ifdef WITH_CXX_GUARDEDALLOC
- MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:BlenderFileLoader")
+ MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:BlenderFileLoader")
#endif
};
} /* namespace Freestyle */
-#endif // __BLENDER_FILE_LOADER_H__
+#endif // __BLENDER_FILE_LOADER_H__