Ice Sheet System Model  4.18
Code documentation
Segment.h
Go to the documentation of this file.
1 
5 #ifndef _SEGMENT_H_
6 #define _SEGMENT_H_
7 
8 /*Headers:*/
9 /*{{{*/
10 #include "../datastructures/datastructures.h"
11 #include "../shared/Numerics/constants.h"
12 /*}}}*/
13 
14 template <class doubletype>
15 class Segment: public Object{
16 
17  public:
18  int eid;
19  doubletype x1;
20  doubletype y1;
21  doubletype x2;
22  doubletype y2;
23 
24  /*Segment constructors, destructors :*/
25  Segment(){/*{{{*/
26  this->eid = UNDEF;
27  this->x1 = UNDEF;
28  this->y1 = UNDEF;
29  this->x2 = UNDEF;
30  this->y2 = UNDEF;
31  }
32  /*}}}*/
33  Segment(int segment_eid, doubletype segment_x1,doubletype segment_y1,doubletype segment_x2, doubletype segment_y2){/*{{{*/
34 
35  this->eid = segment_eid;
36  this->x1 = segment_x1;
37  this->y1 = segment_y1;
38  this->x2 = segment_x2;
39  this->y2 = segment_y2;
40 
41  }
42  /*}}}*/
43  ~Segment(){/*{{{*/
44  }
45  /*}}}*/
46 
47  /*Object virtual functions definitions:*/
48  Object* copy() {/*{{{*/
49  return new Segment(this->eid,this->x1,this->y1,this->x2,this->y2);
50  }
51  /*}}}*/
52  void DeepEcho(void){/*{{{*/
53  this->Echo();
54  }
55  /*}}}*/
56  void Echo(void){/*{{{*/
57 
58  _printf_("Segment:\n");
59  _printf_(" eid: " << eid << "\n");
60  _printf_(" node 1: " << this->x1 << "|" << this->y1 << "\n");
61  _printf_(" node 2: " << this->x2 << "|" << this->y2 << "\n");
62 
63  }
64  /*}}}*/
65  int Id(void){ return eid; }/*{{{*/
66  /*}}}*/
67  void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
68  _error_("not implemented yet!");
69  }
70  /*}}}*/
71  int ObjectEnum(void){/*{{{*/
72 
73  return SegmentEnum;
74 
75  }
76  /*}}}*/
77 
78 };
79 
80 #endif /* _SEGMENT_H_ */
Segment::copy
Object * copy()
Definition: Segment.h:48
_printf_
#define _printf_(StreamArgs)
Definition: Print.h:22
Segment::x1
doubletype x1
Definition: Segment.h:19
Segment::Id
int Id(void)
Definition: Segment.h:65
Segment
Definition: Segment.h:15
Segment::Segment
Segment(int segment_eid, doubletype segment_x1, doubletype segment_y1, doubletype segment_x2, doubletype segment_y2)
Definition: Segment.h:33
Object
Definition: Object.h:13
Segment::Marshall
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
Definition: Segment.h:67
Segment::~Segment
~Segment()
Definition: Segment.h:43
UNDEF
#define UNDEF
Definition: constants.h:8
Segment::eid
int eid
Definition: Segment.h:18
Segment::DeepEcho
void DeepEcho(void)
Definition: Segment.h:52
Segment::y1
doubletype y1
Definition: Segment.h:20
Segment::y2
doubletype y2
Definition: Segment.h:22
Segment::Segment
Segment()
Definition: Segment.h:25
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
SegmentEnum
@ SegmentEnum
Definition: EnumDefinitions.h:1270
Segment::x2
doubletype x2
Definition: Segment.h:21
Segment::Echo
void Echo(void)
Definition: Segment.h:56
Segment::ObjectEnum
int ObjectEnum(void)
Definition: Segment.h:71