![]() |
VR-Forces 4.0.4 Class Documentation
|
Description: DtSimSector is a readable/writable description of a sector of responsibility (center and size, both in radians), and some useful methods for using them. More...

Public Member Functions | |
| DtSimSector () | |
| default constructor | |
| DtSimSector (const DtString &name, DtReaderWriterRegistry *parentRegistry=0) | |
| real constructor | |
| DtSimSector (const DtString &name, const DtSimSector &orig, DtReaderWriterRegistry *parentRegistry=0) | |
| copy constructor | |
| const DtSimSector & | operator= (const DtSimSector &orig) |
| assignment operator | |
| virtual | ~DtSimSector () |
| virtual DtSimSector * | clone (const DtString &name, DtReaderWriterRegistry *parentRegistry=0) const |
| virtual int | operator== (const DtSimSector &rhs) const |
| Returns 1 if sectors have the same size and same center; 0 otherwise. | |
| virtual void | setSector (DtReal center, DtReal size) |
| This can be called each simulation frame with the entity's current sector information. | |
| virtual DtReal | sectorSize () const |
| Size of the sector in radians. | |
| virtual DtReal | sectorCenter () const |
| Center of the sector's center in radians. | |
| virtual const DtVector & | centerVector () const |
| Gives the center of the sector as a normalized vector in body coordinates. | |
| virtual bool | inSector (DtReal angle) const |
| Is this angle within the sector. | |
| virtual bool | inSector (DtVector bodyVector) const |
| Is this vector (body coordinates) in the sector. | |
| virtual bool | inSector (const DtVector &localPoint, const DtVector &parentLocation, const DtDcm &localToBody) const |
| Is this point (world coordinates) in the sector. | |
| virtual DtReal | bodyToSector (DtReal angle) const |
| Converts an angle in body coordinates to an angle in sector coordinates. | |
| virtual DtReal | sectorToBody (DtReal angle) const |
| Converts an angle in sector coordinates to an angle in body coordinates. | |
Protected Member Functions | |
| virtual void | getSelf (DtlObjPtr args, const DtFilename &searchPath, const DtVariableBindingsList &variableBindings) |
| Override, so that after read can call setSector to set up variables. | |
Protected Attributes | |
| DtVector | myCenterVector |
| DtReal | myBodyToSectorOffset |
| DtReal | myCosineHalfSectorSize |
parameters | |
These parameters are available for setting in the OPD files. | |
| DtRwReal | mySectorCenter |
| Parameter Name: sector-center Parameter Description: Specifies the center of the sector of responsibility relative to the entity's orientation. | |
| DtRwReal | mySectorSize |
| Parameter Name: sector-size Parameter Description: Specifies the width of the sector of responsibility. | |
Description: DtSimSector is a readable/writable description of a sector of responsibility (center and size, both in radians), and some useful methods for using them.
Everything is projected onto the <x y>=""> plane (local), so the sector actually functions as a volume extending infinitely in both z directions.
default constructor
| DtSimSector::DtSimSector | ( | const DtString & | name, |
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
real constructor
| DtSimSector::DtSimSector | ( | const DtString & | name, |
| const DtSimSector & | orig, | ||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
copy constructor
| virtual DtSimSector::~DtSimSector | ( | ) | [virtual] |
| const DtSimSector& DtSimSector::operator= | ( | const DtSimSector & | orig | ) |
assignment operator
| virtual DtSimSector* DtSimSector::clone | ( | const DtString & | name, |
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) | const [virtual] |
| virtual int DtSimSector::operator== | ( | const DtSimSector & | rhs | ) | const [virtual] |
Returns 1 if sectors have the same size and same center; 0 otherwise.
| virtual void DtSimSector::setSector | ( | DtReal | center, |
| DtReal | size | ||
| ) | [virtual] |
This can be called each simulation frame with the entity's current sector information.
If it hasn't changed, the object will do nothing, but if it has, it will recalculate the sector vectors and bodyToSectorOffset. Values are in radians.
| virtual DtReal DtSimSector::sectorSize | ( | ) | const [virtual] |
Size of the sector in radians.
| virtual DtReal DtSimSector::sectorCenter | ( | ) | const [virtual] |
Center of the sector's center in radians.
| virtual const DtVector& DtSimSector::centerVector | ( | ) | const [virtual] |
Gives the center of the sector as a normalized vector in body coordinates.
| virtual bool DtSimSector::inSector | ( | DtReal | angle | ) | const [virtual] |
Is this angle within the sector.
| virtual bool DtSimSector::inSector | ( | DtVector | bodyVector | ) | const [virtual] |
Is this vector (body coordinates) in the sector.
| virtual bool DtSimSector::inSector | ( | const DtVector & | localPoint, |
| const DtVector & | parentLocation, | ||
| const DtDcm & | localToBody | ||
| ) | const [virtual] |
Is this point (world coordinates) in the sector.
| virtual DtReal DtSimSector::bodyToSector | ( | DtReal | angle | ) | const [virtual] |
Converts an angle in body coordinates to an angle in sector coordinates.
| virtual DtReal DtSimSector::sectorToBody | ( | DtReal | angle | ) | const [virtual] |
Converts an angle in sector coordinates to an angle in body coordinates.
| virtual void DtSimSector::getSelf | ( | DtlObjPtr | args, |
| const DtFilename & | searchPath, | ||
| const DtVariableBindingsList & | variableBindings | ||
| ) | [protected, virtual] |
Override, so that after read can call setSector to set up variables.
DtRwReal DtSimSector::mySectorCenter [protected] |
Parameter Name: sector-center
Parameter Description: Specifies the center of the sector of responsibility relative to the entity's orientation.
Parameter Default Value: 0
Parameter Units: radians
DtRwReal DtSimSector::mySectorSize [protected] |
Parameter Name: sector-size
Parameter Description: Specifies the width of the sector of responsibility.
Parameter Default Value: 0
Parameter Units: radians
DtVector DtSimSector::myCenterVector [protected] |
DtReal DtSimSector::myBodyToSectorOffset [protected] |
DtReal DtSimSector::myCosineHalfSectorSize [protected] |