QuakeForge  0.7.2.210-815cf
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages

Functions

struct surface_sBuildSurfaces (void)
 Build the surface lists for the brushset. More...
 
struct surface_sCSGFaces (struct brushset_s *bs)
 Convert a brush-set to a list of clipped faces. More...
 
face_tNewFaceFromFace (const face_t *in)
 
struct visfacet_sNewFaceFromFace (const struct visfacet_s *in)
 Create a duplicate face. More...
 
void SplitFace (struct visfacet_s *in, struct plane_s *split, struct visfacet_s **front, struct visfacet_s **back)
 Split a face by a plane. More...
 

Variables

int brushfaces
 
int csgfaces
 
int csgmergefaces
 
face_tinside
 
face_toutside
 
struct visfacet_svalidfaces [MAX_MAP_PLANES]
 
face_tvalidfaces [MAX_MAP_PLANES]
 

Detailed Description

Function Documentation

surface_t * BuildSurfaces ( void  )

Build the surface lists for the brushset.

Each plane still with faces after clipping will have one surface, and each surface will list the faces on that plane.

Returns
Chain of all the external surfaces with one or more visible faces.
surface_t * CSGFaces ( struct brushset_s bs)

Convert a brush-set to a list of clipped faces.

The brushes of the brush set will be clipped against each other.

Parameters
bsThe brush-set to convert.
Returns
list of surfaces containing all of the faces
face_t* NewFaceFromFace ( const face_t in)
struct visfacet_s* NewFaceFromFace ( const struct visfacet_s in)

Create a duplicate face.

Duplicates the non point information of a face.

Parameters
inThe face to duplicate.
Returns
The new face.
void SplitFace ( struct visfacet_s in,
struct plane_s split,
struct visfacet_s **  front,
struct visfacet_s **  back 
)

Split a face by a plane.

Parameters
inThe face to split.
splitThe plane by which to split the face.
frontSet to the new face repesenting the part of the input face that is in front of the plane, or NULL if there is no front portion.
backSet to the new face repesenting the part of the input face that is behind the plane, or NULL if there is no back portion.
Note
A face entirely on the plane is considered to be behind the plane.
The face represented by in becomes invalid. If either front or back is NULL, then no split has occurred and the other will be set to in.

Variable Documentation

int brushfaces
int csgfaces
int csgmergefaces
face_t* inside
face_t * outside
struct visfacet_s* validfaces[MAX_MAP_PLANES]
face_t* validfaces[MAX_MAP_PLANES]