3#include <cgv/media/mesh/simple_mesh.h>
5#include "../lib_begin.h"
13template <
typename T =
float>
84 int32_t max_nr_weights_per_vertex = -1;
97 void store_in_reference_positions();
99 void store_in_intermediate_positions();
101 const std::vector<vec3_type>& get_intermediate_positions()
const;
103 void recover_intermediate_positions();
115 void add_blend_shape_data(
const vec3_type& d);
117 void add_blend_shape_index(
idx_type i);
127 size_t get_nr_blend_shapes()
const;
136 void apply_blend_shapes(
const std::vector<T>& weights,
idx_type blend_shape_offset = 0,
bool only_add =
false,
bool use_parallel_implementation =
false);
144 void begin_vertex_weight_vertex();
152 void add_vertex_weight_data(T w);
154 void add_vertex_weight_index(
idx_type i);
156 size_t get_nr_vertex_weights()
const;
158 size_t get_nr_vertex_weight_indices()
const;
162 std::vector<mat4_type> compute_joint_transformations(
const std::vector<vec3_type>& reference_joint_locations,
163 const vec3_type& translation,
const std::vector<vec3_type>& target_spin_vectors)
const;
165 std::vector<mat4_type> compute_joint_transformations(
const std::vector<vec3_type>& reference_joint_locations,
166 const vec3_type& translation,
const std::vector<mat3_type>& target_rotations)
const;
168 const std::vector<int32_t>& get_joint_parents()
const;
170 std::vector<int32_t>& ref_joint_parents();
181 void lbs(
const std::vector<mat4_type>& joint_matrices, lbs_source_mode mode);
188#include <cgv/config/lib_end.h>
complete implementation of method actions that only call one method when entering a node
matrix of fixed size dimensions
A vector with zero based index.
simple class to hold the material properties of a phong material