123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #pragma once
- #include <Mathematics/Segment.h>
- namespace WwiseGTE
- {
- template <int N, typename Real>
- class Capsule
- {
- public:
-
-
-
- Capsule()
- :
- radius((Real)1)
- {
- }
- Capsule(Segment<N, Real> const& inSegment, Real inRadius)
- :
- segment(inSegment),
- radius(inRadius)
- {
- }
-
- Segment<N, Real> segment;
- Real radius;
- public:
-
- bool operator==(Capsule const& capsule) const
- {
- return segment == capsule.segment && radius == capsule.radius;
- }
- bool operator!=(Capsule const& capsule) const
- {
- return !operator==(capsule);
- }
- bool operator< (Capsule const& capsule) const
- {
- if (segment < capsule.segment)
- {
- return true;
- }
- if (segment > capsule.segment)
- {
- return false;
- }
- return radius < capsule.radius;
- }
- bool operator<=(Capsule const& capsule) const
- {
- return !capsule.operator<(*this);
- }
- bool operator> (Capsule const& capsule) const
- {
- return capsule.operator<(*this);
- }
- bool operator>=(Capsule const& capsule) const
- {
- return !operator<(capsule);
- }
- };
-
- template <typename Real>
- using Capsule3 = Capsule<3, Real>;
- }
|