61 const int *
GetIndexes(
void )
const {
return indexes.Ptr(); }
85 bool IsPolytope(
const float epsilon = 0.1
f )
const;
120 assert( verts !=
NULL && indexes !=
NULL && numVerts > 0 && numIndexes > 0 );
121 this->verts.SetNum( numVerts );
122 memcpy( this->verts.Ptr(),
verts, numVerts *
sizeof( verts[0] ) );
123 this->indexes.SetNum( numIndexes );
124 memcpy( this->indexes.Ptr(),
indexes, numIndexes *
sizeof( indexes[0] ) );
215 verts[
i].xyz += translation;
227 verts[
i].normal *= rotation;
228 verts[
i].tangents[0] *= rotation;
229 verts[
i].tangents[1] *= rotation;
const int * GetIndexes(void) const
idList< idDrawVert > verts
assert(prefInfo.fullscreenBtn)
void RotateSelf(const idMat3 &rotation)
GLenum GLenum GLenum GLenum GLenum scale
void Swap(idList< type > &other)
const surfaceEdge_t * GetEdges(void) const
bool IsClosed(void) const
const idDrawVert * GetVertices(void) const
bool ClipInPlace(const idPlane &plane, const float epsilon=ON_EPSILON, const bool keepOn=false)
bool RayIntersection(const idVec3 &start, const idVec3 &dir, float &scale, bool backFaceCull=false) const
GLfloat GLfloat GLfloat v2
idList< int > edgeIndexes
int PlaneSide(const idPlane &plane, const float epsilon=ON_EPSILON) const
float PlaneDistance(const idPlane &plane) const
int Split(const idPlane &plane, const float epsilon, idSurface **front, idSurface **back, int *frontOnPlaneEdges=NULL, int *backOnPlaneEdges=NULL) const
void TranslateSelf(const idVec3 &translation)
idList< surfaceEdge_t > edges
idSurface & operator+=(const idSurface &surf)
struct surfaceEdge_s surfaceEdge_t
bool LineIntersection(const idVec3 &start, const idVec3 &end, bool backFaceCull=false) const
bool IsConnected(void) const
int Append(const type &obj)
void GenerateEdgeIndexes(void)
void SwapTriangles(idSurface &surf)
bool IsPolytope(const float epsilon=0.1f) const
const idDrawVert & operator[](const int index) const
int GetNumIndexes(void) const
const int * GetEdgeIndexes(void) const
int GetNumVertices(void) const
int FindEdge(int v1, int v2) const