doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
idSurface Class Reference

#include <Surface.h>

Inheritance diagram for idSurface:
idSurface_Patch idSurface_Polytope idSurface_SweptSpline idMapPatch

Public Member Functions

 idSurface (void)
 
 idSurface (const idSurface &surf)
 
 idSurface (const idDrawVert *verts, const int numVerts, const int *indexes, const int numIndexes)
 
 ~idSurface (void)
 
const idDrawVertoperator[] (const int index) const
 
idDrawVertoperator[] (const int index)
 
idSurfaceoperator+= (const idSurface &surf)
 
int GetNumIndexes (void) const
 
const intGetIndexes (void) const
 
int GetNumVertices (void) const
 
const idDrawVertGetVertices (void) const
 
const intGetEdgeIndexes (void) const
 
const surfaceEdge_tGetEdges (void) const
 
void Clear (void)
 
void SwapTriangles (idSurface &surf)
 
void TranslateSelf (const idVec3 &translation)
 
void RotateSelf (const idMat3 &rotation)
 
int Split (const idPlane &plane, const float epsilon, idSurface **front, idSurface **back, int *frontOnPlaneEdges=NULL, int *backOnPlaneEdges=NULL) const
 
bool ClipInPlace (const idPlane &plane, const float epsilon=ON_EPSILON, const bool keepOn=false)
 
bool IsConnected (void) const
 
bool IsClosed (void) const
 
bool IsPolytope (const float epsilon=0.1f) const
 
float PlaneDistance (const idPlane &plane) const
 
int PlaneSide (const idPlane &plane, const float epsilon=ON_EPSILON) const
 
bool LineIntersection (const idVec3 &start, const idVec3 &end, bool backFaceCull=false) const
 
bool RayIntersection (const idVec3 &start, const idVec3 &dir, float &scale, bool backFaceCull=false) const
 

Protected Member Functions

void GenerateEdgeIndexes (void)
 
int FindEdge (int v1, int v2) const
 

Protected Attributes

idList< idDrawVertverts
 
idList< intindexes
 
idList< surfaceEdge_tedges
 
idList< intedgeIndexes
 

Detailed Description

Definition at line 49 of file Surface.h.

Constructor & Destructor Documentation

ID_INLINE idSurface::idSurface ( void  )

Definition at line 111 of file Surface.h.

ID_INLINE idSurface::idSurface ( const idSurface surf)
explicit

Definition at line 133 of file Surface.h.

ID_INLINE idSurface::idSurface ( const idDrawVert verts,
const int  numVerts,
const int indexes,
const int  numIndexes 
)
explicit

Definition at line 119 of file Surface.h.

ID_INLINE idSurface::~idSurface ( void  )

Definition at line 145 of file Surface.h.

Member Function Documentation

ID_INLINE void idSurface::Clear ( void  )

Definition at line 189 of file Surface.h.

bool idSurface::ClipInPlace ( const idPlane plane,
const float  epsilon = ON_EPSILON,
const bool  keepOn = false 
)

Definition at line 370 of file Surface.cpp.

int idSurface::FindEdge ( int  v1,
int  v2 
) const
protected

Definition at line 909 of file Surface.cpp.

void idSurface::GenerateEdgeIndexes ( void  )
protected

Definition at line 841 of file Surface.cpp.

const int* idSurface::GetEdgeIndexes ( void  ) const
inline

Definition at line 64 of file Surface.h.

const surfaceEdge_t* idSurface::GetEdges ( void  ) const
inline

Definition at line 65 of file Surface.h.

const int* idSurface::GetIndexes ( void  ) const
inline

Definition at line 61 of file Surface.h.

int idSurface::GetNumIndexes ( void  ) const
inline

Definition at line 60 of file Surface.h.

int idSurface::GetNumVertices ( void  ) const
inline

Definition at line 62 of file Surface.h.

const idDrawVert* idSurface::GetVertices ( void  ) const
inline

Definition at line 63 of file Surface.h.

bool idSurface::IsClosed ( void  ) const

Definition at line 660 of file Surface.cpp.

bool idSurface::IsConnected ( void  ) const

Definition at line 602 of file Surface.cpp.

bool idSurface::IsPolytope ( const float  epsilon = 0.1f) const

Definition at line 674 of file Surface.cpp.

bool idSurface::LineIntersection ( const idVec3 start,
const idVec3 end,
bool  backFaceCull = false 
) const

Definition at line 773 of file Surface.cpp.

ID_INLINE idSurface & idSurface::operator+= ( const idSurface surf)

Definition at line 171 of file Surface.h.

ID_INLINE const idDrawVert & idSurface::operator[] ( const int  index) const

Definition at line 153 of file Surface.h.

ID_INLINE idDrawVert & idSurface::operator[] ( const int  index)

Definition at line 162 of file Surface.h.

float idSurface::PlaneDistance ( const idPlane plane) const

Definition at line 699 of file Surface.cpp.

int idSurface::PlaneSide ( const idPlane plane,
const float  epsilon = ON_EPSILON 
) const

Definition at line 734 of file Surface.cpp.

bool idSurface::RayIntersection ( const idVec3 start,
const idVec3 dir,
float scale,
bool  backFaceCull = false 
) const

Definition at line 785 of file Surface.cpp.

ID_INLINE void idSurface::RotateSelf ( const idMat3 rotation)

Definition at line 224 of file Surface.h.

int idSurface::Split ( const idPlane plane,
const float  epsilon,
idSurface **  front,
idSurface **  back,
int frontOnPlaneEdges = NULL,
int backOnPlaneEdges = NULL 
) const

Definition at line 52 of file Surface.cpp.

ID_INLINE void idSurface::SwapTriangles ( idSurface surf)

Definition at line 201 of file Surface.h.

ID_INLINE void idSurface::TranslateSelf ( const idVec3 translation)

Definition at line 213 of file Surface.h.

Member Data Documentation

idList<int> idSurface::edgeIndexes
protected

Definition at line 99 of file Surface.h.

idList<surfaceEdge_t> idSurface::edges
protected

Definition at line 98 of file Surface.h.

idList<int> idSurface::indexes
protected

Definition at line 97 of file Surface.h.

idList<idDrawVert> idSurface::verts
protected

Definition at line 96 of file Surface.h.


The documentation for this class was generated from the following files: