Vector3D is the object that effeciently stores information about about three-deminsional vectors. It is also the parent class of MsqVertex. More...
#include <Vector3D.hpp>

Public Member Functions | |
| Vector3D () | |
| Vector3D (const double &x, const double &y, const double &z) | |
| Vector3D (const double xyz[3]) | |
| Vector3D (const Vector3D &to_copy) | |
| double | x () const |
| double | y () const |
| double | z () const |
| void | get_coordinates (double &x, double &y, double &z) const |
| void | get_coordinates (double xyz[3]) const |
| const double & | operator[] (size_t index) const |
| void | x (const double x) |
| void | y (const double y) |
| void | z (const double z) |
| void | set (const double x, const double y, const double z) |
| void | set (const double xyz[3]) |
| void | set (const Vector3D &to_copy) |
| double & | operator[] (size_t index) |
| Vector3D & | operator= (const Vector3D &to_copy) |
| Vector3D & | operator= (const double &to_copy) |
| Vector3D | operator- () const |
| Vector3D & | operator*= (const double scalar) |
| Vector3D & | operator/= (const double scalar) |
| divides each Vector3D entry by the given scalar. More... | |
| Vector3D & | operator*= (const Vector3D &rhs) |
| Vector3D & | operator+= (const Vector3D &rhs) |
| Vector3D & | operator-= (const Vector3D &rhs) |
| int | within_tolerance_box (const Vector3D &compare_to, double tolerance) const |
| double | length_squared () const |
| double | length () const |
| void | set_length (const double new_length) |
| void | normalize () |
| const double * | to_array () const |
| Vector3D () | |
| Vector3D (const double &x, const double &y, const double &z) | |
| Vector3D (const double xyz[3]) | |
| Vector3D (const Vector3D &to_copy) | |
| double | x () const |
| double | y () const |
| double | z () const |
| void | get_coordinates (double &x, double &y, double &z) const |
| void | get_coordinates (double xyz[3]) const |
| const double & | operator[] (size_t index) const |
| void | x (const double x) |
| void | y (const double y) |
| void | z (const double z) |
| void | set (const double x, const double y, const double z) |
| void | set (const double xyz[3]) |
| void | set (const Vector3D &to_copy) |
| double & | operator[] (size_t index) |
| Vector3D & | operator= (const Vector3D &to_copy) |
| Vector3D & | operator= (const double &to_copy) |
| Vector3D | operator- () const |
| Vector3D & | operator*= (const double scalar) |
| Vector3D & | operator/= (const double scalar) |
| Vector3D & | operator*= (const Vector3D &rhs) |
| Vector3D & | operator+= (const Vector3D &rhs) |
| Vector3D & | operator-= (const Vector3D &rhs) |
| int | within_tolerance_box (const Vector3D &compare_to, double tolerance) const |
| double | length_squared () const |
| double | length () const |
| void | set_length (const double new_length) |
| void | normalize () |
| const double * | to_array () const |
Static Public Member Functions | |
| static double | distance_between (const Vector3D &p1, const Vector3D &p2) |
| static double | interior_angle (const Vector3D &a, const Vector3D &b, MsqError &err) |
| static Vector3D | interpolate (const double param, const Vector3D &p1, const Vector3D &p2) |
| static double | distance_between (const Vector3D &p1, const Vector3D &p2) |
| static double | interior_angle (const Vector3D &a, const Vector3D &b, MsqError &err) |
| static Vector3D | interpolate (const double param, const Vector3D &p1, const Vector3D &p2) |
Protected Attributes | |
| double | mCoords [3] |
Friends | |
| const Vector3D | operator+ (const Vector3D &lhs, const Vector3D &rhs) |
| const Vector3D | operator- (const Vector3D &lhs, const Vector3D &rhs) |
| const Vector3D | operator* (const Vector3D &lhs, const double scalar) |
| lhs * scalar More... | |
| const Vector3D | operator* (const double scalar, const Vector3D &rhs) |
| scalar * rhs More... | |
| const Vector3D | operator/ (const Vector3D &lhs, const double scalar) |
| double | operator% (const Vector3D &v1, const Vector3D &v2) |
| dot product More... | |
| double | inner (const Vector3D v1[], const Vector3D v2[], int n) |
| dot product for array More... | |
| double | operator% (const double scalar, const Vector3D &v2) |
| scalar * sum_i v2[i] More... | |
| double | operator% (const Vector3D &v1, const double scalar) |
| scalar * sum_i v1[i] More... | |
| const Vector3D | operator* (const Vector3D &v1, const Vector3D &v2) |
| cross product More... | |
| void | eqAx (Vector3D &v, const Matrix3D &A, const Vector3D &x) |
More... | |
| void | plusEqAx (Vector3D &v, const Matrix3D &A, const Vector3D &x) |
More... | |
| void | plusEqTransAx (Vector3D &v, const Matrix3D &A, const Vector3D &x) |
More... | |
| bool | operator== (const Vector3D &lhs, const Vector3D &rhs) |
| bool | operator!= (const Vector3D &lhs, const Vector3D &rhs) |
| double | length (Vector3D *const v, int n) |
| L2 norm for an array of Vector3Ds. More... | |
| double | Linf (Vector3D *const v, int n) |
| L inf norm for array of Vector3Ds. More... | |
| const Vector3D | operator+ (const Vector3D &lhs, const Vector3D &rhs) |
| const Vector3D | operator- (const Vector3D &lhs, const Vector3D &rhs) |
| const Vector3D | operator* (const Vector3D &lhs, const double scalar) |
| lhs * scalar More... | |
| const Vector3D | operator* (const double scalar, const Vector3D &rhs) |
| scalar * rhs More... | |
| const Vector3D | operator/ (const Vector3D &lhs, const double scalar) |
| double | operator% (const Vector3D &v1, const Vector3D &v2) |
| dot product More... | |
| double | inner (const Vector3D v1[], const Vector3D v2[], int n) |
| dot product for array More... | |
| double | operator% (const double scalar, const Vector3D &v2) |
| scalar * sum_i v2[i] More... | |
| double | operator% (const Vector3D &v1, const double scalar) |
| scalar * sum_i v1[i] More... | |
| const Vector3D | operator* (const Vector3D &v1, const Vector3D &v2) |
| cross product More... | |
| void | eqAx (Vector3D &v, const Matrix3D &A, const Vector3D &x) |
More... | |
| void | plusEqAx (Vector3D &v, const Matrix3D &A, const Vector3D &x) |
More... | |
| void | plusEqTransAx (Vector3D &v, const Matrix3D &A, const Vector3D &x) |
More... | |
| bool | operator== (const Vector3D &lhs, const Vector3D &rhs) |
| bool | operator!= (const Vector3D &lhs, const Vector3D &rhs) |
| double | length (Vector3D *const v, int n) |
| L2 norm for an array of Vector3Ds. More... | |
| double | Linf (Vector3D *const v, int n) |
| L inf norm for array of Vector3Ds. More... | |
Vector3D is the object that effeciently stores information about about three-deminsional vectors. It is also the parent class of MsqVertex.
Definition at line 64 of file includeLinks/Vector3D.hpp.
|
inline |
Definition at line 171 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords.
Referenced by Vector3D::operator-().

|
inline |
Definition at line 177 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords, Vector3D::x(), Vector3D::y(), and Vector3D::z().

|
inline |
| Vector3D | ( | ) |
| Vector3D | ( | const double & | x, |
| const double & | y, | ||
| const double & | z | ||
| ) |
| Vector3D | ( | const double | xyz[3] | ) |
Definition at line 373 of file includeLinks/Vector3D.hpp.
References Vector3D::length(), p1, and v.

|
inline |
Definition at line 197 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords.
Referenced by NonSmoothSteepestDescent::validity_check(), and MesqPane::vertex_set_coordinates().

| void get_coordinates | ( | double & | x, |
| double & | y, | ||
| double & | z | ||
| ) | const |
| void get_coordinates | ( | double | xyz[3] | ) | const |
|
inline |
Definition at line 49 of file Misc/Vector3D.cpp.
References cimg_library::acos(), MsqError::INTERNAL_ERROR, len1, len2, Vector3D::length(), MSQ_SETERR, and rhs.

Definition at line 430 of file includeLinks/Vector3D.hpp.
|
inline |
Definition at line 394 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords, and sqrt().
Referenced by LocalSizeQualityMetric::compute_corner_area(), MsqMeshEntity::compute_corner_normals(), IdealWeightInverseMeanRatio::compute_element_analytical_gradient(), IdealWeightMeanRatio::compute_element_analytical_gradient(), IdealWeightInverseMeanRatio::compute_element_analytical_hessian(), IdealWeightMeanRatio::compute_element_analytical_hessian(), TargetCalculator::compute_Q_3D(), MsqMeshEntity::compute_signed_area(), TargetCalculator::compute_V_3D(), Vector3D::distance_between(), RI_DFT::evaluate_element(), IdealWeightInverseMeanRatio::evaluate_element(), IdealWeightMeanRatio::evaluate_element(), EdgeLengthQualityMetric::evaluate_vertex(), EdgeLengthRangeQualityMetric::evaluate_vertex(), Vector3D::interior_angle(), SphericalDomain::normal_at(), Vector3D::set_length(), SphericalDomain::snap_to(), and UntangleBetaQualityMetric::untangle_function_2d().


|
inline |
|
inline |
Definition at line 388 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords.
Referenced by AspectRatioGammaQualityMetric::evaluate_element(), and PatchData::get_max_vertex_movement_squared().

|
inline |
|
inline |
Definition at line 426 of file includeLinks/Vector3D.hpp.
References Vector3D::set_length().
Referenced by SphericalDomain::closest_point(), MsqMeshEntity::compute_corner_normals(), RI_DFT::evaluate_element(), PatchData::get_domain_normal_at_vertex(), and PlanarDomain::set_plane().


|
inline |
|
inline |
| Vector3D& operator*= | ( | const double | scalar | ) |
|
inline |
Definition at line 250 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords, and Vector3D::Vector3D().

| Vector3D operator- | ( | ) | const |
|
inline |
divides each Vector3D entry by the given scalar.
Definition at line 262 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords.
| Vector3D& operator/= | ( | const double | scalar | ) |
Definition at line 232 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords.
Referenced by MsqVertex::operator=().

|
inline |
| Vector3D& operator= | ( | const double & | to_copy | ) |
| const double& operator[] | ( | size_t | index | ) | const |
|
inline |
| double& operator[] | ( | size_t | index | ) |
|
inline |
| void set | ( | const double | x, |
| const double | y, | ||
| const double | z | ||
| ) |
|
inline |
Definition at line 217 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords, Vector3D::x(), Vector3D::y(), and Vector3D::z().
Referenced by SphericalDomain::closest_point(), MsqMeshEntity::compute_weighted_jacobian(), SphericalDomain::normal_at(), ConjugateGradient::optimize_vertex_positions(), SphericalDomain::snap_to(), MesqPane::vertices_get_coordinates(), and MeshTSTTImpl::vertices_get_coordinates().


|
inline |
| void set | ( | const double | xyz[3] | ) |
| void set | ( | const Vector3D & | to_copy | ) |
|
inline |
|
inline |
Definition at line 421 of file includeLinks/Vector3D.hpp.
References Vector3D::length().
Referenced by Vector3D::normalize().


|
inline |
|
inline |
Definition at line 163 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords.
Referenced by MeshTSTTImpl::vertex_set_coordinates(), MeshImpl::vtk_read_polydata(), MeshImpl::vtk_read_structured_grid(), and MeshImpl::vtk_read_unstructured_grid().

|
inline |
|
inline |
| int within_tolerance_box | ( | const Vector3D & | compare_to, |
| double | tolerance | ||
| ) | const |
| double x | ( | ) | const |
|
inline |
Definition at line 191 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords.
Referenced by SphericalDomain::closest_point(), SphericalDomain::normal_at(), Mesquite::operator*(), Mesquite::operator+(), Mesquite::operator-(), Mesquite::operator/(), Vector3D::set(), SphericalDomain::snap_to(), Vector3D::Vector3D(), MeshTSTTImpl::vertices_get_coordinates(), MeshImpl::write_exodus(), and Vector3D::x().

|
inline |
Definition at line 211 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords, and Vector3D::x().

| void x | ( | const double | x | ) |
| double y | ( | ) | const |
|
inline |
Definition at line 193 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords.
Referenced by Mesquite::operator*(), Mesquite::operator+(), Mesquite::operator-(), Mesquite::operator/(), Vector3D::set(), Vector3D::Vector3D(), MeshTSTTImpl::vertices_get_coordinates(), MeshImpl::write_exodus(), and Vector3D::y().

|
inline |
Definition at line 213 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords, and Vector3D::y().

| void y | ( | const double | y | ) |
| double z | ( | ) | const |
|
inline |
Definition at line 195 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords.
Referenced by Mesquite::operator*(), Mesquite::operator+(), Mesquite::operator-(), Mesquite::operator/(), Vector3D::set(), Vector3D::Vector3D(), MeshTSTTImpl::vertices_get_coordinates(), MeshImpl::write_exodus(), and Vector3D::z().

| void z | ( | const double | z | ) |
|
inline |
Definition at line 215 of file includeLinks/Vector3D.hpp.
References Vector3D::mCoords, and Vector3D::z().

Definition at line 522 of file includeLinks/Matrix3D.hpp.
Definition at line 522 of file includeLinks/Matrix3D.hpp.
dot product for array
Dot product for arrays of Vector3Ds. see also operator% .
Definition at line 340 of file includeLinks/Vector3D.hpp.
dot product for array
Dot product for arrays of Vector3Ds. see also operator% .
Definition at line 340 of file includeLinks/Vector3D.hpp.
|
friend |
L2 norm for an array of Vector3Ds.
Definition at line 400 of file includeLinks/Vector3D.hpp.
|
friend |
L2 norm for an array of Vector3Ds.
Definition at line 400 of file includeLinks/Vector3D.hpp.
|
friend |
L inf norm for array of Vector3Ds.
Definition at line 409 of file includeLinks/Vector3D.hpp.
|
friend |
L inf norm for array of Vector3Ds.
Definition at line 409 of file includeLinks/Vector3D.hpp.
Definition at line 442 of file includeLinks/Vector3D.hpp.
Definition at line 442 of file includeLinks/Vector3D.hpp.
|
friend |
|
friend |
|
friend |
scalar * sum_i v1[i]
Definition at line 357 of file includeLinks/Vector3D.hpp.
|
friend |
scalar * sum_i v1[i]
Definition at line 357 of file includeLinks/Vector3D.hpp.
Definition at line 295 of file includeLinks/Vector3D.hpp.
Definition at line 295 of file includeLinks/Vector3D.hpp.
Definition at line 302 of file includeLinks/Vector3D.hpp.
Definition at line 302 of file includeLinks/Vector3D.hpp.
Definition at line 323 of file includeLinks/Vector3D.hpp.
Definition at line 323 of file includeLinks/Vector3D.hpp.
Definition at line 437 of file includeLinks/Vector3D.hpp.
Definition at line 437 of file includeLinks/Vector3D.hpp.
Definition at line 529 of file includeLinks/Matrix3D.hpp.
Definition at line 529 of file includeLinks/Matrix3D.hpp.
Definition at line 536 of file includeLinks/Matrix3D.hpp.
Definition at line 536 of file includeLinks/Matrix3D.hpp.
|
protected |
Definition at line 167 of file includeLinks/Vector3D.hpp.
Referenced by Mesquite::eqAx(), Vector3D::get_coordinates(), Vector3D::length(), Vector3D::length_squared(), Mesquite::operator!=(), Mesquite::operator%(), Mesquite::operator*(), Vector3D::operator*=(), Vector3D::operator+=(), Vector3D::operator-(), Vector3D::operator-=(), Vector3D::operator/=(), Vector3D::operator=(), Mesquite::operator==(), Vector3D::operator[](), Mesquite::plusEqAx(), Mesquite::plusEqTransAx(), Vector3D::set(), Vector3D::to_array(), Vector3D::Vector3D(), Vector3D::within_tolerance_box(), Vector3D::x(), Vector3D::y(), and Vector3D::z().