Graphite  Version 3
An experimental 3D geometry processing program
mesh_grob_spectral_commands.h
Go to the documentation of this file.
1 /*
2  * OGF/Graphite: Geometry and Graphics Programming Library + Utilities
3  * Copyright (C) 2000-2016 INRIA - Project ALICE
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  *
19  * If you modify this software, you should include a notice giving the
20  * name of the person performing the modification, the date of modification,
21  * and the reason for such modification.
22  *
23  * Contact: Bruno Levy - levy@loria.fr
24  *
25  * Project ALICE
26  * LORIA, INRIA Lorraine,
27  * Campus Scientifique, BP 239
28  * 54506 VANDOEUVRE LES NANCY CEDEX
29  * FRANCE
30  *
31  * Note that the GNU General Public License does not permit incorporating
32  * the Software into proprietary programs.
33  *
34  * As an exception to the GPL, Graphite can be linked
35  * with the following (non-GPL) libraries:
36  * Qt, SuperLU, WildMagic and CGAL
37  */
38 
39 #ifndef H_OGF_MESH_COMMANDS_MESH_GROB_SPECTRAL_COMMANDS_H
40 #define H_OGF_MESH_COMMANDS_MESH_GROB_SPECTRAL_COMMANDS_H
41 
44 
51 namespace OGF {
52 
57  public:
58 
63 
64 
69 
70  gom_slots:
85  void compute_manifold_harmonics(
86  index_t nb_eigens = 30,
87  LaplaceBeltramiDiscretization discretization = FEM_P1_LUMPED,
88  const std::string& attribute = "eigen",
89  double shift = 0.0,
90  index_t nb_eigens_per_band = 0,
91  bool print_spectrum = false
92  );
93 
94 
104  index_t x_eigen=1,
105  index_t y_eigen=2,
106  index_t z_eigen=3
107  );
108  };
109 
110 }
111 
112 
113 #endif
Base class for Commands related with a MeshGrob object.
Commands that create simple shapes.
~MeshGrobSpectralCommands() override
MeshGrobSpectralCommands destructor.
void compute_spectral_embedding(index_t x_eigen=1, index_t y_eigen=2, index_t z_eigen=3)
Computes manifold harmonics (Laplacien eigenfunctions) \menu /Surface/Spectral.
MeshGrobSpectralCommands()
MeshGrobSpectralCommands constructor.
Base class for Commands related with a MeshGrob object.
geo_index_t index_t
The type for storing and manipulating indices.
Definition: numeric.h:329
Global Graphite namespace.
Definition: common.h:76