diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-07-26 03:16:45 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-07-26 03:16:45 +0400 |
commit | 777a0d78e79d25c385eac4dd4835f8ca65317b26 (patch) | |
tree | a3b5213e6ac6572ca966448044affec198b3e0e5 /source/gameengine/Rasterizer | |
parent | 756488fbe2c0beaf205cb28d6f4ca1e62a64588a (diff) | |
parent | e9ca43521f99c6b9baf6d9278f85323086fcade2 (diff) |
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r21899:21908
Diffstat (limited to 'source/gameengine/Rasterizer')
-rw-r--r-- | source/gameengine/Rasterizer/RAS_Deformer.h | 7 | ||||
-rw-r--r-- | source/gameengine/Rasterizer/RAS_MeshObject.cpp | 7 | ||||
-rw-r--r-- | source/gameengine/Rasterizer/RAS_MeshObject.h | 8 |
3 files changed, 22 insertions, 0 deletions
diff --git a/source/gameengine/Rasterizer/RAS_Deformer.h b/source/gameengine/Rasterizer/RAS_Deformer.h index fe9b1540af8..75c0dcd1eeb 100644 --- a/source/gameengine/Rasterizer/RAS_Deformer.h +++ b/source/gameengine/Rasterizer/RAS_Deformer.h @@ -38,6 +38,7 @@ #include "GEN_Map.h" struct DerivedMesh; +class RAS_MeshObject; class RAS_Deformer { @@ -71,6 +72,12 @@ public: { return NULL; } + virtual class RAS_MeshObject* GetRasMesh() + { + /* m_pMesh does not seem to be being used?? */ + return NULL; + } + virtual float (* GetTransVerts(int *tot))[3] { *tot= 0; return NULL; } protected: class RAS_MeshObject *m_pMesh; diff --git a/source/gameengine/Rasterizer/RAS_MeshObject.cpp b/source/gameengine/Rasterizer/RAS_MeshObject.cpp index 1dfcb0c512d..0ae6ad9d7ea 100644 --- a/source/gameengine/Rasterizer/RAS_MeshObject.cpp +++ b/source/gameengine/Rasterizer/RAS_MeshObject.cpp @@ -382,6 +382,13 @@ RAS_TexVert* RAS_MeshObject::GetVertex(unsigned int matid, return NULL; } +const float* RAS_MeshObject::GetVertexLocation(unsigned int orig_index) +{ + vector<SharedVertex>& sharedmap = m_sharedvertex_map[orig_index]; + vector<SharedVertex>::iterator it= sharedmap.begin(); + return it->m_darray->m_vertex[it->m_offset].getXYZ(); +} + void RAS_MeshObject::AddMeshUser(void *clientobj, SG_QList *head, RAS_Deformer* deformer) { list<RAS_MeshMaterial>::iterator it; diff --git a/source/gameengine/Rasterizer/RAS_MeshObject.h b/source/gameengine/Rasterizer/RAS_MeshObject.h index e763d6e7c7f..bf9c0f7b682 100644 --- a/source/gameengine/Rasterizer/RAS_MeshObject.h +++ b/source/gameengine/Rasterizer/RAS_MeshObject.h @@ -126,6 +126,7 @@ public: /* vertex and polygon acces */ int NumVertices(RAS_IPolyMaterial* mat); RAS_TexVert* GetVertex(unsigned int matid, unsigned int index); + const float* GetVertexLocation(unsigned int orig_index); int NumPolygons(); RAS_Polygon* GetPolygon(int num) const; @@ -141,6 +142,13 @@ public: bool culled); void RemoveFromBuckets(void *clientobj); + void EndConversion() { +#if 0 + m_sharedvertex_map.clear(); // SharedVertex + vector<vector<SharedVertex> > shared_null(0); + shared_null.swap( m_sharedvertex_map ); /* really free the memory */ +#endif + } /* colors */ void DebugColor(unsigned int abgr); |