#ifndef NUMMAGNITUDESQREUCLIDEAN_HH #define NUMMAGNITUDESQREUCLIDEAN_HH //////////////////////////////////////////////////////////////////////////// //! author="Robert Crida" //! lib=NumMagnitude //! date="22/4/1998" //! userlevel=Normal //! example=testNumMagnitude.cc //! file="amma/PatternRec/FuncTools/Magnitude/NumMagnitudeSqrEuclidean.hh" //! docentry="Numerical Methods.Magnitude Metrics.Implementation" //! rcsid="$Id: NumMagnitudeSqrEuclidean.hh,v 1.5 2000/02/16 14:10:11 ees1cg Exp $" #include "amma/Num/NumMagnitude.hh" #include "amma/Num/NumMagnitudeSqrEuclideanB.hh" //: Square Euclidean magnitude metric. // // Class for calculating squared Euclidean magnitude of a vector s=|X|^2. class NumMagnitudeSqrEuclideanC : public NumMagnitudeC { public: NumMagnitudeSqrEuclideanC () : NumMagnitudeC(*(new NumMagnitudeSqrEuclideanBC ())) {} //: Constructor takes no parameters NumMagnitudeSqrEuclideanC (BooleanT) : NumMagnitudeC(*(new NumMagnitudeSqrEuclideanBC ())) {} //: Constructor. static BooleanT IsA(const DPEntityC &pb) { return dynamic_cast(&pb.Body()) != 0; } //: Check if an object of this type. NumMagnitudeSqrEuclideanC(const DPProcessBaseC &pb) : NumMagnitudeC(pb) { if(!IsA(pb)) Invalidate(); } //: Base class constructor. }; #endif