63 void static read_binary_float_vector(
Vec3D &x, std::ifstream &ifstr );
68 Triangle( std::ifstream &ifstr );
71 const Vec3D &normal(
void )
const;
72 const Vec3D &p1(
void )
const;
73 const Vec3D &p2(
void )
const;
74 const Vec3D &p3(
void )
const;
75 const Vec3D &operator[](
int i )
const;
77 void update_bbox(
Vec3D &min,
Vec3D &max )
const;
79 int ray_cross(
const Vec3D &x,
const Vec3D &l )
const;
91 VTriangle( uint32_t v1, uint32_t v2, uint32_t v3,
const Vec3D &normal );
92 VTriangle(
const uint32_t v[3],
const Vec3D &normal );
95 const Vec3D &normal(
void )
const;
96 const uint32_t &operator[](
int i )
const;
104 friend std::ostream &
operator<<( std::ostream &os,
const VTriangle &vtri );
108 std::vector<Triangle> _triangle;
110 std::vector<Vec3D> _vertex;
111 std::vector<VTriangle> _vtri;
113 void read_binary( std::ifstream &ifstr );
114 void build_vtriangle_data(
void );
118 STLFile(
const std::string &filename );
124 bool inside(
const Vec3D &x,
double eps = 1.0e-6 )
const;
136 friend std::ostream &
operator<<( std::ostream &os,
const VTriangle &vtri );
void debug_print(std::ostream &os) const
Print debugging information to os.
friend std::ostream & operator<<(std::ostream &os, const VTriangle &vtri)
Outputting to stream.
STLFile(const std::string &filename)
Three dimensional vectors.
Definition: stlfile.hpp:53
void get_bbox(Vec3D &min, Vec3D &max) const
Return bounding box of entity.
bool inside(const Vec3D &x, double eps=1.0e-6) const
Three dimensional vector.
Definition: vec3d.hpp:58