![]() |
XII Release 0.1.0
|
#include <GizmoGeometry.h>
Public Member Functions | |
| xiiResult | Build (xiiEngineGizmoHandleType type, xiiStringView sMeshFile={}) |
| Replaces the geometry. Failure leaves it empty with invalid bounds. | |
| const xiiGeometry & | GetGeometry () const |
| const xiiBoundingBox & | GetBounds () const |
| xiiResult | PickRay (const xiiMat4 &transform, const xiiVec3 &vRayStart, const xiiVec3 &vRayDirection, float fLineRadius, float &out_fRayTime) const |
Reusable local geometry for Editor handles. Uses Core geometry generation and the Utilities OBJ loader. Rendering and picking consume the same vertices; this object owns no world objects or GPU resources.
| xiiResult xiiGizmoGeometry::PickRay | ( | const xiiMat4 & | transform, |
| const xiiVec3 & | vRayStart, | ||
| const xiiVec3 & | vRayDirection, | ||
| float | fLineRadius, | ||
| float & | out_fRayTime ) const |
Finds the closest forward hit using the supplied local-to-world transform without allocating. Non-normalized ray directions are accepted; out_fRayTime is the ray parameter, not necessarily distance. Lines use world-space fLineRadius and return the time of closest approach. Triangles are double-sided. Invalid inputs, singular transforms, and misses return failure without changing out_fRayTime.