You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
2.4 KiB

  1. /*
  2. * This program source code file is part of KiCad, a free EDA CAD application.
  3. *
  4. * Copyright (C) 2016 Mario Luzeiro <mrluzeiro@ua.pt>
  5. * Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors.
  6. *
  7. * This program is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU General Public License
  9. * as published by the Free Software Foundation; either version 2
  10. * of the License, or (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, you may find one here:
  19. * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
  20. * or you may search the http://www.gnu.org website for the version 2 license,
  21. * or you may write to the Free Software Foundation, Inc.,
  22. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  23. */
  24. /**
  25. * @file 3d_enums.h
  26. * @brief declared enumerations and flags
  27. */
  28. #ifndef _3D_ENUMS_H_
  29. #define _3D_ENUMS_H_
  30. /// Rotation direction for the 3d canvas
  31. enum class ROTATION_DIR
  32. {
  33. X_CW,
  34. X_CCW,
  35. Y_CW,
  36. Y_CCW,
  37. Z_CW,
  38. Z_CCW
  39. };
  40. /// Camera types
  41. enum class CAMERA_TYPE
  42. {
  43. TRACKBALL
  44. };
  45. // Do not modify the following enum numbers, they are saved in the config file and used in the UI
  46. /// Grid types
  47. enum class GRID3D_TYPE
  48. {
  49. NONE = 0,
  50. GRID_1MM = 1,
  51. GRID_2P5MM = 2,
  52. GRID_5MM = 3,
  53. GRID_10MM = 4
  54. };
  55. /// Render engine mode
  56. enum class RENDER_ENGINE
  57. {
  58. OPENGL = 0,
  59. RAYTRACING = 1,
  60. };
  61. /// Render 3d model shape materials mode
  62. enum class MATERIAL_MODE
  63. {
  64. NORMAL = 0, ///< Use all material properties from model file
  65. DIFFUSE_ONLY = 1, ///< Use only diffuse material properties
  66. CAD_MODE = 2 ///< Use a gray shading based on diffuse material
  67. };
  68. enum class VIEW3D_TYPE
  69. {
  70. // Specific directions
  71. VIEW3D_TOP,
  72. VIEW3D_BOTTOM,
  73. VIEW3D_LEFT,
  74. VIEW3D_RIGHT,
  75. VIEW3D_FRONT,
  76. VIEW3D_BACK,
  77. VIEW3D_FLIP,
  78. // Movement commands
  79. VIEW3D_PAN_UP,
  80. VIEW3D_PAN_DOWN,
  81. VIEW3D_PAN_LEFT,
  82. VIEW3D_PAN_RIGHT,
  83. VIEW3D_ZOOM_IN,
  84. VIEW3D_ZOOM_OUT,
  85. VIEW3D_PIVOT_CENTER,
  86. // Specific levels
  87. VIEW3D_FIT_SCREEN
  88. };
  89. #endif // _3D_ENUMS_H_