gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
SVector3 Class Reference

#include <SVector3.h>

Collaboration diagram for SVector3:

Public Member Functions

 SVector3 ()
 
 SVector3 (const SPoint3 &p1, const SPoint3 &p2)
 
 SVector3 (const SPoint3 &p1)
 
 SVector3 (double x, double y, double z)
 
 SVector3 (double v)
 
 SVector3 (const double *array)
 
 SVector3 (const SVector3 &v)
 
double x (void) const
 
double y (void) const
 
double z (void) const
 
double norm () const
 
double normSq () const
 
double normalize ()
 
SVector3 unit () const
 
void negate ()
 
double & operator[] (int i)
 
double operator[] (int i) const
 
double & operator() (int i)
 
double operator() (int i) const
 
SVector3operator+= (const SVector3 &a)
 
SVector3operator-= (const SVector3 &a)
 
SVector3operator*= (const SVector3 &a)
 
SVector3operator*= (const double v)
 
SVector3operator= (const SVector3 &a)
 
SVector3operator= (double v)
 
 operator double * ()
 
void print (const std::string &name="") const
 
SPoint3 point () const
 
int getMaxValue (double &val) const
 
const double * data () const
 
double * data ()
 
void axpy (const double a, const SVector3 &y)
 
 operator std::array< double, 3 > () const
 

Protected Attributes

SPoint3 P
 

Detailed Description

Definition at line 16 of file SVector3.h.

Constructor & Destructor Documentation

◆ SVector3() [1/7]

SVector3::SVector3 ( )
inline

Definition at line 21 of file SVector3.h.

◆ SVector3() [2/7]

SVector3::SVector3 ( const SPoint3 p1,
const SPoint3 p2 
)
inline

Definition at line 23 of file SVector3.h.

◆ SVector3() [3/7]

SVector3::SVector3 ( const SPoint3 p1)
inline

Definition at line 25 of file SVector3.h.

◆ SVector3() [4/7]

SVector3::SVector3 ( double  x,
double  y,
double  z 
)
inline

Definition at line 26 of file SVector3.h.

◆ SVector3() [5/7]

SVector3::SVector3 ( double  v)
inline

Definition at line 27 of file SVector3.h.

◆ SVector3() [6/7]

SVector3::SVector3 ( const double *  array)
inline

Definition at line 28 of file SVector3.h.

◆ SVector3() [7/7]

SVector3::SVector3 ( const SVector3 v)
inline

Definition at line 29 of file SVector3.h.

Member Function Documentation

◆ axpy()

void SVector3::axpy ( const double  a,
const SVector3 y 
)
inline

Definition at line 133 of file SVector3.h.

Here is the call graph for this function:

◆ data() [1/2]

double* SVector3::data ( )
inline

Definition at line 132 of file SVector3.h.

Here is the call graph for this function:

◆ data() [2/2]

const double* SVector3::data ( ) const
inline

Definition at line 131 of file SVector3.h.

Here is the call graph for this function:

◆ getMaxValue()

int SVector3::getMaxValue ( double &  val) const
inline

Definition at line 116 of file SVector3.h.

◆ negate()

void SVector3::negate ( )
inline

Definition at line 54 of file SVector3.h.

◆ norm()

◆ normalize()

double SVector3::normalize ( )
inline

Definition at line 38 of file SVector3.h.

Referenced by _cos_N(), MElement::_getFaceRep(), _myGetFaceRep(), _relocate(), _relocateVertexOfPyramid(), blyr_manager::add_external_corner(), blyr_manager::add_fan(), addBoundaryLayerPoints(), addTriangle(), blyr_mvertex::average_normal(), buildMetricTangentToCurve(), buildMetricTangentToSurface(), buildOrthoBasis(), buildOrthoBasis2(), buildOrthoBasis_naive(), GFace::buildRepresentationCross(), cartesianBox< scalar >::cartesianBox(), changeCoordinates(), blyr_manager::classify_ridges(), discreteFace::closestPoint(), BoundaryLayerField::computeFor1dMesh(), meshMetric::computeMetricIsoLinInterp(), GRegion::computeSolidProperties(), crossField2d::crossField2d(), GFace::curvatureDiv(), discreteFace::curvatures(), PolyMesh::HalfEdge::d(), drawNormalVectorGlyphs(), drawTangentVectorGlyphs(), blyr_manager::extrude_vertices_on_edges(), faceIsValidQuad(), MTetrahedron::getEdgeRep(), MQuadrangle::getEdgeRep(), MTriangle::getEdgeRep(), MHexahedron::getEdgeRep(), getLineNormal(), GFace::getMetricEigenVectors(), improved_translate(), discreteFace::intersectionWithCircle(), max_edge_curvature_metric(), metric_based_on_surface_curvature(), myLine::myLine(), myPlane::myPlane(), qmTriangle::NCJ(), qmQuadrangle::NCJ(), discreteFace::normal(), MEdge::normal(), gmshSphere::normal(), gmshPolarSphere::normal(), PolyMesh::normal(), GFace::normal(), normal3(), oneSidedHausdorffDistance(), drawGEdge::operator()(), optimalPointFrontalB(), optimize1DMeshAtAcuteCorners(), backgroundMesh::propagateCrossField(), backgroundMesh::propagateCrossFieldByDistance(), signedDistancePointTriangle(), signedDistancesPointsTriangle(), SOrientedBoundingBox::SOrientedBoundingBox(), MFace::tangent(), MEdge::tangent(), and TRIANGLE_VALIDITY().

Here is the call graph for this function:

◆ normSq()

double SVector3::normSq ( ) const
inline

Definition at line 34 of file SVector3.h.

Referenced by MElement::idealJacRange(), norm(), optimize1DMeshAtAcuteCorners(), MElement::scaledJacRange(), MElement::signedInvCondNumRange(), and sqDistPointSegment().

Here is the caller graph for this function:

◆ operator double *()

SVector3::operator double * ( )
inline

Definition at line 107 of file SVector3.h.

◆ operator std::array< double, 3 >()

SVector3::operator std::array< double, 3 > ( ) const
inline

Definition at line 138 of file SVector3.h.

◆ operator()() [1/2]

double& SVector3::operator() ( int  i)
inline

Definition at line 63 of file SVector3.h.

◆ operator()() [2/2]

double SVector3::operator() ( int  i) const
inline

Definition at line 64 of file SVector3.h.

◆ operator*=() [1/2]

SVector3& SVector3::operator*= ( const double  v)
inline

Definition at line 86 of file SVector3.h.

◆ operator*=() [2/2]

SVector3& SVector3::operator*= ( const SVector3 a)
inline

Definition at line 79 of file SVector3.h.

◆ operator+=()

SVector3& SVector3::operator+= ( const SVector3 a)
inline

Definition at line 65 of file SVector3.h.

◆ operator-=()

SVector3& SVector3::operator-= ( const SVector3 a)
inline

Definition at line 72 of file SVector3.h.

◆ operator=() [1/2]

SVector3& SVector3::operator= ( const SVector3 a)
inline

Definition at line 93 of file SVector3.h.

◆ operator=() [2/2]

SVector3& SVector3::operator= ( double  v)
inline

Definition at line 100 of file SVector3.h.

◆ operator[]() [1/2]

double& SVector3::operator[] ( int  i)
inline

Definition at line 61 of file SVector3.h.

◆ operator[]() [2/2]

double SVector3::operator[] ( int  i) const
inline

Definition at line 62 of file SVector3.h.

◆ point()

SPoint3 SVector3::point ( ) const
inline

Definition at line 115 of file SVector3.h.

◆ print()

void SVector3::print ( const std::string &  name = "") const
inline

Definition at line 108 of file SVector3.h.

◆ unit()

SVector3 SVector3::unit ( ) const
inline

Definition at line 48 of file SVector3.h.

Referenced by MFaceN::frame(), MFaceN::normal(), elasticitySolver::readInputFile(), elasticitySolver::setLagrangeMultipliers(), MEdgeN::tangent(), and MFaceN::tangent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ x()

◆ y()

◆ z()

Member Data Documentation

◆ P


The documentation for this class was generated from the following file: