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.