71 std::span<const uint64_t>
ids;
141 bool open(const
std::
string& filepath);
175 const
std::
string& stream_name,
176 const
std::unordered_map<
std::
string,
std::
string>& tags);
185 [[nodiscard]]
std::
string get_last_error()
const {
return m_last_error; }
193 void set_error(std::string msg)
const { m_last_error = std::move(msg); }
195 bool write_vertex_sample(
const std::string& stream_name,
const SpatialSample& sample);
196 bool write_curves_sample(
const std::string& stream_name,
const SpatialSample& sample);
std::unique_ptr< Impl > m_impl
SpatialCache(SpatialCache &&) noexcept
SpatialCache & operator=(const SpatialCache &)=delete
void set_error(std::string msg) const
SpatialCache(const SpatialCache &)=delete
Alembic-backed writer for time-sampled spatial entity state: particle systems, point clouds,...
SpatialScope
How many elements one attribute contributes per sample.
std::variant< std::vector< double >, std::vector< float >, std::vector< uint8_t >, std::vector< uint16_t >, std::vector< uint32_t >, std::vector< std::complex< float > >, std::vector< std::complex< double > >, std::vector< glm::vec2 >, std::vector< glm::vec3 >, std::vector< glm::vec4 >, std::vector< glm::mat4 > > DataVariant
Multi-type data storage for different precision needs.
PrimitiveTopology
Vertex assembly primitive topology.
Kakshya::DataVariant values
One named, scoped channel of already-typed values.
std::span< const glm::vec3 > positions
std::span< const glm::vec3 > velocities
std::span< const SpatialAttribute > attributes
Portal::Graphics::PrimitiveTopology topology
std::span< const int32_t > vertex_counts_per_curve
std::span< const uint64_t > ids
One sample's worth of data for one named stream.