1 /*
2  *_________________________________________________________________________*
3  *      POEMS: PARALLELIZABLE OPEN SOURCE EFFICIENT MULTIBODY SOFTWARE     *
4  *      DESCRIPTION: SEE READ-ME                                           *
5  *      FILE NAME: point.h                                                  *
6  *      AUTHORS: See Author List                                           *
7  *      GRANTS: See Grants List                                            *
8  *      COPYRIGHT: (C) 2005 by Authors as listed in Author's List          *
9  *      LICENSE: Please see License Agreement                              *
10  *      DOWNLOAD: Free at www.rpi.edu/~anderk5                             *
11  *      ADMINISTRATOR: Prof. Kurt Anderson                                 *
12  *                     Computational Dynamics Lab                          *
13  *                     Rensselaer Polytechnic Institute                    *
14  *                     110 8th St. Troy NY 12180                           *
15  *      CONTACT:        anderk5@rpi.edu                                    *
16  *_________________________________________________________________________*/
17 
18 #ifndef POINT_H
19 #define POINT_H
20 
21 #include <iostream>
22 #include "poemsobject.h"
23 #include "vect3.h"
24 
25 
26 // emumerated type
27 enum PointType {
28   FIXEDPOINT = 0
29 };
30 
31 class Point : public POEMSObject {
32 public:
33   Vect3 position;
34 
35   Point();
36   bool ReadIn(std::istream& in);
37   void WriteOut(std::ostream& out);
38 
39   virtual ~Point();
40   virtual PointType GetType() = 0;
41   virtual Vect3 GetPoint() = 0;
42   virtual bool ReadInPointData(std::istream& in) = 0;
43   virtual void WriteOutPointData(std::ostream& out) = 0;
44 };
45 
46 // global point functions
47 Point* NewPoint(int type);
48 
49 #endif
50