a 2d rectangle More...
#include <rectangle.h>
Public Types | |
| enum | Side { RIGHT, LEFT, TOP, BOTTOM } |
| enum for naming sides More... | |
Public Member Functions | |
| Rectangle (double _xMin, double _xMax, double _yMin, double _yMax) | |
| Rectangle () | |
| Create a zero-sized rectangle located at coordinates (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 rectangle. More... | |
| double | xMin |
| The x coordinate of the left bound of the rectangle. More... | |
| double | yMax |
| The y coordinate of the top bound of the rectangle. More... | |
| double | yMin |
| The y coordinate of the bottom bound of the rectangle. More... | |
| ns3::Rectangle::Rectangle | ( | double | _xMin, |
| double | _xMax, | ||
| double | _yMin, | ||
| double | _yMax | ||
| ) |
| _xMin | x coordinates of left boundary. |
| _xMax | x coordinates of right boundary. |
| _yMin | y coordinates of bottom boundary. |
| _yMax | y coordinates of top boundary. |
Create a rectangle.
Definition at line 30 of file rectangle.cc.
| ns3::Rectangle::Rectangle | ( | ) |
Create a zero-sized rectangle located at coordinates (0.0,0.0)
Definition at line 39 of file rectangle.cc.
| Vector ns3::Rectangle::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 rectangle 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 89 of file rectangle.cc.
References IsInside(), NS_ASSERT, xMax, xMin, yMax, and yMin.
Referenced by ns3::RandomWalk2dMobilityModel::DoWalk(), and ns3::RandomDirection2dMobilityModel::SetDirectionAndSpeed().
Here is the call graph for this function:
Here is the caller graph for this function:| Rectangle::Side ns3::Rectangle::GetClosestSide | ( | const Vector & | position | ) | const |
| position | the position to test. |
This method compares only the x and y coordinates of the input position. It ignores the z coordinate.
Definition at line 56 of file rectangle.cc.
References BOTTOM, LEFT, RIGHT, TOP, xMax, and yMax.
Referenced by ns3::RandomWalk2dMobilityModel::Rebound(), and ns3::RandomDirection2dMobilityModel::ResetDirectionAndSpeed().
Here is the caller graph for this function:| bool ns3::Rectangle::IsInside | ( | const Vector & | position | ) | const |
| position | the position to test. |
This method compares only the x and y coordinates of the input position. It ignores the z coordinate.
Definition at line 48 of file rectangle.cc.
References xMax, xMin, yMax, and yMin.
Referenced by CalculateIntersection(), ns3::RandomWalk2dMobilityModel::DoSetPosition(), and ns3::RandomWalk2dMobilityModel::DoWalk().
Here is the caller graph for this function:| double ns3::Rectangle::xMax |
The x coordinate of the right bound of the rectangle.
Definition at line 89 of file rectangle.h.
Referenced by CalculateIntersection(), GetClosestSide(), IsInside(), ns3::operator<<(), ns3::operator>>(), and ns3::ConstantVelocityHelper::UpdateWithBounds().
| double ns3::Rectangle::xMin |
The x coordinate of the left bound of the rectangle.
Definition at line 88 of file rectangle.h.
Referenced by CalculateIntersection(), IsInside(), ns3::operator<<(), ns3::operator>>(), and ns3::ConstantVelocityHelper::UpdateWithBounds().
| double ns3::Rectangle::yMax |
The y coordinate of the top bound of the rectangle.
Definition at line 91 of file rectangle.h.
Referenced by CalculateIntersection(), GetClosestSide(), IsInside(), ns3::operator<<(), ns3::operator>>(), and ns3::ConstantVelocityHelper::UpdateWithBounds().
| double ns3::Rectangle::yMin |
The y coordinate of the bottom bound of the rectangle.
Definition at line 90 of file rectangle.h.
Referenced by CalculateIntersection(), IsInside(), ns3::operator<<(), ns3::operator>>(), and ns3::ConstantVelocityHelper::UpdateWithBounds().