Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
netlib::address_tHolds the IP address and port of a remote host
aesop::admin_conv_data_tUsed to create a conversation for server admins
AdvisoryLockAdvisory locking object WARNING: has no effect in Windows
aesop::AESOPIdSizer
aesop::AESOPTagSizer
AlphanumericValidatorValidator that allows alphanumerics only
glut::anim_channel_state_tAn object can have many animations going at once
glut::AnimationStateSimple class of fixed size to maintain per-object animation state
aesop::ApplicationThe Application object manages all local terminals (user input/output sessions) as well as communications with the server, and state management for the local host and users
AutoStringRegister
dialog::border_size_t
quake::BspThe 3D space-partitioned map
quake::BspVersionBsp version object
glut::camera_tCamera_t : basic physical properties of a camera
circular_buffer_t< T >Simple circular buffer
aesop::ClientClass that manages local client/player state with the server
aesop::ClientGameLogicThis interface is used by the application to delegate decisions and routing to game-specific logic
aesop::ClientGameLogicHost
aesop::ClientHostUsers of the client library must supply an object that implements this interface
col_data_t
aesop::PhysicsWorld::collision_iterator_t
aesop::PhysicsWorld::collision_record_t
quake::color_tColor struct TODO: centralize this somewhere? now redundant with glut::color_t
pgmppm::color_t
objtree::color_t
CommandLineCommand Line object
CommonFileValidatorValidator that allows a subset of characters thought to be useful in filepaths
aesop::ComponentDataBase class that components can use to provide rich implementations
netlib::connection_info_t
dialog::ContainerRequestObject to help construct dialog request streams
bezier::control_points_tBezier curve specified by control points
converse::ConversationHostAnyone that wants to start a conversation must supply one of these
converse::ConversationManagerObject that manages conversations on the server This object must be threadsafe!
converse::ConversationRouterObject that knows how to route conversation dialogs
counter_refPut one of these on the stack to automatically increment/decrement a counter
bezier::curve_tParamaterized bezier curve
graph::DAGDirected Acyclic Graph
hash_db::DatabaseHash_db::Database
DatahashBasic datahash object
DataManager< T, C >
DataManagerException
perf::DebugTimer
DefaultSize
glut::DemoHostYou'll need to provide a class that inherits from DemoHost
crypto::DESKeyFast symmetric encryption
aesop::destination_tDestination describes a location to which players can be safely moved
glut::DisplayLineSingle (small) status line to overlay in the demo
distribution_t< T >Basic distribution template
dialog::DrawerThis is the object that is capable of rendering dialogs
vgfx::DrawerClients must implement this if they want to draw
kdtree::Node::dynamic_entry_t
dialog::Element
quake::entity_tGame entity in the bsp map
kdtree::EntryBase class for kd-tree entries. Clients can inherit from this
nstream::EntryGeneric entry in the namespace. This is either a Folder or File
kdtree::Node::entry_rec_t
netlib::envelope_tAn envelope describes from where and how a remote message arrived
aesop::event_tA general events event. Typicaly this is a button press or release
quake::face_tPolygon face in the bsp map
dialog::FactoryClients will need to provide an object that implements this interface if they want to provide their own custom-defined dialog::Element objects
glut::fcolor_tBase floating point color object
nstream::FileAtom in the namespace: a File is a named object from which you can request read-only streams
bezier::fit_t
FixedBuffer< Sizer, Validator >Template that supports strings of a fixed buffer size
nstream::FolderFolder in the namespace: contains other stream::Entry objects
glut::FontBasic font class
glut::font_rect_tFont sizing information
dialog::font_size_tSizing information about how a font is rendered
objtree::font_t
glut::FontEffectGeneral base class for font effect objects
glut::FontManagerFont manager
glut::fps_tFps_t : handy object for frames-per-second calculations
glut::FramebufferFramebuffer of fixed size for offscreen rendering
glut::FramebufferContextSimple helper class--put this on the stack and it will automatically call Framebuffer::setupForRendering() and Framebuffer::endRendering() for you
free_list_t< T >Simple free list manager
frustum_tBasic frustum object
glut_color_tColors used for GLUT (OpenGL utility library). 0-127 max component values
gzstreambase
gzstreambuf
aesop::handler_state_tHandler function and state
hash_value_t
hfield::HeightfieldA logical heightfield
vgfx::hit_result_tHit_result_t -- returned from hit detection
dialog::HostClients will need to provide an object that implements this interface if they want callbacks etc
view::HostIf you are creating viewports, you'll need an object that supports this interface to handle the per-viewport callbacks for display
glut::HostIf a client wants to use this library's glut helper entry point, it needs to supply an object that supports this interface
aesop::host_rec_tSingle struct that contains all (exposed) remote host state
aesop::HostManagerObject that helps the server manage host connections
igzstreamInput stream for reading from gzip'd data
Image
media::image_tThis is a basic image object
ImageBuffer
ImageException
ImageFactory
ImageJPEG
media::ImageLoaderAnyone wanting to support loading an image type must provide this interface
ImageTGA
img_color_tStandard 4-byte color value for images. Byte ranges 0-255
vgfx::init_bezier_t
vgfx::init_dxdy_t
vgfx::init_line_t
vgfx::init_point_t
vgfx::init_primitive_t
vgfx::init_quad_t
vgfx::init_rect_t
vgfx::init_text_t
xdrbuf::InputClass for reading data from the network
aesop::InstanceA concrete instantiation of an object at a given place
netlib::ip_addr_tRepresentation of IP address (abstracts IPv4 and IPv6)
threadsafe_map< K, T >::iterator_t
threadsafe_multimap< K, T >::iterator_t
threadsafe_queue< T >::iterator_t
StringBuffer::iterator_t
aesop::HostManager::iterator_t
aesop::PlayerManager::iterator_t
aesop::MapManager::iterator_t
aesop::kd_node_t
layout::layout_info_t
quake::leaf_tLeaf in the BSP tree
quake::leafface_tLeaf face in the BSP tree
aesop::LeafZoneA leaf zone is a special kind of Zone
objtree::ListHow you interact with this object is the key to the objtree library
i18n::locale_tSimple struct for managing a locale specification
glut::lod_entry_tLevel-of-detail entry. contains a model and distance information
glut::lod_model_tLevel-of-detail model. Contains multiple level-of-detail entries (models)
quake::lump_object_tObject in a lump
dialog::ManagerThis is the object that manages dialogs
i18n::Manager
view::ManagerThis object will let you create/destroy viewports as needed
nstream::ManagerObject that manages a particular space of named streams
map
aesop::MapThis is the base object used to describe an AESOP map
aesop::map_draw_stats_t
aesop::MapDynamicsCreate one of these to handle dynamics (physics etc.) for a given Map
aesop::MapFormatReaderMapFormatReader: these have to be implemented elsewhere, and then registered with the MapLoader below
aesop::MapKdTreeTop-level object that manages the full kd-tree
aesop::MapManagerObject that helps the server (and rules engine) manage loaded maps, including the dynamics
glut::MaterialA Material is anything that needs to be set up prior to drawing, and possibly requiring some cleanup afterwards
glut::material_tMaterial (used for rendering polygons)
glut::MaterialContextHelper class: put one of these on the stack, and it will make sure that prepare() and cleanup() are called
glut::MaterialRegistryClients of the parsing APIs must implement this interface themselves
matrix4_t4x4 matrix object
Matrix4x4< Real >
glut::MaxAnimations
Md3Player::Md3AnimState
Md3AnimState_t
Md3Exception
Md3Frame_t
Md3Header_t
Md3Mesh
Md3MeshHeader_t
Md3Model
Md3Player
Md3PlayerAnim_t
Md3PlayerSkin
Md3Model::Md3QuaternionTag
Md3Shader_t
Md3Tag_t
Md3TexCoord_t
Md3Triangle_t
Md3Vertex_t
Md3Weapon
quake::meshvert_tMesh vertex
netlib::MessageBuffer
aesop::MessageRouterThe name may be a misnomer
vgfx::meta_check_t
vgfx::MetaKeyValueChecker
mlockClass that automatically locks and unlocks pthread mutexes To use mlocks in code:

  • create a mutex (or smart_mutex) that will be locked
  • create an mlock object and pass the mutex in the constructor
  • on destruction, the mlock will automatically unlock the mutex
obj::Model
glut::model_tModel object
multimap
ImageJPEG::my_error_mgr
aesop::new_player_conv_data_tUsed to create a conversation for new players
kdtree::NodeRoot (and node!) of a kd-tree This class is expected to be used as the core object for rendering and other CPU-intensive tasks, so it therefore has no virtual methods
bvh::node_position_t
quake::node_tNode in the BSP tree Note that the indexing scheme is unusual:

  • A non-negative index refers to a node
  • A negative index is a leaf, -(leaf + 1)
vgfx::NodeCheckerNodeChecker -- base class that can be used for walk validation see the bottom of this file for some useful validators
NormalLookupTable
NullValidatorValidator that allows anything
aesop::PhysicsWorld::object_iterator_t
aesop::object_state_tThis is the full object state exposed by the Synchronizer
layout::object_t
aesop::ObjectContextThis is a base class for caller-specified context attached to PhysicsObjects
vgfx::ObjectMapObjectMap is a physical manifestation of a vector graphics 2D area
aesop::ObjectSyncManages synchronization of many objects, based on (client-specified) ID
ogzstreamOutput stream for writing gzip'd data
xdrbuf::OutputClass for writing data to the network
xdrbuf::PackletHeaderA PackletHeader describes a given packlet (what sort of data it is, and how much data is there)
aesop::physics_meta_tBasic information to create an instance of a shape (== object)
aesop::PhysicsObjectInstance of a shape (has position, velocity, etc)
aesop::PhysicsShapeShape is a 3D template which can be used to create instances of objects
aesop::PhysicsWorldCreate one of these to support physics simulations etc
placement_t
quake::plane_t2D plane in the BSP tree
kdtree::plane_tKdtree plane is always axis-aligned
plane_tBasic 2D plane in 3D space
aesop::player_rec_tSingle struct that contains all (exposed) player state
aesop::player_stats_tHandy for constructing player dialogs
aesop::PlayerManagerObject that helps the server manage players
point2d_t< T >Template for two-dimensional point
point3d_tBasic 3D point object
glut::poly_request_tStores information necessary to render a polygon later
glut::polygon_tPolygon object
threadpool::PoolBase threadpool object
vgfx::PrimitiveBase class from which all vector graphics objects inherit
prism_base_t< Size >Prism is a 3D object, basically a polygon in some plane with some extent in the plane normal direction
objtree::property_set_tSet of properties
objtree::property_tAbstraction of a general property of an object
vgfx::PushPopBrushHelper class to throw on the stack
bezier::quad_bezier_tQuadratic bezier curve
Quaternion< Real >
quaternion_t
timer::QueueThis is a queue to which Timer objects can be added
netrq::QueueBasic network request queue
threadsafe_map< K, T >::real_iter_t
threadsafe_multimap< K, T >::real_iter_t
threadsafe_queue< T >::real_iter_t
rect2d_t< T >Templated 2D rectangle
rect3d_tStandard 3D axis-aligned rectangle (also called axis-aligned bounding box, AABB)
glut::render_context_tRendering context
view::render_info_t
glut::RenderableRendering interface -- anything that wants to draw has to implement this interface!
glut::RenderQueueQueue of requests
vgfx::RequestUsed to easily construct vgfx Requests
netrq::RequestBase class from which clients can inherit
crypto::RSAKeyPrivate/public key pair
crypto::RSAPublicKeyPublic key suitable for encrypting
aesop::ServerRoot object that manages all aesop server state
aesop::server_info_tInformation about a remote server
aesop::ServerGameLogicThe server specifies the GameLogic interface
aesop::ServerObjectThis class maintains server-specific data for objects
bvh::SkeletonBasic class containing a skeleton and a single animation
smart_dirSmart directory handle
smart_fdSmart file descriptor -- only use this for low-level objects! You probably want to use nstream or iostreams instead
smart_mutexClass that automatically creates and destroys pthread mutexes
smart_ptr< T >Auto-destructing pointer class
audio3d::SoundManagerThis class manages all 3D sounds
glut::sphere_init_tData needed for cool spheres
stack_array< T, N >
glut::State
aesop::state_update_tThis is a subset of an object's total state
aesop::StateUpdatesState update callback interface
WARNING: all of these interfaces must be threadsafe!
story::StoryThis is the high-level story object
nstream::StreamInstance of a read-only stream
string_resource_t
StringBuffer
glut::TaskCreate one of these (you'll have to inherit) if you have openGL work you need to submit to requestTask()
aesop::tcp_payload_tA tcp_payload_t consists of a namespace, a command, and then a hash of arguments
aesop::TerminalClass that manages input + display for a particular player
aesop::TerminalHost
dialog::TextDrawerFor testing, we provide a text-only drawer
Texture
Texture2D
Texture2DManager
quake::texture_path_tTexture information
ImageTGA::TGA_Header
ThirtyTwoCharacterSizerExample sizer that allows strings of up to 31 characters (so the buffer itself is 32 characters)
threadsafe_counterSimple synchronized counter
threadsafe_map< K, T >Threadsafe map object
threadsafe_multimap< K, T >A very simple map object that is safe for multiple threads to use at the same time
threadsafe_queue< T >
threadsafe_refcount
perf::time_tYes, my own time_t for convenience in the perf library
perf::TimerTimer class -- just throw one of these on the stack with a unique name
timer::TimerBase class from which you can inherit and construct your own timers
objtree::TreeRoot object for discovering objects
trimesh::Trimesh
aesop::TypeComponentLoaderClients of this library need to provide component loaders for anything that they want loaded
aesop::UserManagerThis class is threadsafe! In general, these methods are unsafe to call from the main server execution thread, because they can take a long time (disk read/writes and other operations)
utf8_char_tUTF-8 character
Vector3< Real >
quake::vertex_tVertex information
glut::Viewer
vgfx::visit_result_tHit detection results
wave_exSmart exception object
wave_exception
xform_2d_t
aesop::ZoneAny 3D map defines an arbitrary 3D region of space