3 #ifndef _POLYHEDRON_ALGORITHMS
4 # define _POLYHEDRON_ALGORITHMS
18 template<
class Archive>
34 template<
class Archive>
43 const Vector3 & p1 = v[
a]->getCoordinates();
44 const Vector3 & p2 = v[
b]->getCoordinates();
112 template<
class Archive>
Definition: S_PolyhedronVertex.h:15
#define SCH_API
Definition: sch_api.h:13
Definition: Polyhedron_algorithms.h:29
size_t a
Definition: Polyhedron_algorithms.h:30
Vector3 edge
Definition: Polyhedron_algorithms.h:31
void computeEdge(const std::vector< S_PolyhedronVertex * > &v)
Definition: Polyhedron_algorithms.h:41
size_t b
Definition: Polyhedron_algorithms.h:30
void serialize(Archive &ar, const unsigned int)
Definition: Polyhedron_algorithms.h:35
Definition: Polyhedron_algorithms.h:13
unsigned int b
Definition: Polyhedron_algorithms.h:14
unsigned int a
Definition: Polyhedron_algorithms.h:14
unsigned int c
Definition: Polyhedron_algorithms.h:14
void serialize(Archive &ar, const unsigned int)
Definition: Polyhedron_algorithms.h:19
Vector3 normal
Definition: Polyhedron_algorithms.h:15
Definition: Polyhedron_algorithms.h:50
SCH_API void deleteVertexesWithoutNeighbors()
deletes aal the vertexes that dont have neighbors;
SCH_API void updateFastArrays()
updates the fast access arrays, must be called after each polyhedron modification
S_PolyhedronVertex ** fastVertexes_
Definition: Polyhedron_algorithms.h:126
SCH_API void fillEdges()
Fill the edges_ variable using the data from the polyhedron.
unsigned numberOfVertices_
Definition: Polyhedron_algorithms.h:128
SCH_API Polyhedron_algorithms(void)
SCH_API Point3 support(const Vector3 &v, int &lastFeature) const
Computes the support point of the polyhedron.
SCH_API void clearNeighbors()
clears the neighbors tables;
SCH_API size_t getEdgeKey(PolyhedronEdge e)
get the key of an edge computed automatically from its vertices
S_PolyhedronVertex ** lastVertexes_
Definition: Polyhedron_algorithms.h:127
std::vector< S_PolyhedronVertex * > vertexes_
Definition: Polyhedron_algorithms.h:121
SCH_API void openFromFile(const std::string &filename)
loads the polyhedron from a file. the file must be in the format of Qhull conconvex....
SCH_API ~Polyhedron_algorithms(void)
std::vector< PolyhedronTriangle > triangles_
Definition: Polyhedron_algorithms.h:123
SCH_API Polyhedron_algorithms(const Polyhedron_algorithms &)
SCH_API void clear()
clears all the polyhedron;
SCH_API Point3 naiveSupport(const Vector3 &v) const
SCH_API void updateVertexNeighbors()
updates the Neighborhood of the vertexes, must be called on polyhedron \which vertexes have no neighb...
std::vector< PolyhedronEdge > edges_
Definition: Polyhedron_algorithms.h:124
SCH_API const Polyhedron_algorithms & operator=(const Polyhedron_algorithms &)
void serialize(Archive &ar, const unsigned int)
Definition: Polyhedron_algorithms.h:113