nviz.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #ifndef WXNVIZ_H
  2. #define WXNVIZ_H
  3. // For compilers that support precompilation, includes "wx.h".
  4. #include <wx/wxprec.h>
  5. #include <vector>
  6. extern "C" {
  7. #include <grass/gis.h>
  8. #include <grass/nviz.h>
  9. #include <grass/gsurf.h>
  10. #include <grass/gstypes.h>
  11. }
  12. #ifdef __BORLANDC__
  13. #pragma hdrstop
  14. #endif
  15. #ifndef WX_PRECOMP
  16. // Include your minimal set of headers here, or wx.h
  17. #include <wx/wx.h>
  18. #endif
  19. #include <wx/glcanvas.h>
  20. #include <Python.h>
  21. class Nviz
  22. {
  23. private:
  24. nv_data *data;
  25. /* surface.cpp */
  26. int SetSurfaceAttr(int, int, bool, const char *);
  27. int UnsetSurfaceAttr(int, int);
  28. /* volume.cpp */
  29. int SetIsosurfaceAttr(int, int, int, bool, const char *);
  30. int UnsetIsosurfaceAttr(int, int, int);
  31. public:
  32. /* constructor */
  33. Nviz(PyObject *);
  34. /* destructor */
  35. ~Nviz();
  36. /* change_view.cpp */
  37. int ResizeWindow(int, int);
  38. std::vector<double> SetViewDefault();
  39. int SetView(float, float,
  40. float, float, float);
  41. int SetZExag(float);
  42. /* init.cpp */
  43. void InitView();
  44. void SetBgColor(const char *);
  45. /* lights.cpp */
  46. void SetLightsDefault();
  47. /* load.cpp */
  48. int LoadSurface(const char*, const char *, const char *);
  49. int UnloadSurface(int);
  50. int LoadVector(const char *, bool);
  51. int UnloadVector(int, bool);
  52. int LoadVolume(const char*, const char *, const char *);
  53. int UnloadVolume(int);
  54. /* draw.cpp */
  55. void Draw(bool, int);
  56. void EraseMap();
  57. /* surface.cpp */
  58. int SetSurfaceTopo(int, bool, const char *);
  59. int SetSurfaceColor(int, bool, const char *);
  60. int SetSurfaceMask(int, bool, const char *);
  61. int SetSurfaceTransp(int, bool, const char *);
  62. int SetSurfaceShine(int, bool, const char *);
  63. int SetSurfaceEmit(int, bool, const char *);
  64. int UnsetSurfaceMask(int);
  65. int UnsetSurfaceTransp(int);
  66. int UnsetSurfaceEmit(int);
  67. int SetSurfaceRes(int, int, int);
  68. int SetSurfaceStyle(int, int);
  69. int SetWireColor(int, const char *);
  70. std::vector<double> GetSurfacePosition(int);
  71. int SetSurfacePosition(int, float, float, float);
  72. /* vector */
  73. int SetVectorLineMode(int, const char *, int, int);
  74. int SetVectorLineHeight(int, float);
  75. int SetVectorLineSurface(int, int);
  76. int SetVectorPointMode(int, const char*, int, float, int);
  77. int SetVectorPointHeight(int, float);
  78. int SetVectorPointSurface(int, int);
  79. /* volume */
  80. int AddIsosurface(int, int);
  81. int DeleteIsosurface(int, int);
  82. int MoveIsosurface(int, int, bool);
  83. int SetIsosurfaceColor(int, int, bool, const char *);
  84. int SetIsosurfaceMask(int, int, bool, const char *);
  85. int SetIsosurfaceTransp(int, int, bool, const char *);
  86. int SetIsosurfaceShine(int, int, bool, const char *);
  87. int SetIsosurfaceEmit(int, int, bool, const char *);
  88. int UnsetIsosurfaceMask(int, int);
  89. int UnsetIsosurfaceTransp(int, int);
  90. int UnsetIsosurfaceEmit(int, int);
  91. int SetIsosurfaceMode(int, int);
  92. int SetIsosurfaceRes(int, int);
  93. };
  94. #endif /* WXNVIZ_H */