1#ifndef LEGOPATHBOUNDARY_H
2#define LEGOPATHBOUNDARY_H
10#if defined(_M_IX86) || defined(__i386__)
11#define COMPARE_POINTER_TYPE MxS32
13#define COMPARE_POINTER_TYPE MxS32*
[AI] Handles playback and synchronization of animated LEGO objects, including variable substitution,...
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
[AI] Represents a path segment or boundary in the navigation network for actors (vehicles,...
void FUN_100575b0(Vector3 &p_point1, Vector3 &p_point2, LegoPathActor *p_actor)
[AI] Handles processing path triggers along this boundary as an actor moves from p_point1 to p_point2...
LegoAnimPresenterSet & GetPresenters()
[AI] Direct access to the animation presenter set for this boundary.
~LegoPathBoundary() override
[AI] Destructor.
LegoPathActorSet & GetActors()
[AI] Direct access to the actor set for this boundary.
MxU32 FUN_10057fe0(LegoAnimPresenter *p_presenter)
[AI] Adds an animation presenter to the set if within region, based on spatial bounds.
MxResult AddActor(LegoPathActor *p_actor)
[AI] Adds the given actor to this path boundary and sets its boundary pointer.
MxResult RemoveActor(LegoPathActor *p_actor)
[AI] Removes the actor from this boundary's actor set.
MxU32 FUN_100586e0(LegoAnimPresenter *p_presenter)
[AI] Removes an animation presenter from the set, or if nullptr resets all presenters' world associat...
void SwitchBoundary(LegoPathActor *p_actor, LegoPathBoundary *&p_boundary, LegoUnknown100db7f4 *&p_edge, float &p_unk0xe4)
[AI] Switches the boundary that the actor is associated with based on edge traversal.
LegoPathBoundary()
[AI] Constructs a LegoPathBoundary, initializing internal actor/presenter storage.
MxU32 Intersect(float p_scale, Vector3 &p_point1, Vector3 &p_point2, Vector3 &p_point3, LegoUnknown100db7f4 *&p_edge)
[AI] Tests for intersection between a path and this boundary; finds the first edge hit and intersecti...
[AI] Represents a "geometry edge" in the LEGO Island world polygon/path system.
[AI] 3D vector class, providing vector and cross-product operations in 3D space.
set< LegoAnimPresenter *, LegoAnimPresenterSetCompare > LegoAnimPresenterSet
[AI] Defines a set of LegoAnimPresenter pointers, ordered by pointer value using LegoAnimPresenterSet...
#define COMPARE_POINTER_TYPE
set< LegoPathActor *, LegoPathActorSetCompare > LegoPathActorSet
[AI] Defines a set of LegoPathActor pointers, ordered by pointer value using LegoPathActorSetCompare.
[AI] STL compatibility layer header to provide consistent STL (Standard Template Library) types and a...
[AI] Comparison functor used to order LegoAnimPresenter pointers for set containers,...
MxU32 operator()(const LegoAnimPresenter *p_lhs, const LegoAnimPresenter *p_rhs) const
[AI] Comparison functor used to order LegoPathActor pointers for set containers, using their pointer ...
MxU32 operator()(const LegoPathActor *p_lhs, const LegoPathActor *p_rhs) const
[AI] Represents an advanced edge in the LEGO Island geometry system, with direction,...