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);
219 return a.
x * b.
x + a.
y * b.
y + a.
z * b.
z;
225 os << vector.
x <<
":" << vector.
y;
233 is >> vector.
x >> c1 >> vector.
y;
236 is.setstate(std::ios_base::failbit);
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);
256 return std::tie(a.
x, a.
y) > std::tie(b.
x, b.
y);
262 return std::tie(a.
x, a.
y) >= std::tie(b.
x, b.
y);
268 return std::tie(a.
x, a.
y) == std::tie(b.
x, b.
y);
304 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.
Ptr< const AttributeChecker > MakeVectorChecker()
Ptr< const AttributeChecker > MakeVector3DChecker()
#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)
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.