ARAPEnergyType.h 1.5 KB

123456789101112131415161718192021222324252627282930313233
  1. // This file is part of libigl, a simple c++ geometry processing library.
  2. //
  3. // Copyright (C) 2013 Alec Jacobson <[email protected]>
  4. //
  5. // This Source Code Form is subject to the terms of the Mozilla Public License
  6. // v. 2.0. If a copy of the MPL was not distributed with this file, You can
  7. // obtain one at http://mozilla.org/MPL/2.0/.
  8. #ifndef IGL_ARAPENERGYTYPE_H
  9. #define IGL_ARAPENERGYTYPE_H
  10. namespace igl
  11. {
  12. /// Enum for choosing ARAP energy type
  13. enum ARAPEnergyType
  14. {
  15. /// "As-rigid-as-possible Surface Modeling" by [Sorkine and Alexa 2007],
  16. /// rotations defined at vertices affecting incident edges, default
  17. ARAP_ENERGY_TYPE_SPOKES = 0,
  18. /// Adapted version of "As-rigid-as-possible Surface Modeling" by [Sorkine
  19. /// and Alexa 2007] presented in section 4.2 of or "A simple geometric model
  20. /// for elastic deformation" by [Chao et al.\ 2010], rotations defined at
  21. /// vertices affecting incident edges and opposite edges
  22. ARAP_ENERGY_TYPE_SPOKES_AND_RIMS = 1,
  23. /// "A local-global approach to mesh parameterization" by [Liu et al.\ 2010]
  24. /// or "A simple geometric model for elastic deformation" by [Chao et al.\ 2010], rotations defined at elements (triangles or tets)
  25. ARAP_ENERGY_TYPE_ELEMENTS = 2,
  26. /// Choose one automatically: spokes and rims for surfaces, elements for
  27. /// planar meshes and tets (not fully supported)
  28. ARAP_ENERGY_TYPE_DEFAULT = 3,
  29. /// Total number of types
  30. NUM_ARAP_ENERGY_TYPES = 4
  31. };
  32. }
  33. #endif