Removed SurfacePatch::getVertexAndIndexData and replaced it with passing a SurfacePatch to a SurfacePatchRenderable.
This commit is contained in:
@ -26,15 +26,9 @@ namespace Ogre
|
|||||||
SurfaceVertexIterator getVerticesEnd(void);
|
SurfaceVertexIterator getVerticesEnd(void);
|
||||||
|
|
||||||
//Users of the class might want these for debugging or info purposes.
|
//Users of the class might want these for debugging or info purposes.
|
||||||
uint getNoOfEdges(void);
|
uint getNoOfEdges(void) const;
|
||||||
uint getNoOfTriangles(void);
|
uint getNoOfTriangles(void) const;
|
||||||
uint getNoOfVertices(void);
|
uint getNoOfVertices(void) const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void getVertexAndIndexData(std::vector<SurfaceVertex>& vertexData, std::vector<uint>& indexData);
|
|
||||||
|
|
||||||
|
|
||||||
bool canRemoveVertexFrom(SurfaceVertexIterator vertexIter, std::list<SurfaceVertexIterator> listConnectedIter, bool isEdge);
|
bool canRemoveVertexFrom(SurfaceVertexIterator vertexIter, std::list<SurfaceVertexIterator> listConnectedIter, bool isEdge);
|
||||||
std::list<SurfaceVertexIterator> findConnectedVertices(SurfaceVertexIterator vertexIter, bool& isEdge);
|
std::list<SurfaceVertexIterator> findConnectedVertices(SurfaceVertexIterator vertexIter, bool& isEdge);
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include "Ogre.h"
|
#include "Ogre.h"
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "SurfacePatch.h"
|
||||||
#include "SurfaceTriangle.h"
|
#include "SurfaceTriangle.h"
|
||||||
#include "SurfaceVertex.h"
|
#include "SurfaceVertex.h"
|
||||||
|
|
||||||
@ -12,10 +13,11 @@ namespace Ogre
|
|||||||
class SurfacePatchRenderable : public SimpleRenderable
|
class SurfacePatchRenderable : public SimpleRenderable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SurfacePatchRenderable(const String& material = "BaseWhiteNoLighting");
|
SurfacePatchRenderable(SurfacePatch& patchToRender, const String& material = "BaseWhiteNoLighting");
|
||||||
~SurfacePatchRenderable(void);
|
~SurfacePatchRenderable(void);
|
||||||
|
|
||||||
void setGeometry(std::vector<SurfaceVertex> verticesToSet, std::vector<uint> indicesToSet);
|
void updateWithNewSurfacePatch(SurfacePatch& patchToRender);
|
||||||
|
void setGeometry(SurfacePatch& patchToRender);
|
||||||
|
|
||||||
Real getSquaredViewDepth(const Camera *cam) const;
|
Real getSquaredViewDepth(const Camera *cam) const;
|
||||||
Real getBoundingRadius(void) const;
|
Real getBoundingRadius(void) const;
|
||||||
|
@ -5,10 +5,13 @@ namespace Ogre
|
|||||||
{
|
{
|
||||||
class SurfaceVertex;
|
class SurfaceVertex;
|
||||||
typedef std::set<SurfaceVertex>::iterator SurfaceVertexIterator;
|
typedef std::set<SurfaceVertex>::iterator SurfaceVertexIterator;
|
||||||
|
typedef std::set<SurfaceVertex>::const_iterator SurfaceVertexConstIterator;
|
||||||
class SurfaceTriangle;
|
class SurfaceTriangle;
|
||||||
typedef std::set<SurfaceTriangle>::iterator SurfaceTriangleIterator;
|
typedef std::set<SurfaceTriangle>::iterator SurfaceTriangleIterator;
|
||||||
|
typedef std::set<SurfaceTriangle>::const_iterator SurfaceTriangleConstIterator;
|
||||||
class SurfaceEdge;
|
class SurfaceEdge;
|
||||||
typedef std::set<SurfaceEdge>::iterator SurfaceEdgeIterator;
|
typedef std::set<SurfaceEdge>::iterator SurfaceEdgeIterator;
|
||||||
|
typedef std::set<SurfaceEdge>::const_iterator SurfaceEdgeConstIterator;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -279,18 +279,18 @@ namespace Ogre
|
|||||||
//for(uint meshCt = 1; meshCt < 256; ++meshCt)
|
//for(uint meshCt = 1; meshCt < 256; ++meshCt)
|
||||||
for(std::map<uchar, SurfacePatch>::iterator iterSurfacePatch = mapSurfacePatch.begin(); iterSurfacePatch != mapSurfacePatch.end(); ++iterSurfacePatch)
|
for(std::map<uchar, SurfacePatch>::iterator iterSurfacePatch = mapSurfacePatch.begin(); iterSurfacePatch != mapSurfacePatch.end(); ++iterSurfacePatch)
|
||||||
{
|
{
|
||||||
std::vector<SurfaceVertex> vertexData;
|
/*std::vector<SurfaceVertex> vertexData;
|
||||||
std::vector<uint> indexData;
|
std::vector<uint> indexData;
|
||||||
iterSurfacePatch->second.getVertexAndIndexData(vertexData, indexData);
|
iterSurfacePatch->second.getVertexAndIndexData(vertexData, indexData);
|
||||||
triangleCounter += iterSurfacePatch->second.getNoOfTriangles();
|
triangleCounter += iterSurfacePatch->second.getNoOfTriangles();*/
|
||||||
|
|
||||||
std::map<uchar,SurfacePatchRenderable*>::iterator iterSurface = m_mapSurfaces[regionX][regionY][regionZ].find(iterSurfacePatch->first);
|
std::map<uchar,SurfacePatchRenderable*>::iterator iterSurface = m_mapSurfaces[regionX][regionY][regionZ].find(iterSurfacePatch->first);
|
||||||
if(iterSurface == m_mapSurfaces[regionX][regionY][regionZ].end())
|
if(iterSurface == m_mapSurfaces[regionX][regionY][regionZ].end())
|
||||||
{
|
{
|
||||||
//We have to create the surface
|
//We have to create the surface
|
||||||
SurfacePatchRenderable* surface = new SurfacePatchRenderable(materialMap->getMaterialAtIndex(iterSurfacePatch->first));
|
SurfacePatchRenderable* surface = new SurfacePatchRenderable(iterSurfacePatch->second,materialMap->getMaterialAtIndex(iterSurfacePatch->first));
|
||||||
//surface->setGeometry(vertexData[meshCt],indexData[meshCt]);
|
//surface->setGeometry(vertexData[meshCt],indexData[meshCt]);
|
||||||
surface->setGeometry(vertexData, indexData);
|
//surface->setGeometry(vertexData, indexData);
|
||||||
|
|
||||||
m_mapSurfaces[regionX][regionY][regionZ].insert(std::make_pair(iterSurfacePatch->first,surface));
|
m_mapSurfaces[regionX][regionY][regionZ].insert(std::make_pair(iterSurfacePatch->first,surface));
|
||||||
|
|
||||||
@ -300,7 +300,8 @@ namespace Ogre
|
|||||||
{
|
{
|
||||||
//We just update the existing surface
|
//We just update the existing surface
|
||||||
//iterSurface->second->setGeometry(vertexData[meshCt],indexData[meshCt]);
|
//iterSurface->second->setGeometry(vertexData[meshCt],indexData[meshCt]);
|
||||||
iterSurface->second->setGeometry(vertexData, indexData);
|
//iterSurface->second->setGeometry(vertexData, indexData);
|
||||||
|
iterSurface->second->updateWithNewSurfacePatch(iterSurfacePatch->second);
|
||||||
sceneNode->attachObject(iterSurface->second);
|
sceneNode->attachObject(iterSurface->second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,17 +53,17 @@ namespace Ogre
|
|||||||
return m_listVertices.end();
|
return m_listVertices.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint SurfacePatch::getNoOfEdges(void)
|
uint SurfacePatch::getNoOfEdges(void) const
|
||||||
{
|
{
|
||||||
return m_listEdges.size();
|
return m_listEdges.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint SurfacePatch::getNoOfTriangles(void)
|
uint SurfacePatch::getNoOfTriangles(void) const
|
||||||
{
|
{
|
||||||
return m_listTriangles.size();
|
return m_listTriangles.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint SurfacePatch::getNoOfVertices(void)
|
uint SurfacePatch::getNoOfVertices(void) const
|
||||||
{
|
{
|
||||||
return m_listVertices.size();
|
return m_listVertices.size();
|
||||||
}
|
}
|
||||||
@ -132,48 +132,6 @@ namespace Ogre
|
|||||||
return edgeIter;
|
return edgeIter;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SurfacePatch::getVertexAndIndexData(std::vector<SurfaceVertex>& vertexData, std::vector<uint>& indexData)
|
|
||||||
{
|
|
||||||
vertexData.clear();
|
|
||||||
indexData.clear();
|
|
||||||
|
|
||||||
vertexData.resize(m_listVertices.size());
|
|
||||||
std::copy(m_listVertices.begin(), m_listVertices.end(), vertexData.begin());
|
|
||||||
|
|
||||||
/*LogManager::getSingleton().logMessage("----------Vertex Data----------");
|
|
||||||
for(std::vector<SurfaceVertex>::iterator vertexIter = vertexData.begin(); vertexIter != vertexData.end(); ++vertexIter)
|
|
||||||
{
|
|
||||||
LogManager::getSingleton().logMessage(StringConverter::toString(vertexIter->getPosition().x) + "," + StringConverter::toString(vertexIter->getPosition().y) + "," + StringConverter::toString(vertexIter->getPosition().z));
|
|
||||||
}
|
|
||||||
LogManager::getSingleton().logMessage("----------End Vertex Data----------");*/
|
|
||||||
|
|
||||||
for(SurfaceTriangleIterator iterTriangles = m_listTriangles.begin(); iterTriangles != m_listTriangles.end(); ++iterTriangles)
|
|
||||||
{
|
|
||||||
//LogManager::getSingleton().logMessage("Begin Triangle:");
|
|
||||||
std::vector<SurfaceVertex>::iterator iterVertex;
|
|
||||||
SurfaceEdgeIterator edgeIter;
|
|
||||||
|
|
||||||
edgeIter = iterTriangles->getEdge();
|
|
||||||
//LogManager::getSingleton().logMessage("Edge Target " + StringConverter::toString(edgeIter->target->position.x) + "," + StringConverter::toString(edgeIter->target->position.y) + "," + StringConverter::toString(edgeIter->target->position.z));
|
|
||||||
iterVertex = find(vertexData.begin(), vertexData.end(), *(edgeIter->getTarget()));
|
|
||||||
//LogManager::getSingleton().logMessage("");
|
|
||||||
//LogManager::getSingleton().logMessage(" " + StringConverter::toString(iterVertex->getPosition().x) + "," + StringConverter::toString(iterVertex->getPosition().y) + "," + StringConverter::toString(iterVertex->getPosition().z));
|
|
||||||
indexData.push_back(iterVertex - vertexData.begin());
|
|
||||||
|
|
||||||
edgeIter = edgeIter->getNextHalfEdge();
|
|
||||||
iterVertex = find(vertexData.begin(), vertexData.end(), *(edgeIter->getTarget()));
|
|
||||||
//LogManager::getSingleton().logMessage(" " + StringConverter::toString(iterVertex->getPosition().x) + "," + StringConverter::toString(iterVertex->getPosition().y) + "," + StringConverter::toString(iterVertex->getPosition().z));
|
|
||||||
indexData.push_back(iterVertex - vertexData.begin());
|
|
||||||
|
|
||||||
edgeIter = edgeIter->getNextHalfEdge();
|
|
||||||
iterVertex = find(vertexData.begin(), vertexData.end(), *(edgeIter->getTarget()));
|
|
||||||
//LogManager::getSingleton().logMessage(" " + StringConverter::toString(iterVertex->getPosition().x) + "," + StringConverter::toString(iterVertex->getPosition().y) + "," + StringConverter::toString(iterVertex->getPosition().z));
|
|
||||||
indexData.push_back(iterVertex - vertexData.begin());
|
|
||||||
|
|
||||||
//LogManager::getSingleton().logMessage("End Triangle");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool SurfacePatch::canRemoveVertexFrom(SurfaceVertexIterator vertexIter, std::list<SurfaceVertexIterator> listConnectedIter, bool isEdge)
|
bool SurfacePatch::canRemoveVertexFrom(SurfaceVertexIterator vertexIter, std::list<SurfaceVertexIterator> listConnectedIter, bool isEdge)
|
||||||
{
|
{
|
||||||
bool allXMatch = true;
|
bool allXMatch = true;
|
||||||
|
@ -1,15 +1,18 @@
|
|||||||
#include "SurfacePatchRenderable.h"
|
#include "SurfacePatchRenderable.h"
|
||||||
|
|
||||||
|
#include "SurfaceEdge.h"
|
||||||
#include "OgreVertexIndexData.h"
|
#include "OgreVertexIndexData.h"
|
||||||
|
|
||||||
namespace Ogre
|
namespace Ogre
|
||||||
{
|
{
|
||||||
SurfacePatchRenderable::SurfacePatchRenderable(const String& material)
|
SurfacePatchRenderable::SurfacePatchRenderable(SurfacePatch& patchToRender, const String& material)
|
||||||
{
|
{
|
||||||
mRenderOp.vertexData = new VertexData();
|
mRenderOp.vertexData = new VertexData();
|
||||||
mRenderOp.indexData = new IndexData();
|
mRenderOp.indexData = new IndexData();
|
||||||
|
|
||||||
this->setMaterial(material);
|
this->setMaterial(material);
|
||||||
|
|
||||||
|
setGeometry(patchToRender);
|
||||||
}
|
}
|
||||||
|
|
||||||
SurfacePatchRenderable::~SurfacePatchRenderable(void)
|
SurfacePatchRenderable::~SurfacePatchRenderable(void)
|
||||||
@ -18,17 +21,23 @@ namespace Ogre
|
|||||||
delete mRenderOp.indexData;
|
delete mRenderOp.indexData;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SurfacePatchRenderable::setGeometry(std::vector<SurfaceVertex> verticesToSet, std::vector<uint> indicesToSet)
|
void SurfacePatchRenderable::updateWithNewSurfacePatch(SurfacePatch& patchToRender)
|
||||||
|
{
|
||||||
|
setGeometry(patchToRender);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SurfacePatchRenderable::setGeometry(SurfacePatch& patchToRender)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
//LogManager::getSingleton().logMessage("In setGeometry()");
|
//LogManager::getSingleton().logMessage("In setGeometry()");
|
||||||
// Initialization stuff
|
//Initialization stuff
|
||||||
mRenderOp.vertexData->vertexCount = verticesToSet.size();
|
mRenderOp.vertexData->vertexCount = patchToRender.getNoOfVertices();
|
||||||
mRenderOp.vertexData->vertexStart = 0;
|
mRenderOp.vertexData->vertexStart = 0;
|
||||||
mRenderOp.operationType = RenderOperation::OT_TRIANGLE_LIST; // OT_LINE_LIST, OT_LINE_STRIP
|
mRenderOp.operationType = RenderOperation::OT_TRIANGLE_LIST; // OT_LINE_LIST, OT_LINE_STRIP
|
||||||
mRenderOp.useIndexes = true;
|
mRenderOp.useIndexes = true;
|
||||||
mRenderOp.indexData->indexStart = 0;
|
mRenderOp.indexData->indexStart = 0;
|
||||||
mRenderOp.indexData->indexCount = indicesToSet.size();
|
mRenderOp.indexData->indexCount = patchToRender.getNoOfTriangles() * 3;
|
||||||
|
|
||||||
//LogManager::getSingleton().logMessage("Finished initialisaing stuff");
|
//LogManager::getSingleton().logMessage("Finished initialisaing stuff");
|
||||||
|
|
||||||
@ -61,47 +70,47 @@ namespace Ogre
|
|||||||
|
|
||||||
mRenderOp.indexData->indexBuffer = ibuf;
|
mRenderOp.indexData->indexBuffer = ibuf;
|
||||||
|
|
||||||
|
|
||||||
// Drawing stuff
|
// Drawing stuff
|
||||||
int size = verticesToSet.size();
|
//int size = verticesToSet.size();
|
||||||
Vector3 vaabMin;
|
Vector3 vaabMin;
|
||||||
Vector3 vaabMax;
|
Vector3 vaabMax;
|
||||||
vaabMin.x = verticesToSet[0].getPosition().x/2.0f;
|
vaabMin.x = patchToRender.getVerticesBegin()->getPosition().x/2.0f;
|
||||||
vaabMin.y = verticesToSet[0].getPosition().y/2.0f;
|
vaabMin.y = patchToRender.getVerticesBegin()->getPosition().y/2.0f;
|
||||||
vaabMin.z = verticesToSet[0].getPosition().z/2.0f;
|
vaabMin.z = patchToRender.getVerticesBegin()->getPosition().z/2.0f;
|
||||||
vaabMax.x = verticesToSet[0].getPosition().x/2.0f;
|
vaabMax.x = patchToRender.getVerticesBegin()->getPosition().x/2.0f;
|
||||||
vaabMax.y = verticesToSet[0].getPosition().y/2.0f;
|
vaabMax.y = patchToRender.getVerticesBegin()->getPosition().y/2.0f;
|
||||||
vaabMax.z = verticesToSet[0].getPosition().z/2.0f;
|
vaabMax.z = patchToRender.getVerticesBegin()->getPosition().z/2.0f;
|
||||||
|
|
||||||
//LogManager::getSingleton().logMessage("Setting Vertex Data of size " + StringConverter::toString(size));
|
//LogManager::getSingleton().logMessage("Setting Vertex Data of size " + StringConverter::toString(size));
|
||||||
|
|
||||||
Real *prPos = static_cast<Real*>(vbuf->lock(HardwareBuffer::HBL_DISCARD));
|
Real *prPos = static_cast<Real*>(vbuf->lock(HardwareBuffer::HBL_DISCARD));
|
||||||
|
|
||||||
for(int i = 0; i < size; i++)
|
//for(int i = 0; i < size; i++)
|
||||||
|
for(SurfaceVertexConstIterator vertexIter = patchToRender.getVerticesBegin(); vertexIter != patchToRender.getVerticesEnd(); ++vertexIter)
|
||||||
{
|
{
|
||||||
*prPos++ = verticesToSet[i].getPosition().x/2.0f;
|
*prPos++ = vertexIter->getPosition().x/2.0f;
|
||||||
*prPos++ = verticesToSet[i].getPosition().y/2.0f;
|
*prPos++ = vertexIter->getPosition().y/2.0f;
|
||||||
*prPos++ = verticesToSet[i].getPosition().z/2.0f;
|
*prPos++ = vertexIter->getPosition().z/2.0f;
|
||||||
|
|
||||||
*prPos++ = verticesToSet[i].getNormal().x;
|
*prPos++ = vertexIter->getNormal().x;
|
||||||
*prPos++ = verticesToSet[i].getNormal().y;
|
*prPos++ = vertexIter->getNormal().y;
|
||||||
*prPos++ = verticesToSet[i].getNormal().z;
|
*prPos++ = vertexIter->getNormal().z;
|
||||||
|
|
||||||
*prPos++ = verticesToSet[i].getAlpha();
|
*prPos++ = vertexIter->getAlpha();
|
||||||
|
|
||||||
if(verticesToSet[i].getPosition().x < vaabMin.x)
|
if(vertexIter->getPosition().x < vaabMin.x)
|
||||||
vaabMin.x = verticesToSet[i].getPosition().x;
|
vaabMin.x = vertexIter->getPosition().x;
|
||||||
if(verticesToSet[i].getPosition().y < vaabMin.y)
|
if(vertexIter->getPosition().y < vaabMin.y)
|
||||||
vaabMin.y = verticesToSet[i].getPosition().y;
|
vaabMin.y = vertexIter->getPosition().y;
|
||||||
if(verticesToSet[i].getPosition().z < vaabMin.z)
|
if(vertexIter->getPosition().z < vaabMin.z)
|
||||||
vaabMin.z = verticesToSet[i].getPosition().z;
|
vaabMin.z = vertexIter->getPosition().z;
|
||||||
|
|
||||||
if(verticesToSet[i].getPosition().x > vaabMax.x)
|
if(vertexIter->getPosition().x > vaabMax.x)
|
||||||
vaabMax.x = verticesToSet[i].getPosition().x;
|
vaabMax.x = vertexIter->getPosition().x;
|
||||||
if(verticesToSet[i].getPosition().y > vaabMax.y)
|
if(vertexIter->getPosition().y > vaabMax.y)
|
||||||
vaabMax.y = verticesToSet[i].getPosition().y;
|
vaabMax.y = vertexIter->getPosition().y;
|
||||||
if(verticesToSet[i].getPosition().z > vaabMax.z)
|
if(vertexIter->getPosition().z > vaabMax.z)
|
||||||
vaabMax.z = verticesToSet[i].getPosition().z;
|
vaabMax.z = vertexIter->getPosition().z;
|
||||||
}
|
}
|
||||||
|
|
||||||
vbuf->unlock();
|
vbuf->unlock();
|
||||||
@ -111,15 +120,44 @@ namespace Ogre
|
|||||||
|
|
||||||
mBox.setExtents(vaabMin, vaabMax);
|
mBox.setExtents(vaabMin, vaabMax);
|
||||||
|
|
||||||
|
/*std::vector<SurfaceVertex> verticesToSet;
|
||||||
|
std::vector<uint> indicesToSet;
|
||||||
|
patchToRender.getVertexAndIndexData(verticesToSet, indicesToSet);*/
|
||||||
|
|
||||||
unsigned short* pIdx = static_cast<unsigned short*>(ibuf->lock(HardwareBuffer::HBL_DISCARD));
|
unsigned short* pIdx = static_cast<unsigned short*>(ibuf->lock(HardwareBuffer::HBL_DISCARD));
|
||||||
for(int i = 0; i < indicesToSet.size(); i++)
|
/*for(int i = 0; i < indicesToSet.size(); i++)
|
||||||
{
|
{
|
||||||
*pIdx = indicesToSet[i];
|
*pIdx = indicesToSet[i];
|
||||||
|
LogManager::getSingleton().logMessage("Correct pIdx = " + StringConverter::toString(*pIdx));
|
||||||
pIdx++;
|
pIdx++;
|
||||||
/**pIdx = indicesToSet[i].v1;
|
}*/
|
||||||
|
|
||||||
|
std::vector<SurfaceVertex> vertexData;
|
||||||
|
vertexData.resize(patchToRender.getNoOfVertices());
|
||||||
|
std::copy(patchToRender.getVerticesBegin(), patchToRender.getVerticesEnd(), vertexData.begin());
|
||||||
|
|
||||||
|
for(SurfaceTriangleConstIterator iterTriangles = patchToRender.getTrianglesBegin(); iterTriangles != patchToRender.getTrianglesEnd(); ++iterTriangles)
|
||||||
|
{
|
||||||
|
std::vector<SurfaceVertex>::iterator iterVertex;
|
||||||
|
SurfaceEdgeIterator edgeIter;
|
||||||
|
|
||||||
|
edgeIter = iterTriangles->getEdge();
|
||||||
|
iterVertex = find(vertexData.begin(), vertexData.end(), *(edgeIter->getTarget()));
|
||||||
|
*pIdx = (iterVertex - vertexData.begin());
|
||||||
|
//LogManager::getSingleton().logMessage("Wrong pIdx = " + StringConverter::toString(*pIdx));
|
||||||
|
pIdx++;
|
||||||
|
|
||||||
|
edgeIter = edgeIter->getNextHalfEdge();
|
||||||
|
iterVertex = find(vertexData.begin(), vertexData.end(), *(edgeIter->getTarget()));
|
||||||
|
*pIdx = (iterVertex - vertexData.begin());
|
||||||
|
//LogManager::getSingleton().logMessage("Wrong pIdx = " + StringConverter::toString(*pIdx));
|
||||||
|
pIdx++;
|
||||||
|
|
||||||
|
edgeIter = edgeIter->getNextHalfEdge();
|
||||||
|
iterVertex = find(vertexData.begin(), vertexData.end(), *(edgeIter->getTarget()));
|
||||||
|
*pIdx = (iterVertex - vertexData.begin());
|
||||||
|
//LogManager::getSingleton().logMessage("Wrong pIdx = " + StringConverter::toString(*pIdx));
|
||||||
pIdx++;
|
pIdx++;
|
||||||
*pIdx = indicesToSet[i].v2;
|
|
||||||
pIdx++;*/
|
|
||||||
}
|
}
|
||||||
ibuf->unlock();
|
ibuf->unlock();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user