15#ifndef WSFNAVIGATIONCELL_HPP
16#define WSFNAVIGATIONCELL_HPP
18#include "wsf_export.h"
22#include "UtLineSegment.hpp"
66 bool PointInCell(
double aX,
double aY,
69 double AngleBetween(
double aFirstX,
double aFirstY,
double aSecondX,
double aSecondY);
71 PATH_RESULT ClassifyPathToCell(UtLineSegment& aMotionPath,
74 UtVec3d* aIntersectionPoint,
77 POINT_CLASSIFICATION ClassifyPoint(UtLineSegment aSide, UtVec3d aPathEndPoint);
79 bool PointOnSameSide(UtVec3d aPathEndPoint,
int aSideIndex);
81 WsfNavigationCell* GetNeighborForSide(
int aSideIndex, UtVec3d* aIntersectionPoint);
83 std::string GetValueForCellModifier(
const std::string& aModifier);
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfGeoPoint.hpp:29
Definition WsfNavigationCell.hpp:29
bool mNoZoneInteraction
Definition WsfNavigationCell.hpp:107
UtVec3d mCellCentroid
Definition WsfNavigationCell.hpp:96
POINT_CLASSIFICATION
Definition WsfNavigationCell.hpp:53
@ ON_LINE
Definition WsfNavigationCell.hpp:54
@ LEFT_SIDE
Definition WsfNavigationCell.hpp:56
@ RIGHT_SIDE
Definition WsfNavigationCell.hpp:55
int mTessilationLevel
Definition WsfNavigationCell.hpp:102
std::vector< WsfGeoPoint > mVerts
Definition WsfNavigationCell.hpp:86
std::vector< WsfNavigationCell * > mNeighbors
Definition WsfNavigationCell.hpp:88
PATH_RESULT
Definition WsfNavigationCell.hpp:46
@ ENDING_CELL
Definition WsfNavigationCell.hpp:48
@ EXITING_CELL
Definition WsfNavigationCell.hpp:49
@ NO_RELATIONSHIP
Definition WsfNavigationCell.hpp:47
std::vector< unsigned int > mNeighborIDs
Definition WsfNavigationCell.hpp:105
unsigned int mY
Definition WsfNavigationCell.hpp:100
bool mTessillated
Definition WsfNavigationCell.hpp:101
std::vector< UtLineSegment >::iterator mSideIterator
Definition WsfNavigationCell.hpp:92
CELL_SIDE
Definition WsfNavigationCell.hpp:39
@ SIDE_BC
Definition WsfNavigationCell.hpp:41
@ SIDE_CA
Definition WsfNavigationCell.hpp:42
@ SIDE_AB
Definition WsfNavigationCell.hpp:40
CELL_VERT
Definition WsfNavigationCell.hpp:32
@ VERT_A
Definition WsfNavigationCell.hpp:33
@ VERT_B
Definition WsfNavigationCell.hpp:34
@ VERT_C
Definition WsfNavigationCell.hpp:35
std::map< WsfStringId, WsfStringId > mModifierList
Definition WsfNavigationCell.hpp:104
unsigned int mCellNumber
Definition WsfNavigationCell.hpp:98
std::vector< WsfGeoPoint >::iterator mVertexIterator
Definition WsfNavigationCell.hpp:91
std::vector< WsfNavigationCell * >::iterator mNeighborIterator
Definition WsfNavigationCell.hpp:93
unsigned int mX
Definition WsfNavigationCell.hpp:99
void SetWeight(double aWeight)
Definition WsfNavigationCell.hpp:62
unsigned int mCellID
Definition WsfNavigationCell.hpp:97
double mWeight
Definition WsfNavigationCell.hpp:103
std::vector< UtLineSegment > mSides
Definition WsfNavigationCell.hpp:87
UtVec3d mCellNormal
Definition WsfNavigationCell.hpp:95
WsfNavigationCell()
Definition WsfNavigationCell.cpp:18