reflex2q3/ReflexToQ3/includes/planes.h

31 lines
778 B
C++

#include "worldspawn.h"
#include <Eigen/Core>
#include <Eigen/Geometry>
#ifndef __PLANES_H__
#define __PLANES_H__
struct TPlanePoints {
Eigen::Vector3f m_A;
Eigen::Vector3f m_B;
Eigen::Vector3f m_C;
std::string m_material;
};
Eigen::Vector3f get_polygon_normal(const Eigen::Vector3f*, const size_t);
Eigen::Vector3f get_center(const Eigen::Vector3f*, const size_t);
float get_width(const Eigen::Vector3f*, const size_t, const Eigen::Vector3f);
Eigen::Vector3f get_tangent(const Eigen::Vector3f*, float);
Eigen::Vector3f get_bitangent(const Eigen::Vector3f&, const Eigen::Vector3f&, float);
TPlanePoints GetPlanePoints(const Eigen::Vector3f*, const size_t);
std::vector<TPlanePoints> GetBrushPlanes(const TBrush&);
std::string GetBrushString(const TBrush&);
#endif