51 class rviewOSectionImage :
public rviewRenderImage
55 rviewOSectionImage(mdd_frame *mf,
unsigned int flags=0);
56 virtual ~rviewOSectionImage(
void);
58 virtual void label(
void);
59 virtual int process(wxObject &obj, wxEvent &evt);
60 virtual void OnSize(
int w,
int h);
61 virtual int openViewer(
void);
63 virtual const char *getFrameName(
void)
const;
64 virtual rviewFrameType getFrameType(
void)
const;
65 virtual int getViewerType(
void)
const;
66 virtual void childMouseEvent(wxWindow *child, wxMouseEvent &mev);
69 virtual bool sectionValid(
unsigned int num) = 0;
70 virtual const r_Minterval &getSectionDomain(
unsigned int num) = 0;
71 virtual const r_Minterval &getSectionParent(
unsigned int num) = 0;
72 virtual char *getSectionArray(
unsigned int num) = 0;
73 virtual long getSectionProjection(
unsigned int num) = 0;
74 virtual r_Ref<r_GMarray> &getCsmapArray(
void) = 0;
78 struct section_part_s;
79 typedef struct section_map_s section_map_t;
80 typedef struct section_part_s section_part_t;
84 static const int osection_ctrly;
86 static const int osection_rcwidth;
88 static const int osection_sheight;
90 static const int osection_chkwidth;
91 static const int osection_chkheight;
93 static const int osection_twidth;
94 static const int osection_theight;
96 static const int osection_bwidth;
97 static const int osection_bheight;
102 virtual char *initMode(
void);
103 virtual char *setupEnvironment(
int w,
int h);
104 virtual bool doUpdate(
int updateFlags);
105 virtual void fillBuffer(
void);
108 virtual int saveView(FILE *fp);
109 virtual int readView(
const char *key,
const char *value);
110 virtual void loadViewFinished(
void);
113 int makeMinterval(
unsigned int num, r_Minterval &dom);
115 int performPartition(
void);
117 void updateSlice(
unsigned int num,
long value,
bool useDummy=
TRUE);
119 void refreshSlices(
bool force=
FALSE);
122 virtual int ensureSections(
void) = 0;
124 virtual int createDummySection(
unsigned int num,
const r_Minterval *dom=NULL) = 0;
126 virtual void flushSlices(
void) = 0;
128 void setOId(
const r_OId &oid);
131 rviewSpecialSlider **sliders;
133 rviewCheckBox *boundingBox;
134 rviewText *thickText;
137 r_Point intersection;
141 struct section_map_s *secmap;
143 struct section_part_s *partition;
144 unsigned int numPartitions;
147 unsigned int currentSection;
149 static const unsigned int numSections;
150 static const char *sliderLabels[];
153 static const char *view_Thickness;
154 static const char *view_MidPoint;
155 static const char *view_UseBBox;
165 class rviewOSectionPartImage :
public rviewOSectionImage
168 rviewOSectionPartImage(mdd_frame *mf,
const char *cname,
const r_OId &oid,
unsigned int flags=0);
169 ~rviewOSectionPartImage(
void);
171 virtual void label(
void);
172 virtual int process(wxObject &obj, wxEvent &evt);
173 virtual void OnSize(
int w,
int h);
174 virtual void childMouseEvent(wxWindow *child, wxMouseEvent &mev);
176 virtual bool sectionValid(
unsigned int num);
177 virtual const r_Minterval &getSectionDomain(
unsigned int num);
178 virtual const r_Minterval &getSectionParent(
unsigned int num);
179 virtual char *getSectionArray(
unsigned int num);
180 virtual long getSectionProjection(
unsigned int num);
181 virtual r_Ref<r_GMarray> &getCsmapArray(
void);
184 static rviewOSectionPartImage *createViewer(
const char *collname,
const double *loid=NULL);
186 struct section_desc_s;
187 typedef struct section_desc_s section_desc_t;
191 virtual int ensureSections(
void);
192 virtual int createDummySection(
unsigned int num,
const r_Minterval *dom=NULL);
193 virtual void flushSlices(
void);
195 rviewCheckBox *fireDragRelease;
196 rviewButton *fireButton;
199 struct section_desc_s *sections;
201 DynamicString collName;
203 r_Ref<r_GMarray> csDummy;
214 class rviewOSectionFullImage :
public rviewOSectionImage
217 rviewOSectionFullImage(mdd_frame *mf,
unsigned int flags = 0);
218 ~rviewOSectionFullImage(
void);
220 virtual bool sectionValid(
unsigned int num);
221 virtual const r_Minterval &getSectionDomain(
unsigned int num);
222 virtual const r_Minterval &getSectionParent(
unsigned int num);
223 virtual char *getSectionArray(
unsigned int num);
224 virtual long getSectionProjection(
unsigned int num);
225 virtual r_Ref<r_GMarray> &getCsmapArray(
void);
229 virtual int ensureSections(
void);
230 virtual int createDummySection(
unsigned int num,
const r_Minterval *dom=NULL);
231 virtual void flushSlices(
void);
233 r_Minterval *sections;
#define FALSE
Definition: defs.h:70
#define TRUE
Definition: defs.h:67