WSF
WsfNavigationCell Class Reference

#include <WsfNavigationCell.hpp>

Public Types

enum  CELL_VERT { VERT_A = 0 , VERT_B , VERT_C }
enum  CELL_SIDE { SIDE_AB = 0 , SIDE_BC , SIDE_CA }
enum  PATH_RESULT { NO_RELATIONSHIP , ENDING_CELL , EXITING_CELL }
enum  POINT_CLASSIFICATION { ON_LINE , RIGHT_SIDE , LEFT_SIDE }

Public Member Functions

 WsfNavigationCell ()
 WsfNavigationCell (float aX, float aY, float aZ, bool aMirror)
void SetWeight (double aWeight)
void AddVertex (const WsfGeoPoint &aPoint)
bool PointInCell (double aX, double aY, double aZ)
double AngleBetween (double aFirstX, double aFirstY, double aSecondX, double aSecondY)
PATH_RESULT ClassifyPathToCell (UtLineSegment &aMotionPath, WsfNavigationCell **aNextCell, CELL_SIDE &aCellSide, UtVec3d *aIntersectionPoint, WsfNavigationCell *aPrevCell)
POINT_CLASSIFICATION ClassifyPoint (UtLineSegment aSide, UtVec3d aPathEndPoint)
bool PointOnSameSide (UtVec3d aPathEndPoint, int aSideIndex)
WsfNavigationCellGetNeighborForSide (int aSideIndex, UtVec3d *aIntersectionPoint)
std::string GetValueForCellModifier (const std::string &aModifier)

Public Attributes

std::vector< WsfGeoPointmVerts
std::vector< UtLineSegment > mSides
std::vector< WsfNavigationCell * > mNeighbors
std::vector< WsfGeoPoint >::iterator mVertexIterator
std::vector< UtLineSegment >::iterator mSideIterator
std::vector< WsfNavigationCell * >::iterator mNeighborIterator
UtVec3d mCellNormal
UtVec3d mCellCentroid
unsigned int mCellID
unsigned int mCellNumber
unsigned int mX
unsigned int mY
bool mTessillated
int mTessilationLevel
double mWeight
std::map< WsfStringId, WsfStringIdmModifierList
std::vector< unsigned int > mNeighborIDs
bool mNoZoneInteraction

Member Enumeration Documentation

◆ CELL_SIDE

Enumerator
SIDE_AB 
SIDE_BC 
SIDE_CA 

◆ CELL_VERT

Enumerator
VERT_A 
VERT_B 
VERT_C 

◆ PATH_RESULT

Enumerator
NO_RELATIONSHIP 
ENDING_CELL 
EXITING_CELL 

◆ POINT_CLASSIFICATION

Enumerator
ON_LINE 
RIGHT_SIDE 
LEFT_SIDE 

Constructor & Destructor Documentation

◆ WsfNavigationCell() [1/2]

◆ WsfNavigationCell() [2/2]

WsfNavigationCell::WsfNavigationCell ( float aX,
float aY,
float aZ,
bool aMirror )

Member Function Documentation

◆ AddVertex()

◆ AngleBetween()

double WsfNavigationCell::AngleBetween ( double aFirstX,
double aFirstY,
double aSecondX,
double aSecondY )

References theta2.

Referenced by PointInCell().

◆ ClassifyPathToCell()

WsfNavigationCell::PATH_RESULT WsfNavigationCell::ClassifyPathToCell ( UtLineSegment & aMotionPath,
WsfNavigationCell ** aNextCell,
CELL_SIDE & aCellSide,
UtVec3d * aIntersectionPoint,
WsfNavigationCell * aPrevCell )

◆ ClassifyPoint()

WsfNavigationCell::POINT_CLASSIFICATION WsfNavigationCell::ClassifyPoint ( UtLineSegment aSide,
UtVec3d aPathEndPoint )

References LEFT_SIDE, ON_LINE, and RIGHT_SIDE.

Referenced by ClassifyPathToCell().

◆ GetNeighborForSide()

WsfNavigationCell * WsfNavigationCell::GetNeighborForSide ( int aSideIndex,
UtVec3d * aIntersectionPoint )

◆ GetValueForCellModifier()

std::string WsfNavigationCell::GetValueForCellModifier ( const std::string & aModifier)

References mModifierList.

◆ PointInCell()

bool WsfNavigationCell::PointInCell ( double aX,
double aY,
double aZ )

◆ PointOnSameSide()

bool WsfNavigationCell::PointOnSameSide ( UtVec3d aPathEndPoint,
int aSideIndex )

References mSides, and mVerts.

Referenced by PointInCell().

◆ SetWeight()

void WsfNavigationCell::SetWeight ( double aWeight)
inline

References mWeight.

Member Data Documentation

◆ mCellCentroid

◆ mCellID

◆ mCellNormal

UtVec3d WsfNavigationCell::mCellNormal

◆ mCellNumber

◆ mModifierList

std::map<WsfStringId, WsfStringId> WsfNavigationCell::mModifierList

◆ mNeighborIDs

std::vector<unsigned int> WsfNavigationCell::mNeighborIDs

◆ mNeighborIterator

◆ mNeighbors

◆ mNoZoneInteraction

bool WsfNavigationCell::mNoZoneInteraction

◆ mSideIterator

std::vector<UtLineSegment>::iterator WsfNavigationCell::mSideIterator

◆ mSides

◆ mTessilationLevel

◆ mTessillated

bool WsfNavigationCell::mTessillated

◆ mVertexIterator

std::vector<WsfGeoPoint>::iterator WsfNavigationCell::mVertexIterator

◆ mVerts

◆ mWeight

double WsfNavigationCell::mWeight

◆ mX

◆ mY


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved