STP_BigSphere.h
Go to the documentation of this file.
1 #ifndef _STP_BIGSPHERE
2 #define _STP_BIGSPHERE
3 
4 #pragma once
6 #include <sch/sch_api.h>
7 
8 #ifdef WITH_BOOST_1_36
10 #endif
11 #include <boost/serialization/base_object.hpp>
12 
13 namespace sch
14 {
15 class STP_BigSphere : public STP_Feature
16 {
17 
18 public:
20  SCH_API STP_BigSphere(Scalar radius, Point3 center);
23 
24  SCH_API const Point3 & getCenter() const;
25  // void setVVR(const Vector3* vvr);
26  SCH_API void setVVR(const STP_VVR * vvr);
27 
28  SCH_API virtual void print() const;
29 
30  SCH_API virtual bool isHere(const Vector3 & v) const;
31  SCH_API virtual bool isHereFarthestNeighbour(const Vector3 & v);
32  SCH_API virtual bool isHereFarthestNeighbourPrime(const Vector3 & v);
33  SCH_API virtual bool isHereFirstNeighbour(const Vector3 & v);
34  SCH_API virtual bool isHereFirstNeighbourPrime(const Vector3 & v, int idp);
35  SCH_API virtual bool isHereHybrid(const Vector3 & v, int idp);
36 
37  SCH_API virtual int getNextBV(unsigned int id) const;
38 
39  SCH_API virtual Scalar supportH(const Vector3 & v) const;
40  SCH_API virtual Point3 support(const Vector3 & v) const;
41 
42  SCH_API virtual bool ray_cast(const Point3 & source, const Point3 & target, Scalar & param, Vector3 & normal) const;
43 
44  SCH_API virtual STP_Feature * clone() const;
45 
46  SCH_API virtual int getNextBVPrime() const
47  {
48  return m_nextBVPrime;
49  }
50 
51  template<class Archive>
52  void serialize(Archive & ar, const unsigned int /*version*/)
53  {
54  ar & boost::serialization::base_object<STP_Feature>(*this);
55  ar & m_radius & m_center & m_VVR0 & m_VVR1 & m_VVR2;
59  }
60 
61 protected:
65  int m_nextBV[3];
66 };
67 } // namespace sch
68 
69 #endif
oserializer.hpp
sch::STP_BigSphere::isHere
virtual SCH_API bool isHere(const Vector3 &v) const
sch::STP_BigSphere::getNextBVPrime
virtual SCH_API int getNextBVPrime() const
Definition: STP_BigSphere.h:46
sch::STP_BigSphere::m_VVR1
STP_VVR m_VVR1
Definition: STP_BigSphere.h:64
sch
Definition: CD_Pair.h:11
sch::STP_Feature::m_nextBVPrime
int m_nextBVPrime
Definition: STP_Feature.h:132
sch::STP_BigSphere::m_VVR0
STP_VVR m_VVR0
Definition: STP_BigSphere.h:64
SCH_API
#define SCH_API
Definition: sch_api.h:13
sch::STP_BigSphere::~STP_BigSphere
SCH_API ~STP_BigSphere()
sch::s_STP_VVR::m_outerSTP
int m_outerSTP
Definition: STP_Feature.h:39
sch::STP_BigSphere::m_nextBV
int m_nextBV[3]
Definition: STP_BigSphere.h:65
sch::STP_BigSphere::serialize
void serialize(Archive &ar, const unsigned int)
Definition: STP_BigSphere.h:52
sch::s_STP_VVR
Definition: STP_Feature.h:12
sch::STP_BigSphere::print
virtual SCH_API void print() const
sch::STP_BigSphere::isHereFirstNeighbourPrime
virtual SCH_API bool isHereFirstNeighbourPrime(const Vector3 &v, int idp)
sch::STP_BigSphere::ray_cast
virtual SCH_API bool ray_cast(const Point3 &source, const Point3 &target, Scalar &param, Vector3 &normal) const
sch::STP_BigSphere::supportH
virtual SCH_API Scalar supportH(const Vector3 &v) const
sch::STP_BigSphere::getCenter
const SCH_API Point3 & getCenter() const
sch::STP_BigSphere::clone
virtual SCH_API STP_Feature * clone() const
sch::STP_BigSphere::isHereFarthestNeighbourPrime
virtual SCH_API bool isHereFarthestNeighbourPrime(const Vector3 &v)
sch_api.h
sch::STP_BigSphere::m_radius
Scalar m_radius
Definition: STP_BigSphere.h:62
sch::STP_BigSphere::setVVR
SCH_API void setVVR(const STP_VVR *vvr)
sch::STP_BigSphere::getNextBV
virtual SCH_API int getNextBV(unsigned int id) const
STP_Feature.h
sch::STP_BigSphere::support
virtual SCH_API Point3 support(const Vector3 &v) const
CD_Matrix::Vector3T< Scalar, false >
sch::STP_BigSphere::isHereHybrid
virtual SCH_API bool isHereHybrid(const Vector3 &v, int idp)
sch::STP_BigSphere::isHereFirstNeighbour
virtual SCH_API bool isHereFirstNeighbour(const Vector3 &v)
sch::STP_BigSphere::isHereFarthestNeighbour
virtual SCH_API bool isHereFarthestNeighbour(const Vector3 &v)
sch::Scalar
double Scalar
Definition: SCH_Types.h:23
sch::STP_BigSphere::m_center
Point3 m_center
Definition: STP_BigSphere.h:63
sch::STP_BigSphere::STP_BigSphere
SCH_API STP_BigSphere()
sch::STP_BigSphere
Definition: STP_BigSphere.h:15
sch::STP_Feature
Definition: STP_Feature.h:102
sch::STP_BigSphere::m_VVR2
STP_VVR m_VVR2
Definition: STP_BigSphere.h:64