VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtEntityWheelManager Class Reference

The DtEntityWheelManager class is responsible for collecting art part ids related to wheels and then rotating those wheels based on the velocity of the entity The DtEntityWheelManager collects information in addModel which is then passed to DtEntityWheelUpdater.

Inheritance diagram for makVrv::DtEntityWheelManager:
Inheritance graph
[legend]

Public Member Functions

 DtEntityWheelManager (DtDe &de)
 
virtual ~DtEntityWheelManager ()
 
virtual void addModel (DtOsgArticulatedModel &model, DtUniqueID uniqueId, DtUniqueID elementId)
 
virtual void removeModel (DtOsgArticulatedModel &model)
 
virtual int numModels () const
 
virtual int wheelSetNum (const int sisoValue) const
 
virtual WheelInfo::WheelSide wheelSide (const int sisoValue) const
 
virtual bool hasWheels (const DtOsgArticulatedModel &model) const
 
virtual std::vector< intlistWheelParts (const DtOsgArticulatedModel &model)
 
virtual std::string toString (const int sisoValue) const
 
virtual bool isWheel (const int sisoValue) const
 
virtual double computeRadius (const int sisoValue, const DtArticulatedModelParser::PartMap &partIdToNode)
 
virtual double defaultWheelRadius () const
 
virtual void setDefaultWheelRadius (double wheelRadius)
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtEntityWheelManagerinstance (DtDe &de)
 
static void registerInstance (DtDe &de, DtEntityWheelManager *manager)
 
static const std::string & theClassName ()
 

Protected Member Functions

virtual void addWheels (DtOsgArticulatedModel &model)
 

Protected Attributes

DtDemyDe
 
double myDefaultWheelRadius
 
std::set< intmyWheelPartIds
 
osg::ComputeBoundsVisitor myComputerBoundsVisitor
 
DtEntityWheelUpdatermyWheelUpdater
 
std::unordered_map
< DtOsgArticulatedModel
*, DtEntityWheelData
myEntityToWheelDataMap
 
std::unordered_map
< DtOsgArticulatedModel
*, DtEntityWheelDataCommon
myEntityWheelFlipBookMap
 
std::unordered_map
< DtOsgArticulatedModel
*, DtEntityWheelDataCommon
myEntityWheelScrollableTextureMap
 

Private Member Functions

 DtEntityWheelManager ()
 
 DtEntityWheelManager (const DtEntityWheelManager &orig)
 
DtEntityWheelManageroperator= (const DtEntityWheelManager)
 

Constructor & Destructor Documentation

makVrv::DtEntityWheelManager::DtEntityWheelManager ( DtDe de)

CTOR.

virtual makVrv::DtEntityWheelManager::~DtEntityWheelManager ( )
virtual

DTOR.

makVrv::DtEntityWheelManager::DtEntityWheelManager ( )
private

Default CTOR (unimplemented)

makVrv::DtEntityWheelManager::DtEntityWheelManager ( const DtEntityWheelManager orig)
private

brief Copy CTOR (unimplemented)

Member Function Documentation

static DtEntityWheelManager& makVrv::DtEntityWheelManager::instance ( DtDe de)
static

Get/create the DtEntityWheelManager instance. use de.registerInstance(DtEntityWheelManager::theClassName(),) to override the class instance.

static void makVrv::DtEntityWheelManager::registerInstance ( DtDe de,
DtEntityWheelManager manager 
)
static
static const std::string& makVrv::DtEntityWheelManager::theClassName ( )
static

Get the name used to register this class.

virtual void makVrv::DtEntityWheelManager::addModel ( DtOsgArticulatedModel model,
DtUniqueID  uniqueId,
DtUniqueID  elementId 
)
virtual

Add a model which will have its wheel rotating.

Reimplemented in DtVrfEntityWheelManager.

virtual void makVrv::DtEntityWheelManager::removeModel ( DtOsgArticulatedModel model)
virtual

Remove the art part ids associated with this model from the DtEntityWheelManager.

Reimplemented in DtVrfEntityWheelManager.

virtual int makVrv::DtEntityWheelManager::numModels ( ) const
virtual

How many models are in the manager.

virtual int makVrv::DtEntityWheelManager::wheelSetNum ( const int  sisoValue) const
virtual

Wheels are identified based on SISO-REF-010-2019 From https://www.sisostds.org/ProductsPublications/ReferenceDocuments.aspx This function will return first (1), second (2), ... 10 based on the art part number Does not check value to see if it is a wheel.

virtual WheelInfo::WheelSide makVrv::DtEntityWheelManager::wheelSide ( const int  sisoValue) const
virtual

This will identify whether a wheel art part is left or right Does not check value to see if it is a wheel.

virtual bool makVrv::DtEntityWheelManager::hasWheels ( const DtOsgArticulatedModel model) const
virtual

Are there any wheel part ids on this model.

virtual std::vector<int> makVrv::DtEntityWheelManager::listWheelParts ( const DtOsgArticulatedModel model)
virtual

Get a list of the wheel part ids on this model.

virtual std::string makVrv::DtEntityWheelManager::toString ( const int  sisoValue) const
virtual

String version of SISO value ex. 9120 -> "1st Left".

virtual bool makVrv::DtEntityWheelManager::isWheel ( const int  sisoValue) const
virtual

Is this part ID a wheel ID?

virtual double makVrv::DtEntityWheelManager::computeRadius ( const int  sisoValue,
const DtArticulatedModelParser::PartMap partIdToNode 
)
virtual

Look at the node for this part and computer a bounding box, return the (zmax-zmin)/2 as radius.

virtual double makVrv::DtEntityWheelManager::defaultWheelRadius ( ) const
virtual

Default wheel radius.

virtual void makVrv::DtEntityWheelManager::setDefaultWheelRadius ( double  wheelRadius)
virtual

Set the default wheel radius (if we can't compute the wheel radius for some reason)

virtual void makVrv::DtEntityWheelManager::addWheels ( DtOsgArticulatedModel model)
protectedvirtual

internal. Add the wheel art parts,

DtEntityWheelManager& makVrv::DtEntityWheelManager::operator= ( const DtEntityWheelManager  )
private

brief Assignment operator (unimplemented)

Member Data Documentation

DtDe& makVrv::DtEntityWheelManager::myDe
protected
double makVrv::DtEntityWheelManager::myDefaultWheelRadius
protected
std::set<int> makVrv::DtEntityWheelManager::myWheelPartIds
protected
osg::ComputeBoundsVisitor makVrv::DtEntityWheelManager::myComputerBoundsVisitor
protected
DtEntityWheelUpdater* makVrv::DtEntityWheelManager::myWheelUpdater
protected
std::unordered_map<DtOsgArticulatedModel*, DtEntityWheelData> makVrv::DtEntityWheelManager::myEntityToWheelDataMap
protected
std::unordered_map<DtOsgArticulatedModel*, DtEntityWheelDataCommon> makVrv::DtEntityWheelManager::myEntityWheelFlipBookMap
protected
std::unordered_map<DtOsgArticulatedModel*, DtEntityWheelDataCommon> makVrv::DtEntityWheelManager::myEntityWheelScrollableTextureMap
protected

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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)