25 GeomTree(
const int numVerts,
const int numTris,
const std::vector<vector3f> &vertices,
const std::vector<Uint32> indices,
const std::vector<Uint32> triFlags);
38 Uint32
GetTriFlag(
int triIdx)
const {
return m_triFlags[triIdx]; }
61 const std::vector<vector3f> &
GetVertices()
const {
return m_vertices; }
62 const Uint32 *
GetIndices()
const {
return &m_indices[0]; }
68 void RayTriIntersect(
int numRays,
const vector3f &origin,
const vector3f *dirs,
int triIdx,
isect_t *isects)
const;
76 std::vector<Aabb> m_aabbs;
78 std::unique_ptr<BVHTree> m_triTree;
79 std::unique_ptr<BVHTree> m_edgeTree;
81 std::vector<Edge> m_edges;
83 std::vector<vector3f> m_vertices;
84 std::vector<Uint32> m_indices;
85 std::vector<Uint32> m_triFlags;
const Edge * GetEdges() const
Definition GeomTree.h:52
BVHTree * GetEdgeTree() const
Definition GeomTree.h:59
const Uint32 * GetIndices() const
Definition GeomTree.h:62
int GetNumTris() const
Definition GeomTree.h:65
~GeomTree()
Definition GeomTree.cpp:12
void Save(Serializer::Writer &wr) const
Definition GeomTree.cpp:316
const Uint32 * GetTriFlags() const
Definition GeomTree.h:63
BVHTree * GetTriTree() const
Definition GeomTree.h:58
int GetNumEdges() const
Definition GeomTree.h:56
void TraceRay(const vector3f &start, const vector3f &dir, isect_t *isect) const
Definition GeomTree.cpp:242
const std::vector< vector3f > & GetVertices() const
Definition GeomTree.h:61
double GetRadius() const
Definition GeomTree.h:39
Uint32 GetTriFlag(int triIdx) const
Definition GeomTree.h:38
vector3f GetTriNormal(int triIdx) const
Definition GeomTree.cpp:306
const Aabb & GetAabb() const
Definition GeomTree.h:31
int GetNumVertices() const
Definition GeomTree.h:64
Definition Serializer.h:110
Definition Serializer.h:35
int v1i
Definition GeomTree.h:43
int v2i
Definition GeomTree.h:43
int triFlag
Definition GeomTree.h:48
float len
Definition GeomTree.h:44
vector3f dir
Definition GeomTree.h:45
float dist
Definition GeomTree.h:17
int triIdx
Definition GeomTree.h:16