73 return std::sqrt(
x *
x +
y *
y +
z *
z);
80 return std::sqrt(
x *
x +
y *
y);
87 return x *
x +
y *
y +
z *
z;
101 return (b - a).GetLength();
108 return (b - a).GetLength();
115 return (b - a).GetLengthSquared();
122 return (b - a).GetLengthSquared();
128 os << vector.
x <<
":" << vector.
y <<
":" << vector.
z;
137 is >> vector.
x >> c1 >> vector.
y >> c2 >> vector.
z;
138 if (c1 !=
':' || c2 !=
':')
140 is.setstate(std::ios_base::failbit);
148 return std::tie(a.
x, a.
y, a.
z) < std::tie(b.
x, b.
y, b.
z);
154 return std::tie(a.
x, a.
y, a.
z) <= std::tie(b.
x, b.
y, b.
z);
160 return std::tie(a.
x, a.
y, a.
z) > std::tie(b.
x, b.
y, b.
z);
166 return std::tie(a.
x, a.
y, a.
z) >= std::tie(b.
x, b.
y, b.
z);
172 return std::tie(a.
x, a.
y, a.
z) == std::tie(b.
x, b.
y, b.
z);
208 return a.
x * b.
x + a.
y * b.
y + a.
z * b.
z;
214 os << vector.
x <<
":" << vector.
y;
222 is >> vector.
x >> c1 >> vector.
y;
225 is.setstate(std::ios_base::failbit);
233 return std::tie(a.
x, a.
y) < std::tie(b.
x, b.
y);
239 return std::tie(a.
x, a.
y) <= std::tie(b.
x, b.
y);
245 return std::tie(a.
x, a.
y) > std::tie(b.
x, b.
y);
251 return std::tie(a.
x, a.
y) >= std::tie(b.
x, b.
y);
257 return std::tie(a.
x, a.
y) == std::tie(b.
x, b.
y);
293 return a.
x * b.
x + a.
y * b.
y;
Smart pointer class similar to boost::intrusive_ptr.
double y
y coordinate of vector
Vector2D()
Constructor: (0.0, 0.0)
double x
x coordinate of vector
double GetLength() const
Compute the length (magnitude) of the vector.
double GetLengthSquared() const
Compute the squared length of the vector.
double GetLength() const
Compute the length (magnitude) of the vector.
double x
x coordinate of vector
Vector3D()
Create vector (0.0, 0.0, 0.0)
double z
z coordinate of vector
double y
y coordinate of vector
double GetLengthSquared() const
Compute the squared length of the vector.
NS_FATAL_x macro definitions.
#define ATTRIBUTE_HELPER_CPP(type)
Define the attribute value, accessor and checkers for class type
bool operator>=(const int64x64_t &lhs, const int64x64_t &rhs)
Greater or equal operator.
bool operator<=(const int64x64_t &lhs, const int64x64_t &rhs)
Less or equal operator.
int64x64_t operator-(const int64x64_t &lhs, const int64x64_t &rhs)
Subtraction operator.
int64x64_t operator+(const int64x64_t &lhs, const int64x64_t &rhs)
Addition operator.
int64x64_t operator*(const int64x64_t &lhs, const int64x64_t &rhs)
Multiplication operator.
bool operator>(const Length &left, const Length &right)
Check if left has a value greater than right.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
bool operator!=(Callback< R, Args... > a, Callback< R, Args... > b)
Inequality test.
bool operator==(const EventId &a, const EventId &b)
std::ostream & operator<<(std::ostream &os, const Angles &a)
Ptr< const AttributeChecker > MakeVectorChecker()
std::istream & operator>>(std::istream &is, Angles &a)
bool operator<(const EventId &a, const EventId &b)
double CalculateDistance(const Vector3D &a, const Vector3D &b)
double CalculateDistanceSquared(const Vector3D &a, const Vector3D &b)
Ptr< const AttributeChecker > MakeVector3DChecker()
ns3::Vector, ns3::Vector2D and ns3::Vector3D declarations.