84 return std::sqrt(
x *
x +
y *
y +
z *
z);
91 return std::sqrt(
x *
x +
y *
y);
98 return x *
x +
y *
y +
z *
z;
105 return x *
x +
y *
y;
112 return (b - a).GetLength();
119 return (b - a).GetLength();
126 return (b - a).GetLengthSquared();
133 return (b - a).GetLengthSquared();
139 os << vector.
x <<
":" << vector.
y <<
":" << vector.
z;
148 is >> vector.
x >> c1 >> vector.
y >> c2 >> vector.
z;
149 if (c1 !=
':' || c2 !=
':')
151 is.setstate(std::ios_base::failbit);
159 return std::tie(a.
x, a.
y, a.
z) < std::tie(b.
x, b.
y, b.
z);
165 return std::tie(a.
x, a.
y, a.
z) <= std::tie(b.
x, b.
y, b.
z);
171 return std::tie(a.
x, a.
y, a.
z) > std::tie(b.
x, b.
y, b.
z);
177 return std::tie(a.
x, a.
y, a.
z) >= std::tie(b.
x, b.
y, b.
z);
183 return std::tie(a.
x, a.
y, a.
z) == std::tie(b.
x, b.
y, b.
z);
207 os << vector.
x <<
":" << vector.
y;
215 is >> vector.
x >> c1 >> vector.
y;
218 is.setstate(std::ios_base::failbit);
226 return std::tie(a.
x, a.
y) < std::tie(b.
x, b.
y);
232 return std::tie(a.
x, a.
y) <= std::tie(b.
x, b.
y);
238 return std::tie(a.
x, a.
y) > std::tie(b.
x, b.
y);
244 return std::tie(a.
x, a.
y) >= std::tie(b.
x, b.
y);
250 return std::tie(a.
x, a.
y) == std::tie(b.
x, 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.
Ptr< const AttributeChecker > MakeVector3DChecker()
Ptr< const AttributeChecker > MakeVectorChecker()
#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.
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)
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)
ns3::Vector, ns3::Vector2D and ns3::Vector3D declarations.