PlacementType Class Reference

#include <PlacementType.h>

Inheritance diagram for PlacementType:

PlacementTypeBounds PlacementTypeCount PlacementTypeDirect PlacementTypeMask PlacementTypeTankStart PlacementTypeTree

List of all members.

Public Types

enum  Type {
  eMask, eCount, eTree,
  eDirect, eBounds, eTankStart
}

Public Member Functions

 PlacementType ()
virtual ~PlacementType ()
void createObjects (ScorchedContext &context, RandomGenerator &generator, unsigned int &playerId, ProgressCounter *counter=0)
virtual Type getType ()=0
virtual bool readXML (XMLNode *node)
virtual void getPositions (ScorchedContext &context, RandomGenerator &generator, std::list< Position > &returnPositions, ProgressCounter *counter=0)=0

Static Public Member Functions

static PlacementTypecreate (const char *type)

Protected Member Functions

bool checkCloseness (FixedVector &position, ScorchedContext &context, std::list< Position > &returnPositions, fixed mincloseness)

Protected Attributes

PlacementObjectplacementobject

Classes

struct  Position


Detailed Description

Definition at line 33 of file PlacementType.h.


Member Enumeration Documentation

enum PlacementType::Type

Enumerator:
eMask 
eCount 
eTree 
eDirect 
eBounds 
eTankStart 

Definition at line 36 of file PlacementType.h.


Constructor & Destructor Documentation

PlacementType::PlacementType (  ) 

Definition at line 48 of file PlacementType.cpp.

PlacementType::~PlacementType (  )  [virtual]

Definition at line 52 of file PlacementType.cpp.


Member Function Documentation

PlacementType * PlacementType::create ( const char *  type  )  [static]

Definition at line 36 of file PlacementType.cpp.

References S3D::dialogMessage(), S3D::formatStringBuffer(), and LangStringUtil::strcmp().

Referenced by LandscapeInclude::readXML().

void PlacementType::createObjects ( ScorchedContext context,
RandomGenerator generator,
unsigned int &  playerId,
ProgressCounter counter = 0 
)

Definition at line 67 of file PlacementType.cpp.

References PlacementObject::createObject(), getPositions(), and placementobject.

Referenced by GroundMaps::generateObject().

virtual Type PlacementType::getType (  )  [pure virtual]

Implemented in PlacementTypeBounds, PlacementTypeCount, PlacementTypeDirect, PlacementTypeMask, PlacementTypeTankStart, and PlacementTypeTree.

bool PlacementType::readXML ( XMLNode node  )  [virtual]

Reimplemented in PlacementTypeBounds, PlacementTypeCount, PlacementTypeDirect, PlacementTypeMask, PlacementTypeTankStart, and PlacementTypeTree.

Definition at line 56 of file PlacementType.cpp.

References PlacementObject::create(), XMLNode::failChildren(), XMLNode::getNamedChild(), XMLNode::getNamedParameter(), placementobject, and PlacementObject::readXML().

Referenced by PlacementTypeTree::readXML(), PlacementTypeTankStart::readXML(), PlacementTypeMask::readXML(), PlacementTypeDirect::readXML(), PlacementTypeCount::readXML(), PlacementTypeBounds::readXML(), and LandscapeInclude::readXML().

virtual void PlacementType::getPositions ( ScorchedContext context,
RandomGenerator generator,
std::list< Position > &  returnPositions,
ProgressCounter counter = 0 
) [pure virtual]

Referenced by createObjects().

bool PlacementType::checkCloseness ( FixedVector position,
ScorchedContext context,
std::list< Position > &  returnPositions,
fixed  mincloseness 
) [protected]

Definition at line 86 of file PlacementType.cpp.

References fixed::abs(), Target::getBorder(), Target::getLife(), ScorchedContext::getTargetContainer(), TargetLife::getTargetPosition(), TargetContainer::getTargets(), and Target::isTarget().

Referenced by PlacementTypeTree::getPositions(), PlacementTypeTankStart::getPositions(), and PlacementTypeMask::getPositions().


Member Data Documentation

PlacementObject* PlacementType::placementobject [protected]

Definition at line 69 of file PlacementType.h.

Referenced by createObjects(), and readXML().


The documentation for this class was generated from the following files:
Generated on Mon Feb 16 15:15:05 2009 for Scorched3D by  doxygen 1.5.3