00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __CEL_TOOL_NAVIGATION__
00022 #define __CEL_TOOL_NAVIGATION__
00023
00024 #include "cssysdef.h"
00025 #include "csgeom/vector3.h"
00026
00027 #include "celtool/celtoolextern.h"
00028
00029 struct iSector;
00030 struct iMapNode;
00031 struct iCelEntity;
00032 struct iPcMesh;
00033
00037 struct celNavigationInfo
00038 {
00040 bool success;
00042 bool visible;
00044 csVector3 angle;
00046 float distance;
00047 };
00048
00052 struct CEL_CELTOOL_EXPORT celNavigationTools
00053 {
00060 static celNavigationInfo GetNavigationInfo (iCelEntity* navigator,
00061 const char* tag, const csVector3& vector);
00068 static celNavigationInfo GetNavigationInfo (iPcMesh* navigator,
00069 const csVector3& vector);
00077 static celNavigationInfo GetNavigationInfo (iCelEntity* navigator,
00078 const char* navigator_tag, iCelEntity* entity,
00079 const char* entity_tag);
00087 static celNavigationInfo GetNavigationInfo (iPcMesh* navigator,
00088 iCelEntity* entity, const char* entity_tag);
00095 static celNavigationInfo GetNavigationInfo (iCelEntity* navigator,
00096 const char* tag, iMapNode* node);
00103 static celNavigationInfo GetNavigationInfo (iPcMesh* navigator,
00104 iMapNode* node);
00105 };
00106
00107 #endif // __CEL_TOOL_NAVIGATION__