41 |
|
|
42 |
|
#ifndef TYPES_TORSIONSTAMP_HPP |
43 |
|
#define TYPES_TORSIONSTAMP_HPP |
44 |
+ |
#include "types/DataHolder.hpp" |
45 |
+ |
#include "utils/Tuple.hpp" |
46 |
+ |
namespace oopse { |
47 |
+ |
class TorsionStamp : public DataHolder { |
48 |
+ |
DeclareParameter(GhostVectorSource, int); |
49 |
+ |
public: |
50 |
|
|
51 |
< |
#include "io/LinkedAssign.hpp" |
51 |
> |
TorsionStamp(); |
52 |
> |
virtual ~TorsionStamp(); |
53 |
> |
|
54 |
> |
int getMemberAt( int index ) {return members_.at(index);} |
55 |
> |
int getNMembers() {return members_.size();} |
56 |
> |
std::vector<int> getMembers() {return members_;} |
57 |
> |
bool setMembers(const std::vector<int>& members) { |
58 |
> |
members_ = members; |
59 |
> |
bool ret = false; |
60 |
> |
if (members_.size() == 4 || members_.size() == 3) { |
61 |
> |
ret = true; |
62 |
> |
} |
63 |
> |
return ret; |
64 |
> |
} |
65 |
|
|
66 |
< |
class TorsionStamp{ |
66 |
> |
bool setMembers(IntTuple4 tuple) { |
67 |
> |
members_.push_back(tuple.first); |
68 |
> |
members_.push_back(tuple.second); |
69 |
> |
members_.push_back(tuple.third); |
70 |
> |
members_.push_back(tuple.fourth); |
71 |
> |
return true; |
72 |
> |
} |
73 |
> |
virtual void validate(); |
74 |
|
|
75 |
< |
public: |
76 |
< |
TorsionStamp(); |
77 |
< |
~TorsionStamp(); |
52 |
< |
|
53 |
< |
void assignString( char* lhs, char* rhs ); |
54 |
< |
void assignDouble( char* lhs, double rhs ); |
55 |
< |
void assignInt( char* lhs, int rhs ); |
56 |
< |
void members( int a, int b, int c, int d ); |
57 |
< |
void constrain( double constraint ); |
58 |
< |
char* checkMe( void ); |
59 |
< |
|
60 |
< |
int getA( void ){ return a; } |
61 |
< |
int getB( void ){ return b; } |
62 |
< |
int getC( void ){ return c; } |
63 |
< |
int getD( void ){ return d; } |
64 |
< |
|
65 |
< |
int haveExtras( void ) { return have_extras; } |
66 |
< |
LinkedAssign* getExtras( void ) { return unhandled; } |
67 |
< |
|
68 |
< |
private: |
69 |
< |
|
70 |
< |
int a, b, c, d; //the members |
71 |
< |
double constraint; |
72 |
< |
short int have_mbrs, have_constraint; |
73 |
< |
|
74 |
< |
LinkedAssign* unhandled; // the unhandled assignments |
75 |
< |
short int have_extras; |
75 |
> |
private: |
76 |
> |
|
77 |
> |
std::vector<int> members_; |
78 |
|
}; |
79 |
< |
|
79 |
> |
} |
80 |
|
#endif |