6 #pragma warning(disable:4786) 149 void Set(
int index,
const double *pos)
151 const double * p = &pos[index*3];
172 bool operator()(
int v1,
int v2)
const;
174 static void SetSearch(
const Type& match,VertexVector *list)
181 const Type&
Get(
int index)
const 183 if ( index == -1 )
return mFind;
184 VertexVector &vlist = *mList;
200 typename VertexSet::iterator found;
201 found = mVertSet.find( -1 );
202 if ( found != mVertSet.end() )
206 int idx = (int)mVtxs.size();
207 mVtxs.push_back( vtx );
208 mVertSet.insert( idx );
214 return mVtxs[idx].mPos;
217 const Type&
Get(
int idx)
const 231 mVtxs.reserve(reservesize);
238 mVtxs.push_back(vtx);
273 double dx = a[0]-b[0];
274 double dy = a[1]-b[1];
275 double dz = a[2]-b[2];
276 double d2 = (dx*dx)+(dy*dy)+(dz*dz);
280 if ( a[0] < b[0] ) ret =
RD_LESS;
282 else if ( a[1] < b[1] ) ret =
RD_LESS;
284 else if ( a[2] < b[2] ) ret =
RD_LESS;
300 if ( d ==
RD_LESS ) ret =
true;
unsigned int GetSize(void) const
double magnitude(const double3 &v)
static void SetSearch(const Type &match, VertexVector *list)
void Clear(int reservesize)
void Vl_releaseVertexLookup(VertexLookup vlook)
bool operator()(int v1, int v2) const
int GetVertex(const Type &vtx)
const double * Vl_getVertices(VertexLookup vlook)
unsigned int Vl_getIndex(VertexLookup vlook, const double *pos)
const Type & Get(int idx) const
VertexPosition(const double *p)
const Type & Get(int index) const
unsigned int GetVertexCount(void) const
void Set(int index, const double *pos)
const double * GetPos(int idx) const
VertexLookup Vl_createVertexLookup(void)
unsigned int Vl_getVcount(VertexLookup vlook)
static VertexVector * mList
void Set(const Type &vtx)
std::vector< Type > VertexVector
static RDIFF relativeDiff(const double *a, const double *b, double magnitude)
std::vector< Type > VertexVector
std::set< int, VertexLess< Type > > VertexSet
const VertexVector & GetVertexList(void) const