Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_NORMALCALC_H__
00020 #define __CS_NORMALCALC_H__
00021
00026 #include "csextern.h"
00027
00028 #include "csgeom/vector3.h"
00029 #include "csgeom/vector2.h"
00030 #include "csutil/cscolor.h"
00031 #include "csutil/dirtyaccessarray.h"
00032
00036 class CS_CRYSTALSPACE_EXPORT csNormalCalculator
00037 {
00038 private:
00039 static bool CompressVertices (
00040 csVector3* orig_verts, size_t orig_num_vts,
00041 csVector3*& new_verts, size_t& new_num_vts,
00042 csTriangle* orig_tris, size_t num_tris,
00043 csTriangle*& new_tris,
00044 size_t*& mapping);
00045
00046 public:
00057 static void CalculateNormals (
00058 csDirtyAccessArray<csVector3>& mesh_vertices,
00059 csDirtyAccessArray<csTriangle>& mesh_triangles,
00060 csDirtyAccessArray<csVector3>& mesh_normals,
00061 bool do_compress);
00062 };
00063
00066 #endif // __CS_NORMALCALC_H__
00067