planes.h 833 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef __PLANES_H__
  2. #define __PLANES_H__
  3. #include "worldspawn.h"
  4. #include <Eigen/Core>
  5. #include <Eigen/Geometry>
  6. struct TPlanePoints {
  7. Eigen::Vector3f m_A;
  8. Eigen::Vector3f m_B;
  9. Eigen::Vector3f m_C;
  10. std::string m_material;
  11. float hscale, hshift; // horizontal
  12. float vscale, vshift; // vertical
  13. float rotation;
  14. };
  15. Eigen::Vector3f get_polygon_normal(const Eigen::Vector3f*, const size_t);
  16. Eigen::Vector3f get_center(const Eigen::Vector3f*, const size_t);
  17. float get_width(const Eigen::Vector3f*, const size_t, const Eigen::Vector3f);
  18. Eigen::Vector3f get_tangent(const Eigen::Vector3f*, float);
  19. Eigen::Vector3f get_bitangent(const Eigen::Vector3f&, const Eigen::Vector3f&, float);
  20. TPlanePoints GetPlanePoints(const Eigen::Vector3f*, const size_t);
  21. std::vector<TPlanePoints> GetBrushPlanes(const TBrush&);
  22. #endif