MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ create_structured_dimension()

template<GlmType T>
DataDimension MayaFlux::Kakshya::DataInsertion::create_structured_dimension ( uint64_t  element_count,
DataModality  modality 
) const
inlineprivate

Create dimension descriptor for structured data.

Definition at line 283 of file DataInsertion.hpp.

285 {
286 // Use the static factory methods where available
287 switch (modality) {
289 return DataDimension::vertex_positions(element_count);
290
292 return DataDimension::vertex_normals(element_count);
293
295 return DataDimension::texture_coords(element_count);
296
298 return DataDimension::vertex_colors(element_count, false);
299
301 return DataDimension::vertex_colors(element_count, true);
302
305 default: {
306 // Use grouped factory for other structured types
307 constexpr size_t components = glm_component_count<T>();
310 element_count,
311 static_cast<uint8_t>(components),
312 modality_to_role(modality));
313 }
314 }
315 }
static std::string modality_to_dimension_name(DataModality modality)
Convert modality to appropriate dimension name.
static DataDimension::Role modality_to_role(DataModality modality)
Convert modality to dimension role.
static DataDimension vertex_positions(uint64_t count)
Create dimension for vertex positions (vec3)
Definition NDData.cpp:85
static DataDimension vertex_colors(uint64_t count, bool has_alpha=false)
Create dimension for colors (vec3 or vec4)
Definition NDData.cpp:100
static DataDimension grouped(std::string name, uint64_t element_count, uint8_t components_per_element, Role role=Role::CUSTOM)
Create dimension with component grouping.
Definition NDData.cpp:69
static DataDimension vertex_normals(uint64_t count)
Create dimension for vertex normals (vec3)
Definition NDData.cpp:90
static DataDimension texture_coords(uint64_t count)
Create dimension for texture coordinates (vec2)
Definition NDData.cpp:95