35 #ifndef CORE_GEOMETRY_POINTVECTOROPERATORS_H
36 #define CORE_GEOMETRY_POINTVECTOROPERATORS_H
71 return Vector(d_[0]+p.d_[0], d_[1]+p.d_[1], d_[2]+p.d_[2]);
76 return Vector(d_[0]-p.d_[0], d_[1]-p.d_[1], d_[2]-p.d_[2]);
81 return Point(d_[0]+v.d_[0], d_[1]+v.d_[1], d_[2]+v.d_[2]);
86 return Point(d_[0]-v.d_[0], d_[1]-v.d_[1], d_[2]-v.d_[2]);
91 return v1.d_[0]*v2.d_[0]+v1.d_[1]*v2.d_[1]+v1.d_[2]*v2.d_[2];
96 return v[0]*p[0]+v[1]*p[1]+v[2]*p[2];
100 return Vector(d_[0]-v2[0], d_[1]-v2[1], d_[2]-v2[2]);
133 return Point(-d_[0], -d_[1], -d_[2]);
138 return Point(d_[0]*d, d_[1]*d, d_[2]*d);
143 return Point(d_[0]/d,d_[1]/d,d_[2]/d);
159 double weight1 = 1.0 - weight;
160 return Point(v2[0]*weight+v1[0]*weight1,
161 v2[1]*weight+v1[1]*weight1,
162 v2[2]*weight+v1[2]*weight1);
168 d_[0] += p.d_[0] * scale;
169 d_[1] += p.d_[1] * scale;
170 d_[2] += p.d_[2] * scale;
175 return p[0]*v[0]+p[1]*v[1]+p[2]*v[2];
180 return p1[0]*p2[0] + p1[1]*p2[1] + p1[2]*p2[2];
Vector()
Definition: Vector.h:153
double & operator()(int idx)
Definition: PointVectorOperators.h:146
Vector operator-() const
Definition: Vector.h:360
Point & operator/=(const double)
Definition: PointVectorOperators.h:123
void addscaled(const Point &p, const double scale)
Definition: PointVectorOperators.h:165
Point operator*(double) const
Definition: PointVectorOperators.h:136
Point()
Definition: Point.h:110
Point Interpolate(const Point &v1, const Point &v2, double weight)
Definition: PointVectorOperators.h:156
Point operator-() const
Definition: PointVectorOperators.h:131
v
Definition: readAllFields.py:42
Point operator/(const double) const
Definition: PointVectorOperators.h:141
Point & operator+=(const Vector &)
Definition: PointVectorOperators.h:46
double Dot(const Vector &v1, const Vector &v2)
Definition: PointVectorOperators.h:89
Point & operator-=(const Vector &)
Definition: PointVectorOperators.h:54
Vector operator+(const Point &) const
Definition: PointVectorOperators.h:69