Go to the documentation of this file.
12 # ifdef WITH_BOOST_1_36
15 # include <boost/serialization/split_member.hpp>
43 Geometry(
GeometryType t) :
type(t),
color(0, 0, 0),
radius(0),
center(0, 0, 0),
rotation(1, 0, 0, 0, 1, 0, 0, 0, 1) {}
54 template<
class Archive>
80 template<
class Archive>
107 s_SphereApproxim(std::vector<Point3> & vertices,
int step,
const Point3 & sphereCenter,
double sphereRadius);
116 template<
class Archive>
147 void setData(
const Point3 & axis,
const std::vector<Point3> & points);
154 bool operator()(
unsigned int id1,
unsigned int id2)
const;
156 template<
class Archive>
283 template<
class Archive>
284 void load(Archive & ar,
const unsigned int )
286 ar & boost::serialization::base_object<S_ObjectNormalized>(*
this);
292 template<
class Archive>
293 void save(Archive & ar,
const unsigned int )
const
295 ar & boost::serialization::base_object<S_ObjectNormalized>(*
this);
310 BOOST_SERIALIZATION_SPLIT_MEMBER()
333 std::vector<
Point3> & res) const;
348 std::vector<
Point3> & res,
362 const
Point3 & l2p2) const;
@ BINARY_ARCHIVE
Definition: STP_BV.h:22
void load(Archive &ar, const unsigned int)
Definition: STP_BV.h:284
struct sch::s_SphereApproxim SphereApproxim
struct sch::s_PointsComparator PointsComparator
std::vector< Vector3 > vertex
Definition: STP_BV.h:40
Scalar _r
Definition: STP_BV.h:382
void serialize(Archive &ar, const unsigned int)
Definition: STP_BV.h:81
void serialize(Archive &ar, const unsigned int)
Definition: STP_BV.h:157
SCH_API void computeArcPointsBetween(const Point3 &p1, const Point3 &p2, const Point3 ¢er, int step, std::vector< Point3 > &res) const
Computes the points of an arc.
@ LINE
Definition: STP_BV.h:30
int m_patchesSize
Definition: STP_BV.h:381
Point3 m_axis
Definition: STP_BV.h:162
Scalar m_sphereRadius
Definition: STP_BV.h:125
int m_step
Definition: STP_BV.h:123
S_ObjectType
type of a solid object. Don't use it to cast !
Definition: S_Object.h:233
#define SCH_API
Definition: sch_api.h:13
SCH_API Point3 computeLinesCommonPoint(const Point3 &l1p1, const Point3 &l1p2, const Point3 &l2p1, const Point3 &l2p2) const
Computes the intersection of two segments.
void save(Archive &ar, const unsigned int) const
Definition: STP_BV.h:293
Functor.
Definition: STP_BV.h:135
std::vector< Point3 > & m_vertices
Definition: STP_BV.h:122
void operator()(const Triangle &vertices, const int ¤tStep) const
operator parenthesis
GeometryType type
Definition: STP_BV.h:35
s_SphereApproxim(std::vector< Point3 > &vertices, int step, const Point3 &sphereCenter, double sphereRadius)
Constructor.
Point3 m_vertex3
Definition: STP_BV.h:88
virtual SCH_API void loadFromBinary(const std::string &filename)
Load the object from a binary archive.
virtual SCH_API Point3 supportFirstNeighbourPrime(const Vector3 &v, int &lastFeature) const
gives the support for a vector using the First neighbour method.
struct sch::s_Triangle Triangle
virtual SCH_API STP_BV & operator=(const STP_BV &)
virtual SCH_API Point3 supportHybrid(const Vector3 &v, int &lastFeature) const
Geometry(GeometryType t)
Definition: STP_BV.h:43
Scalar getSmallRadius() const
Definition: STP_BV.h:305
struct sch::s_toruslinkedBV toruslinkedBV
SCH_API void loadTreeFromFile(const std::string &treefilename, ArchiveType type=TEXT_ARCHIVE)
Load the tree structure of the object from a file.
virtual SCH_API Point3 supportNaive(const Vector3 &v) const
SCH_API void addPatch(STP_Feature *patch)
Adds a bouding volume to the object.
Point3 center
Definition: STP_BV.h:38
virtual SCH_API STP_BV * clone() const
Returns a copy of this S_Object.
SCH_API Point3 computeCenter(const std::vector< Point3 > &points)
Computes the center of a surface defined by a list of points.
virtual SCH_API Point3 l_Support(const Vector3 &v, int &lastFeature) const
gives the support point for a given vector in local cordinates and a given last feature....
int buffer[4]
Definition: STP_BV.h:53
std::vector< Geometry > geometries_
Definition: STP_BV.h:384
bool operator()(unsigned int id1, unsigned int id2) const
operator parenthesis
virtual SCH_API Point3 supportFirstNeighbour(const Vector3 &v, int &lastFeature) const
SCH_API void printSupportTree(std::string filename) const
Print the support tree in a file.
SCH_API void computeConePointsBetween(const Point3 &p1, const Point3 &p2, Vector3 axis, int step, std::vector< Point3 > &res, Matrix3x3 &homo)
Computes the points of.
Point3 color
Definition: STP_BV.h:36
std::vector< Vector3 > normal
Definition: STP_BV.h:41
virtual SCH_API void constructFromFileWithGL(const std::string &filename)
Definition: STP_BV.h:188
void serialize(Archive &ar, const unsigned int)
Definition: STP_BV.h:117
virtual SCH_API bool ray_cast(const Point3 &source, const Point3 &target, Scalar ¶m, Vector3 &normal) const
I don't know.
virtual SCH_API Point3 supportFarthestNeighbour(const Vector3 &v, int &lastFeature) const
Point3 m_sphereCenter
Definition: STP_BV.h:124
virtual SCH_API Point3 supportFarthestNeighbourPrime(const Vector3 &v, int &lastFeature) const
Scalar radius
Definition: STP_BV.h:37
@ TRIANGLE
Definition: STP_BV.h:31
Matrix3x3 rotation
Definition: STP_BV.h:39
std::vector< Point3 > m_points
Definition: STP_BV.h:163
void setData(const Point3 &axis, const std::vector< Point3 > &points)
Constructor.
virtual SCH_API void constructFromFile(const std::string &filename)
Constructs the object from a file describing its STP_BV decomposition.
Definition: S_ObjectNormalized.h:15
s_PointsComparator()
Default constructor.
ArchiveType
Definition: STP_BV.h:20
virtual SCH_API void saveToBinary(const std::string &filename)
Save the object to a binary archive.
Scalar getBigRadius() const
Definition: STP_BV.h:300
Point3 m_vertex1
Definition: STP_BV.h:86
const std::vector< sch::Geometry > & getGeometries() const
SCH_API int getFeaturesNumber() const
returns the vertex number in the STP-BV
Functor.
Definition: STP_BV.h:98
void serialize(Archive &ar, const unsigned int)
Definition: STP_BV.h:55
SCH_API void saveTreeInFile(const std::string &treefilename, ArchiveType type=TEXT_ARCHIVE)
@ SPHERE
Definition: STP_BV.h:32
Stores the IDs of the BV to which a torus is linked.
Definition: STP_BV.h:51
virtual SCH_API ~STP_BV(void)
Scalar _R
Definition: STP_BV.h:382
double Scalar
Definition: SCH_Types.h:23
virtual SCH_API Scalar supportH(const Vector3 &v) const
@ TEXT_ARCHIVE
Definition: STP_BV.h:23
GeometryType
Definition: STP_BV.h:28
s_Triangle()
Default constructor.
Definition: STP_BV.h:71
std::vector< STP_Feature * > m_patches
Definition: STP_BV.h:377
virtual SCH_API S_ObjectType getType() const
must be overloaded to return the type
STP_Feature ** m_lastPatches
Definition: STP_BV.h:380
Defines a triangle.
Definition: STP_BV.h:66
SCH_API void updateFastPatches()
Updates the dynamical array fastPatches. Must be called after each patches modification.
Definition: STP_Feature.h:102
Point3 m_vertex2
Definition: STP_BV.h:87
STP_Feature ** m_fastPatches
Definition: STP_BV.h:379