ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/SHAPES/SHAPE.hpp
Revision: 1300
Committed: Thu Jun 24 19:06:47 2004 UTC (20 years ago) by gezelter
File size: 1345 byte(s)
Log Message:
Fixes for visualizer for amira

File Contents

# Content
1 #ifndef __SHAPE_HPP__
2 #define __SHAPE_HPP__
3
4 #include <fstream>
5 #include <vector>
6 #include "SHFunc.hpp"
7
8 using namespace std;
9
10 class SHAPE {
11
12 public:
13
14 SHAPE(void);
15 ~SHAPE(void);
16 void readSHAPEfile(const char*);
17
18 char *getType() {return shapeType;}
19 void setType(char * name) {shapeType = strdup(name);}
20
21 vector<SHFunc*> getSigmaFuncs(void) {return sigmaFuncs;}
22 vector<SHFunc*> getSFuncs(void) {return sFuncs;}
23 vector<SHFunc*> getEpsFuncs(void) {return epsFuncs;}
24
25 double getSigmaAt(double costheta, double phi);
26 double getSAt(double costheta, double phi);
27 double getEpsAt(double costheta, double phi);
28
29 double getMass(void) {return mass;}
30 void getI(double theI[3][3]);
31
32 private:
33
34 void findBegin( char* startText );
35 int count_tokens(char *line, char *delimiters); // doesn't belong here!
36 char *TrimSpaces(char *str); // doesn't belong here!
37 int isEndLine(char *line); // doesn't belong here!
38
39
40 FILE *shapeFile;
41
42 char *shapeType; // The name of the shape
43 double mass; // The mass
44 double I[3][3]; // The moment of inertia tensor
45 vector<SHFunc*> sigmaFuncs; // The contact functions
46 vector<SHFunc*> sFuncs; // The range functions
47 vector<SHFunc*> epsFuncs; // The strength functions
48
49 };
50
51 #endif
52