This example shows how to create and access properties defined on a polyhedral mesh (consisting of a single tetrahedron). We use per-face properties as example, you should be able to do similarly for per-edge/vertex/cell properties as well.
27#include <easy3d/core/poly_mesh.h>
28#include <easy3d/util/initializer.h>
41PolyMesh *old_mesh_from_previous_example() {
46 auto v0 = mesh->add_vertex(
vec3(-1.0, 0.0, 0.0));
47 auto v1 = mesh->add_vertex(
vec3(0.0, 0.0, 1.0));
48 auto v2 = mesh->add_vertex(
vec3(1.0, 0.0, 0.0));
49 auto v3 = mesh->add_vertex(
vec3(0.0, 0.0, -1.0));
52 mesh->add_tetra(v0, v1, v2, v3);
58int main(
int argc,
char** argv) {
63 PolyMesh *mesh = old_mesh_from_previous_example();
69 for (
auto f : mesh->faces()) {
71 for (
auto v : mesh->vertices(f))
72 c += mesh->position(v);
73 center[f] = c / mesh->vertices(f).size();
77 for (
auto f : mesh->faces()) {
78 std::cout <<
"center of " << f <<
": " << center[f] << std::endl;
Face property of type T.
Definition poly_mesh.h:418
Data structure representing a polyhedral mesh.
Definition poly_mesh.h:49
Definition collider.cpp:182