33#include <NDEVR/Path.h>
34#include <NDEVR/Angle.h>
35#include <NDEVR/DesignObjectLookup.h>
Stores an angle in an optimized internal format with support for efficient trigonometric operations.
The equivelent of std::vector but with a bit more control.
A core class where all Design Objects including models, materials, and geometries are stored.
void setPositionChannel(uint01 dim, const Buffer< fltp04 > &path)
Sets the position interpolation path for a single spatial dimension using monotone cubic interpolatio...
Buffer< Time > m_time
The ordered sequence of time keyframes corresponding to path control points.
void setAngleChannel(uint01 dim, const Buffer< Angle< fltp08 > > &path)
Sets the rotation interpolation path for a single axis using azimuth-aware monotone cubic interpolati...
Path location_path[3]
Interpolation paths for X, Y, Z position channels, indexed by dimension.
UUID object
The unique identifier of the design object to move along the path.
void updateObject(const DesignObjectLookup *)
Updates the referenced design object's transform based on the current path state.
Path rotation_path[3]
Interpolation paths for rotation channels (one per axis), indexed by dimension.
MovementPath(const Buffer< Time > &time)
Constructs a MovementPath with the given time keyframes.
A monotone cubic Hermite spline path that interpolates values over time.
static Path createMonotoneCubicPathAzimuth(const Buffer< Time > &time, const Buffer< Angle< fltp08 > > &y)
Creates a monotone cubic Hermite spline path for azimuth (angular) values over time.
static Path createMonotoneCubicPathSorted(const Buffer< Time > &time, const Buffer< fltp04 > &y)
Creates a monotone cubic path after sorting the control points by time in descending order.
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
The primary namespace for the NDEVR SDK.
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...