Path: blob/devel/ElmerGUI/netgen/libsrc/csg/curve2d.hpp
3206 views
#ifndef FILE_CURVE2D1#define FILE_CURVE2D23/**************************************************************************/4/* File: curve2d.hh */5/* Author: Joachim Schoeberl */6/* Date: 24. Jul. 96 */7/**************************************************************************/89/*10112D Curve repesentation1213*/14151617///18class Curve2d : public Manifold19{20public:21///22virtual void Project (Point<2> & p) const = 0;23///24virtual void NormalVector (const Point<2> & p, Vec<2> & n) const = 0;25};2627///28class CircleCurve2d : public Curve2d29{30///31Point<2> center;32///33double rad;34public:35///36CircleCurve2d (const Point<2> & acenter, double arad);37///38virtual void Project (Point<2> & p) const;39///40virtual void NormalVector (const Point<2> & p, Vec<2> & n) const;41};4243///44class QuadraticCurve2d : public Curve2d45{46///47double cxx, cyy, cxy, cx, cy, c;48public:49///50QuadraticCurve2d ();51///52void Read (istream & ist);53///54virtual void Project (Point<2> & p) const;55///56virtual void NormalVector (const Point<2> & p, Vec<2> & n) const;57};58#endif596061