RemeshSelfIntersectionsParam.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // This file is part of libigl, a simple c++ geometry processing library.
  2. //
  3. // Copyright (C) 2015 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_COPYLEFT_CGAL_REMESH_SELF_INTERSECTIONS_PARAM_H
  9. #define IGL_COPYLEFT_CGAL_REMESH_SELF_INTERSECTIONS_PARAM_H
  10. namespace igl
  11. {
  12. namespace copyleft
  13. {
  14. namespace cgal
  15. {
  16. /// Parameters for SelfIntersectMesh, remesh_self_intersections and
  17. /// remesh_intersections, and intersect_other
  18. ///
  19. struct RemeshSelfIntersectionsParam
  20. {
  21. /// avoid constructing intersections results when possible
  22. bool detect_only;
  23. /// return after detecting the first intersection (if first_only==true,
  24. /// then detect_only should also be true)
  25. bool first_only;
  26. /// whether to stitch all resulting constructed elements into a
  27. /// (non-manifold) mesh
  28. bool stitch_all;
  29. /// whether to use slow and more precise rounding (see assign_scalar)
  30. bool slow_and_more_precise_rounding;
  31. inline RemeshSelfIntersectionsParam(
  32. bool _detect_only=false,
  33. bool _first_only=false,
  34. bool _stitch_all=false,
  35. bool _slow_and_more_precise_rounding=false
  36. ):
  37. detect_only(_detect_only),
  38. first_only(_first_only),
  39. stitch_all(_stitch_all),
  40. slow_and_more_precise_rounding(_slow_and_more_precise_rounding)
  41. {};
  42. };
  43. }
  44. }
  45. }
  46. #endif