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
idFixedWinding Class Reference

#include <Winding.h>

Inheritance diagram for idFixedWinding:
idWinding

Public Member Functions

 idFixedWinding (void)
 
 idFixedWinding (const int n)
 
 idFixedWinding (const idVec3 *verts, const int n)
 
 idFixedWinding (const idVec3 &normal, const float dist)
 
 idFixedWinding (const idPlane &plane)
 
 idFixedWinding (const idWinding &winding)
 
 idFixedWinding (const idFixedWinding &winding)
 
virtual ~idFixedWinding (void)
 
idFixedWindingoperator= (const idWinding &winding)
 
virtual void Clear (void)
 
int Split (idFixedWinding *back, const idPlane &plane, const float epsilon=ON_EPSILON)
 
- Public Member Functions inherited from idWinding
 idWinding (void)
 
 idWinding (const int n)
 
 idWinding (const idVec3 *verts, const int n)
 
 idWinding (const idVec3 &normal, const float dist)
 
 idWinding (const idPlane &plane)
 
 idWinding (const idWinding &winding)
 
virtual ~idWinding (void)
 
idWindingoperator= (const idWinding &winding)
 
const idVec5operator[] (const int index) const
 
idVec5operator[] (const int index)
 
idWindingoperator+= (const idVec3 &v)
 
idWindingoperator+= (const idVec5 &v)
 
void AddPoint (const idVec3 &v)
 
void AddPoint (const idVec5 &v)
 
int GetNumPoints (void) const
 
void SetNumPoints (int n)
 
void BaseForPlane (const idVec3 &normal, const float dist)
 
void BaseForPlane (const idPlane &plane)
 
int Split (const idPlane &plane, const float epsilon, idWinding **front, idWinding **back) const
 
idWindingClip (const idPlane &plane, const float epsilon=ON_EPSILON, const bool keepOn=false)
 
bool ClipInPlace (const idPlane &plane, const float epsilon=ON_EPSILON, const bool keepOn=false)
 
idWindingCopy (void) const
 
idWindingReverse (void) const
 
void ReverseSelf (void)
 
void RemoveEqualPoints (const float epsilon=ON_EPSILON)
 
void RemoveColinearPoints (const idVec3 &normal, const float epsilon=ON_EPSILON)
 
void RemovePoint (int point)
 
void InsertPoint (const idVec3 &point, int spot)
 
bool InsertPointIfOnEdge (const idVec3 &point, const idPlane &plane, const float epsilon=ON_EPSILON)
 
void AddToConvexHull (const idWinding *winding, const idVec3 &normal, const float epsilon=ON_EPSILON)
 
void AddToConvexHull (const idVec3 &point, const idVec3 &normal, const float epsilon=ON_EPSILON)
 
idWindingTryMerge (const idWinding &w, const idVec3 &normal, int keep=false) const
 
bool Check (bool print=true) const
 
float GetArea (void) const
 
idVec3 GetCenter (void) const
 
float GetRadius (const idVec3 &center) const
 
void GetPlane (idVec3 &normal, float &dist) const
 
void GetPlane (idPlane &plane) const
 
void GetBounds (idBounds &bounds) const
 
bool IsTiny (void) const
 
bool IsHuge (void) const
 
void Print (void) const
 
float PlaneDistance (const idPlane &plane) const
 
int PlaneSide (const idPlane &plane, const float epsilon=ON_EPSILON) const
 
bool PlanesConcave (const idWinding &w2, const idVec3 &normal1, const idVec3 &normal2, float dist1, float dist2) const
 
bool PointInside (const idVec3 &normal, const idVec3 &point, const float epsilon) const
 
bool LineIntersection (const idPlane &windingPlane, const idVec3 &start, const idVec3 &end, bool backFaceCull=false) const
 
bool RayIntersection (const idPlane &windingPlane, const idVec3 &start, const idVec3 &dir, float &scale, bool backFaceCull=false) const
 

Protected Member Functions

virtual bool ReAllocate (int n, bool keep=false)
 
- Protected Member Functions inherited from idWinding
bool EnsureAlloced (int n, bool keep=false)
 

Protected Attributes

idVec5 data [MAX_POINTS_ON_WINDING]
 
- Protected Attributes inherited from idWinding
int numPoints
 
idVec5p
 
int allocedSize
 

Additional Inherited Members

- Static Public Member Functions inherited from idWinding
static float TriangleArea (const idVec3 &a, const idVec3 &b, const idVec3 &c)
 

Detailed Description

Definition at line 281 of file Winding.h.

Constructor & Destructor Documentation

ID_INLINE idFixedWinding::idFixedWinding ( void  )

Definition at line 307 of file Winding.h.

ID_INLINE idFixedWinding::idFixedWinding ( const int  n)
explicit

Definition at line 313 of file Winding.h.

ID_INLINE idFixedWinding::idFixedWinding ( const idVec3 verts,
const int  n 
)
explicit

Definition at line 319 of file Winding.h.

ID_INLINE idFixedWinding::idFixedWinding ( const idVec3 normal,
const float  dist 
)
explicit

Definition at line 336 of file Winding.h.

ID_INLINE idFixedWinding::idFixedWinding ( const idPlane plane)
explicit

Definition at line 343 of file Winding.h.

ID_INLINE idFixedWinding::idFixedWinding ( const idWinding winding)
explicit

Definition at line 350 of file Winding.h.

ID_INLINE idFixedWinding::idFixedWinding ( const idFixedWinding winding)
explicit

Definition at line 365 of file Winding.h.

ID_INLINE idFixedWinding::~idFixedWinding ( void  )
virtual

Definition at line 380 of file Winding.h.

Member Function Documentation

ID_INLINE void idFixedWinding::Clear ( void  )
virtual

Reimplemented from idWinding.

Definition at line 398 of file Winding.h.

ID_INLINE idFixedWinding & idFixedWinding::operator= ( const idWinding winding)

Definition at line 384 of file Winding.h.

bool idFixedWinding::ReAllocate ( int  n,
bool  keep = false 
)
protectedvirtual

Reimplemented from idWinding.

Definition at line 1468 of file Winding.cpp.

int idFixedWinding::Split ( idFixedWinding back,
const idPlane plane,
const float  epsilon = ON_EPSILON 
)

Definition at line 1484 of file Winding.cpp.

Member Data Documentation

idVec5 idFixedWinding::data[MAX_POINTS_ON_WINDING]
protected

Definition at line 302 of file Winding.h.


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