Skip to content

Commit

Permalink
Use static member function instead of function operator
Browse files Browse the repository at this point in the history
  • Loading branch information
jslee02 committed Aug 9, 2016
1 parent 27cad3d commit b749c03
Show file tree
Hide file tree
Showing 12 changed files with 231 additions and 285 deletions.
11 changes: 5 additions & 6 deletions include/fcl/BV/BV_node.h
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ Vector3<typename BVNode<BV>::Scalar> BVNode<BV>::getCenter() const
template <typename Scalar, typename BV>
struct GetOrientationImpl
{
Matrix3<Scalar> operator()(/*const BVNode<BV>& node*/)
static Matrix3<Scalar> run(const BVNode<BV>& /*node*/)
{
return Matrix3<Scalar>::Identity();
}
Expand All @@ -166,15 +166,14 @@ struct GetOrientationImpl
template <typename BV>
Matrix3<typename BV::Scalar> BVNode<BV>::getOrientation() const
{
GetOrientationImpl<typename BV::Scalar, BV> getOrientationImpl;
return getOrientationImpl(bv);
return GetOrientationImpl<typename BV::Scalar, BV>::run(bv);
}

//==============================================================================
template <typename Scalar>
struct GetOrientationImpl<Scalar, OBB<Scalar>>
{
Matrix3<Scalar> operator()(const OBB<Scalar>& bv)
static Matrix3<Scalar> run(const OBB<Scalar>& bv)
{
return bv.frame.linear();
}
Expand All @@ -184,7 +183,7 @@ struct GetOrientationImpl<Scalar, OBB<Scalar>>
template <typename Scalar>
struct GetOrientationImpl<Scalar, RSS<Scalar>>
{
Matrix3<Scalar> operator()(const RSS<Scalar>& bv)
static Matrix3<Scalar> run(const RSS<Scalar>& bv)
{
return bv.frame.linear();
}
Expand All @@ -194,7 +193,7 @@ struct GetOrientationImpl<Scalar, RSS<Scalar>>
template <typename Scalar>
struct GetOrientationImpl<Scalar, OBBRSS<Scalar>>
{
Matrix3<Scalar> operator()(const OBBRSS<Scalar>& bv)
static Matrix3<Scalar> run(const OBBRSS<Scalar>& bv)
{
return bv.obb.frame.linear();
}
Expand Down
11 changes: 5 additions & 6 deletions include/fcl/BV/kDOP.h
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,7 @@ void minmax(Scalar p, Scalar& minv, Scalar& maxv)
template <typename Scalar, std::size_t N>
struct GetDistancesImpl
{
void operator()(const Vector3<Scalar>& p, Scalar* d)
static void run(const Vector3<Scalar>& /*p*/, Scalar* /*d*/)
{
// Do nothing
}
Expand All @@ -422,15 +422,14 @@ struct GetDistancesImpl
template <typename Scalar, std::size_t N>
void getDistances(const Vector3<Scalar>& p, Scalar* d)
{
GetDistancesImpl<Scalar, N> getDistancesImpl;
getDistancesImpl(p, d);
GetDistancesImpl<Scalar, N>::run(p, d);
}

//==============================================================================
template <typename Scalar>
struct GetDistancesImpl<Scalar, 5>
{
void operator()(const Vector3<Scalar>& p, Scalar* d)
static void run(const Vector3<Scalar>& p, Scalar* d)
{
d[0] = p[0] + p[1];
d[1] = p[0] + p[2];
Expand All @@ -444,7 +443,7 @@ struct GetDistancesImpl<Scalar, 5>
template <typename Scalar>
struct GetDistancesImpl<Scalar, 6>
{
void operator()(const Vector3<Scalar>& p, Scalar* d)
static void run(const Vector3<Scalar>& p, Scalar* d)
{
d[0] = p[0] + p[1];
d[1] = p[0] + p[2];
Expand All @@ -459,7 +458,7 @@ struct GetDistancesImpl<Scalar, 6>
template <typename Scalar>
struct GetDistancesImpl<Scalar, 9>
{
void operator()(const Vector3<Scalar>& p, Scalar* d)
static void run(const Vector3<Scalar>& p, Scalar* d)
{
d[0] = p[0] + p[1];
d[1] = p[0] + p[2];
Expand Down
33 changes: 16 additions & 17 deletions include/fcl/BVH/BVH_model.h
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,7 @@ OBJECT_TYPE BVHModel<BV>::getObjectType() const
template <typename BV>
struct GetNodeTypeImpl
{
NODE_TYPE operator()()
static NODE_TYPE run()
{
return BV_UNKNOWN;
}
Expand All @@ -388,8 +388,7 @@ struct GetNodeTypeImpl
template <typename BV>
NODE_TYPE BVHModel<BV>::getNodeType() const
{
GetNodeTypeImpl<BV> getNodeTypeImpl;
return getNodeTypeImpl();
return GetNodeTypeImpl<BV>::run();
}

//==============================================================================
Expand Down Expand Up @@ -1205,7 +1204,7 @@ int BVHModel<BV>::recursiveRefitTree_bottomup(int bv_id)
template <typename Scalar, typename BV>
struct MakeParentRelativeRecurseImpl
{
void operator()(BVHModel<BV>& model,
static void run(BVHModel<BV>& model,
int bv_id,
const Matrix3<Scalar>& parent_axis,
const Vector3<Scalar>& parent_c)
Expand All @@ -1230,8 +1229,8 @@ void BVHModel<BV>::makeParentRelativeRecurse(
const Matrix3<Scalar>& parent_axis,
const Vector3<Scalar>& parent_c)
{
MakeParentRelativeRecurseImpl<typename BV::Scalar, BV> tmp;
tmp(*this, bv_id, parent_axis, parent_c);
MakeParentRelativeRecurseImpl<typename BV::Scalar, BV>::run(
*this, bv_id, parent_axis, parent_c);
}

//==============================================================================
Expand Down Expand Up @@ -1278,7 +1277,7 @@ void BVHModel<BV>::computeLocalAABB()
template <typename Scalar>
struct MakeParentRelativeRecurseImpl<Scalar, OBB<Scalar>>
{
void operator()(BVHModel<OBB<Scalar>>& model,
static void run(BVHModel<OBB<Scalar>>& model,
int bv_id,
const Matrix3<Scalar>& parent_axis,
const Vector3<Scalar>& parent_c)
Expand All @@ -1303,7 +1302,7 @@ struct MakeParentRelativeRecurseImpl<Scalar, OBB<Scalar>>
template <typename Scalar>
struct MakeParentRelativeRecurseImpl<Scalar, RSS<Scalar>>
{
void operator()(BVHModel<RSS<Scalar>>& model,
static void run(BVHModel<RSS<Scalar>>& model,
int bv_id,
const Matrix3<Scalar>& parent_axis,
const Vector3<Scalar>& parent_c)
Expand All @@ -1328,7 +1327,7 @@ struct MakeParentRelativeRecurseImpl<Scalar, RSS<Scalar>>
template <typename Scalar>
struct MakeParentRelativeRecurseImpl<Scalar, OBBRSS<Scalar>>
{
void operator()(BVHModel<OBBRSS<Scalar>>& model,
static void run(BVHModel<OBBRSS<Scalar>>& model,
int bv_id,
const Matrix3<Scalar>& parent_axis,
const Vector3<Scalar>& parent_c)
Expand Down Expand Up @@ -1357,7 +1356,7 @@ struct MakeParentRelativeRecurseImpl<Scalar, OBBRSS<Scalar>>
template <typename Scalar>
struct GetNodeTypeImpl<AABB<Scalar>>
{
NODE_TYPE operator()()
static NODE_TYPE run()
{
return BV_AABB;
}
Expand All @@ -1367,7 +1366,7 @@ struct GetNodeTypeImpl<AABB<Scalar>>
template <typename Scalar>
struct GetNodeTypeImpl<OBB<Scalar>>
{
NODE_TYPE operator()()
static NODE_TYPE run()
{
return BV_OBB;
}
Expand All @@ -1377,7 +1376,7 @@ struct GetNodeTypeImpl<OBB<Scalar>>
template <typename Scalar>
struct GetNodeTypeImpl<RSS<Scalar>>
{
NODE_TYPE operator()()
static NODE_TYPE run()
{
return BV_RSS;
}
Expand All @@ -1387,7 +1386,7 @@ struct GetNodeTypeImpl<RSS<Scalar>>
template <typename Scalar>
struct GetNodeTypeImpl<kIOS<Scalar>>
{
NODE_TYPE operator()()
static NODE_TYPE run()
{
return BV_kIOS;
}
Expand All @@ -1397,7 +1396,7 @@ struct GetNodeTypeImpl<kIOS<Scalar>>
template <typename Scalar>
struct GetNodeTypeImpl<OBBRSS<Scalar>>
{
NODE_TYPE operator()()
static NODE_TYPE run()
{
return BV_OBBRSS;
}
Expand All @@ -1407,7 +1406,7 @@ struct GetNodeTypeImpl<OBBRSS<Scalar>>
template <typename Scalar>
struct GetNodeTypeImpl<KDOP<Scalar, 16>>
{
NODE_TYPE operator()()
static NODE_TYPE run()
{
return BV_KDOP16;
}
Expand All @@ -1417,7 +1416,7 @@ struct GetNodeTypeImpl<KDOP<Scalar, 16>>
template <typename Scalar>
struct GetNodeTypeImpl<KDOP<Scalar, 18>>
{
NODE_TYPE operator()()
static NODE_TYPE run()
{
return BV_KDOP18;
}
Expand All @@ -1427,7 +1426,7 @@ struct GetNodeTypeImpl<KDOP<Scalar, 18>>
template <typename Scalar>
struct GetNodeTypeImpl<KDOP<Scalar, 24>>
{
NODE_TYPE operator()()
static NODE_TYPE run()
{
return BV_KDOP24;
}
Expand Down
Loading

0 comments on commit b749c03

Please sign in to comment.