From 54f17ac0aa7a7c14b2d6c757991fd770730709f3 Mon Sep 17 00:00:00 2001 From: Mkr Date: Sun, 9 Sep 2018 16:26:29 -0700 Subject: [PATCH] Make input to PolygonVertexArray constant --- src/collision/PolygonVertexArray.cpp | 10 +++++----- src/collision/PolygonVertexArray.h | 16 ++++++++-------- src/collision/PolyhedronMesh.cpp | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/collision/PolygonVertexArray.cpp b/src/collision/PolygonVertexArray.cpp index e52590c0..260e8ffc 100644 --- a/src/collision/PolygonVertexArray.cpp +++ b/src/collision/PolygonVertexArray.cpp @@ -43,14 +43,14 @@ using namespace reactphysics3d; * @param vertexDataType Data type of the vertices data * @param indexDataType Data type of the face indices data */ -PolygonVertexArray::PolygonVertexArray(uint nbVertices, void* verticesStart, int verticesStride, - void* indexesStart, int indexesStride, +PolygonVertexArray::PolygonVertexArray(uint nbVertices, const void* verticesStart, int verticesStride, + const void* indexesStart, int indexesStride, uint nbFaces, PolygonFace* facesStart, VertexDataType vertexDataType, IndexDataType indexDataType) { mNbVertices = nbVertices; - mVerticesStart = reinterpret_cast(verticesStart); + mVerticesStart = reinterpret_cast(verticesStart); mVerticesStride = verticesStride; - mIndicesStart = reinterpret_cast(indexesStart); + mIndicesStart = reinterpret_cast(indexesStart); mIndicesStride = indexesStride; mNbFaces = nbFaces; mPolygonFacesStart = facesStart; @@ -71,7 +71,7 @@ uint PolygonVertexArray::getVertexIndexInFace(uint faceIndex, uint noVertexInFac assert(noVertexInFace < face->nbVertices); - void* vertexIndexPointer = mIndicesStart + (face->indexBase + noVertexInFace) * mIndicesStride; + const void* vertexIndexPointer = mIndicesStart + (face->indexBase + noVertexInFace) * mIndicesStride; if (mIndexDataType == PolygonVertexArray::IndexDataType::INDEX_INTEGER_TYPE) { return *((uint*)vertexIndexPointer); diff --git a/src/collision/PolygonVertexArray.h b/src/collision/PolygonVertexArray.h index 09d04574..e00aa5b5 100644 --- a/src/collision/PolygonVertexArray.h +++ b/src/collision/PolygonVertexArray.h @@ -69,14 +69,14 @@ class PolygonVertexArray { uint mNbVertices; /// Pointer to the first vertex value in the array - unsigned char* mVerticesStart; + const unsigned char* mVerticesStart; /// Stride (number of bytes) between the beginning of two vertices /// values in the array int mVerticesStride; /// Pointer to the first vertex index of the array - unsigned char* mIndicesStart; + const unsigned char* mIndicesStart; /// Stride (number of bytes) between the beginning of two indices in /// the array @@ -97,8 +97,8 @@ class PolygonVertexArray { public: /// Constructor - PolygonVertexArray(uint nbVertices, void* verticesStart, int verticesStride, - void* indexesStart, int indexesStride, + PolygonVertexArray(uint nbVertices, const void* verticesStart, int verticesStride, + const void* indexesStart, int indexesStride, uint nbFaces, PolygonFace* facesStart, VertexDataType vertexDataType, IndexDataType indexDataType); @@ -130,10 +130,10 @@ class PolygonVertexArray { PolygonFace* getPolygonFace(uint faceIndex) const; /// Return the pointer to the start of the vertices array - unsigned char* getVerticesStart() const; + const unsigned char* getVerticesStart() const; /// Return the pointer to the start of the indices array - unsigned char* getIndicesStart() const; + const unsigned char* getIndicesStart() const; }; // Return the vertex data type @@ -198,7 +198,7 @@ inline PolygonVertexArray::PolygonFace* PolygonVertexArray::getPolygonFace(uint /** * @return A pointer to the start of the vertex array of the polyhedron */ -inline unsigned char* PolygonVertexArray::getVerticesStart() const { +inline const unsigned char* PolygonVertexArray::getVerticesStart() const { return mVerticesStart; } @@ -206,7 +206,7 @@ inline unsigned char* PolygonVertexArray::getVerticesStart() const { /** * @return A pointer to the start of the face indices array of the polyhedron */ -inline unsigned char* PolygonVertexArray::getIndicesStart() const { +inline const unsigned char* PolygonVertexArray::getIndicesStart() const { return mIndicesStart; } diff --git a/src/collision/PolyhedronMesh.cpp b/src/collision/PolyhedronMesh.cpp index c8ca9e77..850991a6 100644 --- a/src/collision/PolyhedronMesh.cpp +++ b/src/collision/PolyhedronMesh.cpp @@ -105,7 +105,7 @@ Vector3 PolyhedronMesh::getVertex(uint index) const { uint vertexIndex = mHalfEdgeStructure.getVertex(index).vertexPointIndex; PolygonVertexArray::VertexDataType vertexType = mPolygonVertexArray->getVertexDataType(); - unsigned char* verticesStart = mPolygonVertexArray->getVerticesStart(); + const unsigned char* verticesStart = mPolygonVertexArray->getVerticesStart(); int vertexStride = mPolygonVertexArray->getVerticesStride(); Vector3 vertex;