Pyrogenesis  trunk
Classes | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
CObjectBase Class Reference

#include <ObjectBase.h>

Collaboration diagram for CObjectBase:
Collaboration graph
[legend]

Classes

struct  Anim
 
struct  Decal
 
struct  Prop
 
struct  Samp
 
struct  Variant
 
struct  Variation
 

Public Member Functions

 CObjectBase (CObjectManager &objectManager)
 
std::vector< u8CalculateVariationKey (const std::vector< std::set< CStr > > &selections)
 
const Variation BuildVariation (const std::vector< u8 > &variationKey)
 
std::set< CStr > CalculateRandomVariation (uint32_t seed, const std::set< CStr > &initialSelections)
 
std::set< CStr > CalculateRandomRemainingSelections (uint32_t seed, const std::vector< std::set< CStr > > &initialSelections)
 
std::vector< std::vector< CStr > > GetVariantGroups () const
 
bool Load (const VfsPath &pathname)
 Initialise this object by loading from the given file. More...
 
bool Reload ()
 Reload this object from the file that it was previously loaded from. More...
 
bool UsesFile (const VfsPath &pathname)
 Returns whether this object (including any possible props) uses the given file. More...
 

Public Attributes

VfsPath m_Pathname
 
CStrW m_ShortName
 
struct {
   bool   m_CastShadows
 
   bool   m_FloatOnWater
 
m_Properties
 
VfsPath m_Material
 

Private Types

typedef boost::mt19937 rng_t
 

Private Member Functions

 NONCOPYABLE (CObjectBase)
 
std::set< CStr > CalculateRandomRemainingSelections (rng_t &rng, const std::vector< std::set< CStr > > &initialSelections)
 
void LoadVariant (const CXeromyces &XeroFile, const XMBElement &variant, Variant &currentVariant)
 

Private Attributes

std::vector< std::vector< Variant > > m_VariantGroups
 
CObjectManagerm_ObjectManager
 
boost::unordered_set< VfsPathm_UsedFiles
 

Member Typedef Documentation

typedef boost::mt19937 CObjectBase::rng_t
private

Constructor & Destructor Documentation

CObjectBase::CObjectBase ( CObjectManager objectManager)

Member Function Documentation

const CObjectBase::Variation CObjectBase::BuildVariation ( const std::vector< u8 > &  variationKey)
std::set< CStr > CObjectBase::CalculateRandomRemainingSelections ( uint32_t  seed,
const std::vector< std::set< CStr > > &  initialSelections 
)
std::set< CStr > CObjectBase::CalculateRandomRemainingSelections ( rng_t rng,
const std::vector< std::set< CStr > > &  initialSelections 
)
private
std::set< CStr > CObjectBase::CalculateRandomVariation ( uint32_t  seed,
const std::set< CStr > &  initialSelections 
)
std::vector< u8 > CObjectBase::CalculateVariationKey ( const std::vector< std::set< CStr > > &  selections)
std::vector< std::vector< CStr > > CObjectBase::GetVariantGroups ( ) const
bool CObjectBase::Load ( const VfsPath pathname)

Initialise this object by loading from the given file.

Returns false on error.

void CObjectBase::LoadVariant ( const CXeromyces XeroFile,
const XMBElement variant,
Variant currentVariant 
)
private
CObjectBase::NONCOPYABLE ( CObjectBase  )
private
bool CObjectBase::Reload ( )

Reload this object from the file that it was previously loaded from.

Returns false on error.

bool CObjectBase::UsesFile ( const VfsPath pathname)

Returns whether this object (including any possible props) uses the given file.

(This is used for hotloading.)

Member Data Documentation

bool CObjectBase::m_CastShadows
bool CObjectBase::m_FloatOnWater
VfsPath CObjectBase::m_Material
CObjectManager& CObjectBase::m_ObjectManager
private
VfsPath CObjectBase::m_Pathname
struct { ... } CObjectBase::m_Properties
CStrW CObjectBase::m_ShortName
boost::unordered_set<VfsPath> CObjectBase::m_UsedFiles
private
std::vector< std::vector<Variant> > CObjectBase::m_VariantGroups
private

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