INET Framework for OMNeT++/OMNEST
inet::BvhTree::AxisComparator Struct Reference

#include <BvhTree.h>

Public Member Functions

 AxisComparator (char axis)
 
bool operator() (const physicalenvironment::IPhysicalObject *left, const physicalenvironment::IPhysicalObject *right) const
 

Public Attributes

char axis
 

Constructor & Destructor Documentation

◆ AxisComparator()

inet::BvhTree::AxisComparator::AxisComparator ( char  axis)
inline
54 : axis(axis) {}

Member Function Documentation

◆ operator()()

bool inet::BvhTree::AxisComparator::operator() ( const physicalenvironment::IPhysicalObject left,
const physicalenvironment::IPhysicalObject right 
) const
inline
56  {
57  Coord leftPos = left->getPosition() + left->getShape()->computeBoundingBoxSize() / 2;
58  Coord rightPos = right->getPosition() + right->getShape()->computeBoundingBoxSize() / 2;
59  switch (axis) {
60  case 'X': return leftPos.x < rightPos.x;
61  case 'Y': return leftPos.y < rightPos.y;
62  case 'Z': return leftPos.z < rightPos.z;
63  default: throw cRuntimeError("Unknown axis");
64  }
65  }

Member Data Documentation

◆ axis

char inet::BvhTree::AxisComparator::axis

The documentation for this struct was generated from the following file:
inet::BvhTree::AxisComparator::axis
char axis
Definition: BvhTree.h:53
inet::BvhTree::right
BvhTree * right
Definition: BvhTree.h:74
inet::BvhTree::left
BvhTree * left
Definition: BvhTree.h:73