# Table of contents

## Classes

- CLights A uniform dynamic light
- csBeing csCollider is a generic class
- csBezier A specific curve implementation for Bezier curves
- csBezierTemplate A specific curve implementation for Bezier curve template
- csBox A bounding box in 2D space
- csBoxClipper The csBoxClipper class is able to clip convex polygons to a rectangle (such as the screen)
- csBspContainer A container for a bunch of BSP polygons
- csBspNode A BSP node
- csBspPolygon This class represents a polygon which can be inserted dynamically in a BSP tree
- csBspTree The BSP tree
- csCamera A camera positioned in the 3D world
- csCBuffer The CBuffer
- csCBufferLine A line in the CBuffer
- csClipper The csClipper class is an abstract parent to all 2D clipping objects
- csCollection A collection object is for conveniance of the script language
- csCollider
- csColliderPointerObject A csColliderPointerObject which contains a pointer to a Collider Object
- csColor A class used to represent a color in RGB space
- csCurve This is an abstract class for all curves in Crystal Space
- csCurveTemplate A curve template
- csCurveTesselated Tesselated curve
- csCurveTriangle Triangle resulting from a tesselated curve
- csCurveVertex Vertex resulting from a tesselated curve
- csDataObject A generic data object
- csDynLight Class for a dynamic light
- csEngineConfig Configurator object for the 3D engine
- csFogInfo Information for vertex based fog
- csFrame A frame for 3D sprite animation
- csFrustrum A frustrum
- csFrustrumList A list of frustrums
- csGouraudShaded Lighting class for gouraud shaded polygons
- csHaloInformation This is used to keep track of halo information.
- csIdFunc A static class with static member functions, for manipulating csIdType
- csIdType A class that represents the dynamic type of an object
- csIntersect2 Some functions to perform various intersection calculations with 2D line segments
- csIntersect3 Some functions to perform various intersection calculations with 3D line segments
- csLibrary A library is a collection of templates and other stuff
- csLight Superclass of all positional lights
- csLightHitsSprite A light-hits-sprite structure
- csLightMap The static and all dynamic lightmaps for one or more mipmap-levels of a polygon
- csLightMapped Texture class for lightmapped polygons
- csLightPatch A light patch
- csLightPatchPool This is an object pool which holds objects of type csLightPatch
- csLightView This structure represents all information needed for static lighting
- csLOD A static class which performs the calculation of the best order to do the collapsing
- csMath2 Various functions in 2D, such as 2D vector functions
- csMath3 Various assorted 3D mathematical functions
- csMatrix3 A 3x3 matrix
- csNameObject A csObject which contains a name
- csObject A generic csObject class
- csObjIterator An iterator for a node in a csObject tree
- csObjTree A tree of csObjects, used internally by the csObject class
- csObjVector csObjVector is a version of csVector which assumes its components are csBase heirs
- csOrthoTransform A class which defines a reversible transformation from one coordinate system to another by maintaining an inverse transformation matrix
- csPlane A plane in 3D space
- csPObject A csObject which maintains a reference to the parent csObject
- csPoly2D The following class represents a general 2D polygon with a bounding box
- csPoly2DFactory This factory is responsible for creating csPoly2D objects or subclasses of csPoly2D
- csPoly2DPool This is an object pool which holds objects of type csPolygon2D
- csPoly3D The following class represents a general 3D polygon
- csPolygon2D The following class represents a 2D polygon (the 2D coordinates are perspective corrected coordinates)
- csPolygon2DFactory Factory to create csPolygon2D objects
- csPolygon2DQueue A queue for polygon 2D objects to render at a later time
- csPolygon3D This is our main 3D polygon class
- csPolygonClipper The csPolygonClipper class can be used for clipping any convex polygon with any other polygon
- csPolygonInt This class indicates what methods a class should use in order to be a 'polygon'
- csPolygonParentInt The 'interface' class for the parent of a set of polygons
- csPolygonSet A PolygonSet class is a set of polygons (amazing, isn't it :-) A PolygonSet describes a set of polygons that form a convex and (probably) closed hull
- csPolygonTemplate A csPolygonTemplate is used by a ThingTemplate to describe a template for a polygon
- csPolygonTextureType Kind of texturing that is used for a 3D polygon
- csPolyIndexed The following class represents a general polygon
- csPolyPlane This class represents a texture plane
- csPolyTexture This class represents a lighted texture for a polygon
- csPortal This class represents a portal
- csProgressMeter The csProgressMeter class displays a simple percentage-style textual progress meter
- csProgressPulse The csProgressPulse class provides a simple twirling textual cursor built out of the characters '-', '\', '|', and '/'
- csRect Rectangle class: simple class for manipulating 2D rectangles
- csRegion A region describes a place where you can be :-) It is used as a superclass for csSectors and Landscape regions
- csRenderView This structure represents all information needed for drawing a scene
- csReversibleTransform A class which defines a reversible transformation from one coordinate system to another by maintaining an inverse transformation matrix
- csRGBLightMap A small class encapsulating an RGB lightmap
- csSector A sector is a convex hull of polygons
- csShadowFrustrum This class is a csFrustrum especially used for the lighting calculations
- csShadowMap This is a shadow-map for a pseudo-dynamic light
- csSkeleton The base skeleton class (or the 'body')
- csSkeletonConnection A connection
- csSkeletonConnectionState A connection (state version, see csSkeletonState for more information)
- csSkeletonLimb A limb in a skeletal system
- csSkeletonLimbState A limb in a skeletal system (state version, see csSkeletonState for more information)
- csSkeletonState Skeleton state
- csSprite2D This class is a abstraction for simple 2D sprites
- csSprite3D A 3D sprite based on a triangle mesh with a single texture
- csSpriteAction A Action frameset for a 3D sprite animation
- csSpriteTemplate A 3D sprite based on a triangle mesh with a single texture
- csSquaredDist Some functions to perform squared distance calculations
- csStatLight Class for a static light
- csTextureHandle csTextureHandle represents a texture and its link to the ITextureHandle as returned by ITextureManager
- csTextureList This class maintains all named textures and their corresponding handles
- csThing A Thing is a polygonset just like a csSector
- csThingTemplate This class represents a template for a Thing
- csTransform A class which defines a transformation from one coordinate system to another
- csTransformationManager The transformation manager is responsible for maintaining all vertex arrays of camera space coordinates for things, sectors,
- csTransformedSet Every entity that is interested in having a set of transformed camera vertices has to maintain an instance of this object
- csTriangleMesh A mesh of triangles
- csTriangleVertex The representation of a vertex in a triangle mesh
- csTriangleVertices A class which holds vertices and connectivity information for a triangle mesh
- csVector2 A 2D vector
- csVector3 A 3D vector
- csVector3Array This is actually the same class as csPoly3D
- csVertexArray An array of vertices
- csView The csView class encapsulates the top-level Crystal Space renderer interface
- csWfColor A color for an object in a WireFrame
- csWfLine Line in a WireFrame
- csWfObject Object in a WireFrame
- csWfPolygon A polygon in a WireFrame
- csWfVertex Vertex in a WireFrame
- csWireFrame A WireFrame is a set of lines, vertices and polygons in 3D
- csWireFrameCam A WireFrame associated with a camera
- csWorld The world! This class basicly represents the 3D engine
- csXRotMatrix3 An instance of csMatrix3 that is initialized as a rotation about X
- csYRotMatrix3 An instance of csMatrix3 that is initialized as a rotation about Y
- csZRotMatrix3 An instance of csMatrix3 that is initialized as a rotation about Z
- Dumper This class knows how to dump debug information about several other classes
- Stats Class containing statistics information for the renderer
- TextureTrans This is a static class which encapsulates a few functions that can transform texture information into a texture matrix/vector

## Functions, Macros

- (csBspVisitFunc) Visit a node in the BSP tree
- (csDrawFunc) A callback function for csWorld::DrawFunc().
- (csLightingFunc) A callback function for csLight::LightingFunc().
- (csSpriteCallback) A callback function for csSprite3D::Draw().
- (GetNumberOptions)
- (GetOption)
- (GetOptionDescription)
- (SetOption)
- PreparePolygonFX Prepare a filled in G3DPolygonDPFX structure for drawing via g3d->DrawPolygonFX

## Variables

- csTranCookie A cookie for the transformation manager

## Macros

- CALLBACK_POLYGON Flags for the callbacks called via csWorld::DrawFunc() or csLight::LightingFunc()
- CS_BOUNDINGBOX_MAXVALUE The maximum value that a coordinate in the bounding box can use
- CS_ENTITY_CONVEX If CS_ENTITY_CONVEX is set then this entity is convex (what did you expect :-) This means the 3D engine can do various optimizations
- CS_ENTITY_MOVEABLE If CS_ENTITY_MOVEABLE is set then this entity can move
- CS_LIGHT_HALO If CS_LIGHT_HALO is set for a light then the light generates an additional halo
- CS_LIGHT_THINGSHADOWS If CS_LIGHT_THINGSHADOWS is set for a light then things will also cast shadows
- CS_NLIGHT_DYNAMIC Flag for GetNearbyLights()
- CS_NLIGHT_NEARBYSECTORS Flag for GetNearbyLights()
- CS_NLIGHT_SHADOWS Flag for GetNearbyLights()
- CS_NLIGHT_STATIC Flag for GetNearbyLights()
- CS_POLY_FLATSHADING If CS_POLY_FLATSHADING is set for a polygon then the polygon will not be texture mapped but instead it will be flat shaded (possibly with gouraud)
- CS_POLY_LIGHTING If CS_POLY_LIGHTING is set for a polygon then the polygon will be lit
- CS_POLY_MIPMAP If CS_POLY_MIPMAP is set for a polygon then mipmapping will be used
- CSOBJTYPE Function declarations for a psuedoRTTI class
- CSOBJTYPE_IMPL The function implementations for a psuedoRTTI class
- DEFAULT_SUBTEX_SIZE The default sub-texture size.
- H_MARGIN Define a small (3 pixels) margin at the bottom and top of the texture
- type This defines the parameters for the particular light states

## Enums, Unions, Structs

- csCBufferSpan A simple span in a CBuffer line
- csFog Fog structure
- csPolygonLightInfo Structure containing lighting information valid for all types of polygons
- csPolygonSetBBox This structure keeps the indices of the vertices which define the bounding box of a csPolygonSet
- csTriangle A triangle

hierarchy of classes

this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de