Fixed build when using of double BoundingBox/BoundingSphere
This commit is contained in:
parent
391ab02573
commit
efc493cfa0
@ -51,6 +51,12 @@ class BoundingBoxImpl
|
|||||||
-FLT_MAX)
|
-FLT_MAX)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
template<typename BT>
|
||||||
|
inline BoundingBoxImpl(const BoundingBoxImpl<BT>& bb) :
|
||||||
|
_min(bb._min),
|
||||||
|
_max(bb._max)
|
||||||
|
{}
|
||||||
|
|
||||||
/** Creates a bounding box initialized to the given extents. */
|
/** Creates a bounding box initialized to the given extents. */
|
||||||
inline BoundingBoxImpl(value_type xmin, value_type ymin, value_type zmin,
|
inline BoundingBoxImpl(value_type xmin, value_type ymin, value_type zmin,
|
||||||
value_type xmax, value_type ymax, value_type zmax) :
|
value_type xmax, value_type ymax, value_type zmax) :
|
||||||
@ -192,7 +198,8 @@ class BoundingBoxImpl
|
|||||||
|
|
||||||
/** Expands this bounding box to include the given sphere.
|
/** Expands this bounding box to include the given sphere.
|
||||||
* If this box is uninitialized, set it to include sh. */
|
* If this box is uninitialized, set it to include sh. */
|
||||||
void expandBy(const BoundingSphereImpl<VT>& sh)
|
template<typename BST>
|
||||||
|
void expandBy(const BoundingSphereImpl<BST>& sh)
|
||||||
{
|
{
|
||||||
if (!sh.valid()) return;
|
if (!sh.valid()) return;
|
||||||
|
|
||||||
|
@ -113,11 +113,13 @@ class BoundingSphereImpl
|
|||||||
|
|
||||||
/** Expands the sphere to encompass the given box. Repositions the
|
/** Expands the sphere to encompass the given box. Repositions the
|
||||||
* sphere center to minimize the radius increase. */
|
* sphere center to minimize the radius increase. */
|
||||||
void expandBy(const BoundingBoxImpl<VT>& bb);
|
template<typename BBT>
|
||||||
|
void expandBy(const BoundingBoxImpl<BBT>& bb);
|
||||||
|
|
||||||
/** Expands the sphere to encompass the given box. Does not
|
/** Expands the sphere to encompass the given box. Does not
|
||||||
* repositions the sphere center. */
|
* repositions the sphere center. */
|
||||||
void expandRadiusBy(const BoundingBoxImpl<VT>& bb);
|
template<typename BBT>
|
||||||
|
void expandRadiusBy(const BoundingBoxImpl<BBT>& bb);
|
||||||
|
|
||||||
/** Returns true if v is within the sphere. */
|
/** Returns true if v is within the sphere. */
|
||||||
inline bool contains(const vec_type& v) const
|
inline bool contains(const vec_type& v) const
|
||||||
@ -138,12 +140,12 @@ class BoundingSphereImpl
|
|||||||
|
|
||||||
|
|
||||||
template<typename VT>
|
template<typename VT>
|
||||||
template<typename vector_type>
|
template<typename vector_type>
|
||||||
void BoundingSphereImpl<VT>::expandBy(const vector_type& v)
|
void BoundingSphereImpl<VT>::expandBy(const vector_type& v)
|
||||||
{
|
{
|
||||||
if (valid())
|
if (valid())
|
||||||
{
|
{
|
||||||
vec_type dv = v-_center;
|
vec_type dv = vec_type(v)-_center;
|
||||||
value_type r = dv.length();
|
value_type r = dv.length();
|
||||||
if (r>_radius)
|
if (r>_radius)
|
||||||
{
|
{
|
||||||
@ -160,12 +162,12 @@ void BoundingSphereImpl<VT>::expandBy(const vector_type& v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename VT>
|
template<typename VT>
|
||||||
template<typename vector_type>
|
template<typename vector_type>
|
||||||
void BoundingSphereImpl<VT>::expandRadiusBy(const vector_type& v)
|
void BoundingSphereImpl<VT>::expandRadiusBy(const vector_type& v)
|
||||||
{
|
{
|
||||||
if (valid())
|
if (valid())
|
||||||
{
|
{
|
||||||
value_type r = (v-_center).length();
|
value_type r = (vec_type(v)-_center).length();
|
||||||
if (r>_radius) _radius = r;
|
if (r>_radius) _radius = r;
|
||||||
// else do nothing as vertex is within sphere.
|
// else do nothing as vertex is within sphere.
|
||||||
}
|
}
|
||||||
@ -247,7 +249,8 @@ void BoundingSphereImpl<VT>::expandRadiusBy(const BoundingSphereImpl& sh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename VT>
|
template<typename VT>
|
||||||
void BoundingSphereImpl<VT>::expandBy(const BoundingBoxImpl<VT>& bb)
|
template<typename BBT>
|
||||||
|
void BoundingSphereImpl<VT>::expandBy(const BoundingBoxImpl<BBT>& bb)
|
||||||
{
|
{
|
||||||
if (bb.valid())
|
if (bb.valid())
|
||||||
{
|
{
|
||||||
@ -277,7 +280,8 @@ void BoundingSphereImpl<VT>::expandBy(const BoundingBoxImpl<VT>& bb)
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename VT>
|
template<typename VT>
|
||||||
void BoundingSphereImpl<VT>::expandRadiusBy(const BoundingBoxImpl<VT>& bb)
|
template<typename BBT>
|
||||||
|
void BoundingSphereImpl<VT>::expandRadiusBy(const BoundingBoxImpl<BBT>& bb)
|
||||||
{
|
{
|
||||||
if (bb.valid())
|
if (bb.valid())
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user