a 3d box More...
#include <box.h>
Public Types | |
| enum | Side { RIGHT, LEFT, TOP, BOTTOM, UP, DOWN } |
| Enum class to specify sides of a box. More... | |
Public Member Functions | |
| Box (double _xMin, double _xMax, double _yMin, double _yMax, double _zMin, double _zMax) | |
| Box () | |
| Create a zero-sized box located at coordinates (0.0,0.0,0.0) More... | |
| Vector | CalculateIntersection (const Vector ¤t, const Vector &speed) const |
| Side | GetClosestSide (const Vector &position) const |
| bool | IsInside (const Vector &position) const |
Public Attributes | |
| double | xMax |
| The x coordinate of the right bound of the box. More... | |
| double | xMin |
| The x coordinate of the left bound of the box. More... | |
| double | yMax |
| The y coordinate of the top bound of the box. More... | |
| double | yMin |
| The y coordinate of the bottom bound of the box. More... | |
| double | zMax |
| The z coordinate of the up bound of the box. More... | |
| double | zMin |
| The z coordinate of the down bound of the box. More... | |
| ns3::Box::Box | ( | double | _xMin, |
| double | _xMax, | ||
| double | _yMin, | ||
| double | _yMax, | ||
| double | _zMin, | ||
| double | _zMax | ||
| ) |
| ns3::Box::Box | ( | ) |
| Vector ns3::Box::CalculateIntersection | ( | const Vector & | current, |
| const Vector & | speed | ||
| ) | const |
| current | the current position |
| speed | the current speed |
This method assumes that the current position is located inside the cube and checks for this with an assert. This method compares only the x and y coordinates of the input position and speed. It ignores the z coordinate.
Definition at line 110 of file box.cc.
References IsInside(), NS_ASSERT, xMax, xMin, yMax, and yMin.
Here is the call graph for this function:| Box::Side ns3::Box::GetClosestSide | ( | const Vector & | position | ) | const |
| bool ns3::Box::IsInside | ( | const Vector & | position | ) | const |
| position | the position to test. |
This method compares the x, y, and z coordinates of the input position.
Definition at line 54 of file box.cc.
References xMax, xMin, yMax, yMin, zMax, and zMin.
Referenced by CalculateIntersection(), ns3::GaussMarkovMobilityModel::DoWalk(), and ns3::Building::IsInside().
Here is the caller graph for this function:| double ns3::Box::xMax |
The x coordinate of the right bound of the box.
Definition at line 95 of file box.h.
Referenced by AreOverlapping(), CalculateIntersection(), FemtocellBlockAllocator::Create(), ns3::GaussMarkovMobilityModel::DoWalk(), FemtocellBlockAllocator::FemtocellBlockAllocator(), GetClosestSide(), ns3::RandomRoomPositionAllocator::GetNext(), ns3::SameRoomPositionAllocator::GetNext(), ns3::Building::GetRoomX(), IsInside(), ns3::operator<<(), ns3::operator>>(), PrintGnuplottableBuildingListToFile(), and ns3::ConstantVelocityHelper::UpdateWithBounds().
| double ns3::Box::xMin |
The x coordinate of the left bound of the box.
Definition at line 93 of file box.h.
Referenced by AreOverlapping(), CalculateIntersection(), FemtocellBlockAllocator::Create(), ns3::GaussMarkovMobilityModel::DoWalk(), FemtocellBlockAllocator::FemtocellBlockAllocator(), ns3::RandomRoomPositionAllocator::GetNext(), ns3::SameRoomPositionAllocator::GetNext(), ns3::Building::GetRoomX(), IsInside(), ns3::operator<<(), ns3::operator>>(), PrintGnuplottableBuildingListToFile(), and ns3::ConstantVelocityHelper::UpdateWithBounds().
| double ns3::Box::yMax |
The y coordinate of the top bound of the box.
Definition at line 99 of file box.h.
Referenced by AreOverlapping(), CalculateIntersection(), FemtocellBlockAllocator::Create(), ns3::GaussMarkovMobilityModel::DoWalk(), FemtocellBlockAllocator::FemtocellBlockAllocator(), GetClosestSide(), ns3::RandomRoomPositionAllocator::GetNext(), ns3::SameRoomPositionAllocator::GetNext(), ns3::Building::GetRoomY(), IsInside(), ns3::operator<<(), ns3::operator>>(), PrintGnuplottableBuildingListToFile(), and ns3::ConstantVelocityHelper::UpdateWithBounds().
| double ns3::Box::yMin |
The y coordinate of the bottom bound of the box.
Definition at line 97 of file box.h.
Referenced by AreOverlapping(), CalculateIntersection(), FemtocellBlockAllocator::Create(), ns3::GaussMarkovMobilityModel::DoWalk(), FemtocellBlockAllocator::FemtocellBlockAllocator(), ns3::RandomRoomPositionAllocator::GetNext(), ns3::SameRoomPositionAllocator::GetNext(), ns3::Building::GetRoomY(), IsInside(), ns3::operator<<(), ns3::operator>>(), PrintGnuplottableBuildingListToFile(), and ns3::ConstantVelocityHelper::UpdateWithBounds().
| double ns3::Box::zMax |
The z coordinate of the up bound of the box.
Definition at line 103 of file box.h.
Referenced by ns3::GaussMarkovMobilityModel::DoWalk(), GetClosestSide(), ns3::Building::GetFloor(), ns3::RandomRoomPositionAllocator::GetNext(), ns3::SameRoomPositionAllocator::GetNext(), IsInside(), ns3::operator<<(), ns3::operator>>(), and ns3::ConstantVelocityHelper::UpdateWithBounds().
| double ns3::Box::zMin |
The z coordinate of the down bound of the box.
Definition at line 101 of file box.h.
Referenced by ns3::GaussMarkovMobilityModel::DoWalk(), ns3::Building::GetFloor(), ns3::RandomRoomPositionAllocator::GetNext(), ns3::SameRoomPositionAllocator::GetNext(), IsInside(), ns3::operator<<(), ns3::operator>>(), and ns3::ConstantVelocityHelper::UpdateWithBounds().