15 return Normal(static_cast<GVector&>(*
this) = static_cast<GVector>(other));
20 return Normal(static_cast<GVector>(*
this) + static_cast<GVector>(other));
25 return Normal(static_cast<GVector>(*
this) - static_cast<GVector>(other));
30 return Normal(static_cast<GVector>(*
this) / value);
35 return Normal(static_cast<GVector>(*
this) * value);
40 return static_cast<GVector>(*this)[index];
45 return static_cast<GVector>(*this)[index];
50 Normal result =
Normal(static_cast<GVector>(*
this) * matrix);
56 modification->
run(
this);
virtual void run(BaseObject *vertex)=0
Normal operator+(const Normal &other)
Define vertex consisting 3 double coordinates.
Normal & operator=(Normal other)
virtual void modificate(Modification *modification, Vertex *center) override
Define normal (object container for GVector)
Normal operator-(const Normal &other)
double & operator[](const size_t index)
Normal operator*(const double value)
Normal operator/(const double value)
Define normal (object container for GVector)
Base modification object class.