22#ifndef TETRAEDGE_TE_TE_FREE_MOVE_ZONE_H
23#define TETRAEDGE_TE_TE_FREE_MOVE_ZONE_H
25#include "common/array.h"
27#include "tetraedge/te/te_bezier_curve.h"
28#include "tetraedge/te/te_camera.h"
29#include "tetraedge/te/te_intrusive_ptr.h"
30#include "tetraedge/te/te_obp.h"
31#include "tetraedge/te/te_pick_mesh2.h"
32#include "tetraedge/te/te_vector3f32.h"
33#include "tetraedge/te/te_act_zone.h"
34#include "tetraedge/te/te_timer.h"
38namespace micropather {
55class TeFreeMoveZoneGraph;
67 float bordersDistance()
const;
69 void calcGridMatrix();
99 bool onViewportChanged();
100 void preUpdateGrid();
103 void setBordersDistance(
float dist);
105 void setNbTriangles(uint len);
106 void setPathFindingOccluder(
const TeOBP &occluder);
107 void setVertex(uint offset,
const TeVector3f32 &vertex);
109 float transformHeightMin(
float minval);
110 TeVector3f32 transformVectorInWorldSpace(
float param_3,
float param_4);
111 void updateBorders();
112 void updateGrid(
bool force);
113 void updatePickMesh();
114 void updateProjectedPoints();
115 void updateTransformedVertices();
117 static float normalizeAngle(
float angle);
127 static void setCollisionSlide(
bool val) { _collisionSlide = val; }
130 TeVector2s32 aStarResolution()
const;
142 TeVector2f32 _gridSquareSize;
143 TeVector2f32 _gridTopLeft;
144 TeVector2f32 _gridBottomRight;
145 TeVector2f32 _loadGridSize;
146 TeMatrix4x4 _gridMatrix;
147 TeMatrix4x4 _inverseWorldTransform;
152 TeIntrusivePtr<TeCamera> _camera;
155 TeFreeMoveZoneGraph *_graph;
159 bool _transformedVerticiesDirty;
162 bool _projectedPointsDirty;
164 micropather::MicroPather *_micropather;
165 TeTimer _updateTimer;
169 static bool _collisionSlide;
Definition: te_act_zone.h:30
Definition: te_free_move_zone.h:57
Definition: te_intrusive_ptr.h:31
Definition: te_pick_mesh2.h:32
Definition: te_vector2f32.h:32
Definition: te_vector2s32.h:31
Definition: te_vector3f32.h:33
Definition: te_free_move_zone.h:43
Definition: te_free_move_zone.h:59
Definition: te_free_move_zone.h:49