Isle
Loading...
Searching...
No Matches
LegoUnknown Class Reference

Opaque Bezier curve utility used for actor or path position interpolation. More...

#include <legounknown.h>

Public Member Functions

 LegoUnknown ()
 [AI] Constructs the LegoUnknown object, clearing the internal control points. More...
 
 ~LegoUnknown ()
 [AI] Destructor (no-op). More...
 
void FUN_1009a140 (const Vector3 &p_point1, const Vector3 &p_point2, const Vector3 &p_point3, const Vector3 &p_point4)
 [AI] Configure internal curve control points. More...
 
LegoResult FUN_1009a1e0 (float p_f1, Matrix4 &p_mat, Vector3 &p_v, LegoU32 p_und)
 [AI] Evaluates the curve and its tangent at p_f1 and computes the local orthonormal frame. More...
 

Detailed Description

Opaque Bezier curve utility used for actor or path position interpolation.

[AI]

[AI] This class appears to be a helper for handling cubic Bezier curves or Hermite splines in 3D, storing up to four control points. Its methods are used to set up the curve with the required endpoints/tangents and to evaluate positions and directions along the curve. Used for path or animation interpolation. [AI]

Definition at line 18 of file legounknown.h.

Constructor & Destructor Documentation

◆ LegoUnknown()

LegoUnknown::LegoUnknown ( )

[AI] Constructs the LegoUnknown object, clearing the internal control points.

Definition at line 8 of file legounknown.cpp.

◆ ~LegoUnknown()

LegoUnknown::~LegoUnknown ( )

[AI] Destructor (no-op).

Definition at line 16 of file legounknown.cpp.

Member Function Documentation

◆ FUN_1009a140()

void LegoUnknown::FUN_1009a140 ( const Vector3 p_point1,
const Vector3 p_point2,
const Vector3 p_point3,
const Vector3 p_point4 
)

[AI] Configure internal curve control points.

[AI]

[AI] Assigns the control points for a cubic spline or Bezier curve, given four 3D points:

  • p_point1: The curve start point
  • p_point2: Outgoing tangent or first control handle
  • p_point3: Curve end point
  • p_point4: Incoming tangent or last control handle The method builds the internal polynomial coefficients required for evaluation. [AI]
    Parameters
    p_point1Start point of the curve [AI]
    p_point2Outgoing tangent or handle at the start [AI]
    p_point3End point of the curve [AI]
    p_point4Incoming tangent or handle at the end [AI]

Definition at line 22 of file legounknown.cpp.

◆ FUN_1009a1e0()

LegoResult LegoUnknown::FUN_1009a1e0 ( float  p_f1,
Matrix4 p_mat,
Vector3 p_v,
LegoU32  p_und 
)

[AI] Evaluates the curve and its tangent at p_f1 and computes the local orthonormal frame.

[AI]

[AI] Given a parameter p_f1 between 0 and 1, this method calculates:

  • The position and tangent on the curve,
  • Optionally inverts the tangent if p_und is set,
  • Builds a local coordinate system based on the tangent and a reference vector p_v,
  • Outputs these (position and orthonormal frame) into a Matrix4 as basis vectors. Returns FAILURE if vectors cannot be normalized.
    Parameters
    p_f1Parameter along the curve, in [0,1]. [AI]
    p_matMatrix output: built up with the resulting position (column 3) and basis vectors. [AI]
    p_vReference up-direction vector to use for frame computation. [AI]
    p_undIf true, reverses the curve tangent. [AI]
    Returns
    Returns SUCCESS if basis computation succeeds, FAILURE otherwise. [AI]

Definition at line 40 of file legounknown.cpp.


The documentation for this class was generated from the following files: