Rumba C++ SDK
VertexSpace.h
Go to the documentation of this file.
1 /*
2 
3  *
4  ***
5  *****
6  ********************* Mercenaries Engineering SARL
7  ***************** Copyright (C) 2021
8  *************
9  ********* http://www.mercenaries-engineering.com
10  ***********
11  **** ****
12  ** **
13 
14 */
15 
16 #pragma once
17 
18 #include "Maquina/Mesh.h"
19 MAQUINA_IGNORE_WARNINGS_BEGIN
20 #include <tbb/scalable_allocator.h>
21 MAQUINA_IGNORE_WARNINGS_END
22 
23 namespace maquina
24 {
25 
26  MAQUINA_EXPORT maquina::BufferM33f compute_vertex_space(const Mesh& deformed, const Mesh& reference);
27 
29  int p,
30  const gsl::span<const Imath::V3f>& deform_p,
31  const Imath::V3f& deform_n,
32  const gsl::span<const Imath::V3f>& ref_p,
33  const Imath::V3f& ref_n,
35  std::vector<Imath::V3f, tbb::scalable_allocator<Imath::V3f> >& a,
36  std::vector<Imath::V3f, tbb::scalable_allocator<Imath::V3f> >& b
37  );
38 
40  int p,
41  const gsl::span<const Imath::V3f>& deform_p,
42  const Imath::V3f& deform_n,
43  const gsl::span<const Imath::V3f>& ref_p,
44  const Imath::V3f& ref_n,
45  const std::vector<float>& weights,
47  std::vector<Imath::V3f, tbb::scalable_allocator<Imath::V3f> >& a,
48  std::vector<Imath::V3f, tbb::scalable_allocator<Imath::V3f> >& b
49  );
50 
51  MAQUINA_EXPORT Imath::M44f compute_average_m44(const gsl::span<const Imath::V3f>& deform_p, const gsl::span<const Imath::V3f>& ref_p,
52  const gsl::span<const uint32_t>& indices, bool orthonormal);
53 
54 }
Definition: ImathFrame.h:42
Definition: ImathFrame.h:43
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
Definition: ImathMatrix.h:66
MAQUINA_EXPORT Imath::M33f compute_weighted_vertex_space(int p, const gsl::span< const Imath::V3f > &deform_p, const Imath::V3f &deform_n, const gsl::span< const Imath::V3f > &ref_p, const Imath::V3f &ref_n, const std::vector< float > &weights, const maquina::SpanSpan< const uint32_t, const uint32_t > &vertex_to_vertex, std::vector< Imath::V3f, tbb::scalable_allocator< Imath::V3f > > &a, std::vector< Imath::V3f, tbb::scalable_allocator< Imath::V3f > > &b)
MAQUINA_EXPORT Node reference(Node &root, const std::wstring &filepath, const std::string &reference_root_name="", const ProgressCallback &progress={})
Reference the content of a file into the project.
#define MAQUINA_EXPORT
Definition: Export.h:31
A writable buffer for basic types like floats, integers, Imath::V3f, Imath::M44f..
Definition: Buffer.h:111
MAQUINA_EXPORT Imath::M44f compute_average_m44(const gsl::span< const Imath::V3f > &deform_p, const gsl::span< const Imath::V3f > &ref_p, const gsl::span< const uint32_t > &indices, bool orthonormal)
MAQUINA_EXPORT maquina::BufferM33f compute_vertex_space(const Mesh &deformed, const Mesh &reference)