26 #ifndef __GyotoScreen_H_
27 #define __GyotoScreen_H_
177 Screen(const Screen& ) ;
178 Screen * clone() const;
186 void setProjection(const double paln,
187 const double inclination,
188 const double argument);
190 void setProjection(const double distance,
192 const double inclination,
193 const double argument);
198 void setDistance(double dist);
199 void setDmax(double dist);
205 void setDistance(double dist, const std::string unit);
207 void setInclination(double);
209 void setInclination(double, const std::string &unit);
210 void setPALN(double);
212 void setPALN(double, const std::string &unit);
213 void setArgument(double);
215 void setArgument(double, const std::string &unit);
216 void setSpectrometer(SmartPointer<Spectrometer> spectro);
228 void setObserverPos(const double pos[4]);
234 int getCoordKind() const;
235 double getDistance() const;
236 double getDmax() const;
237 double getInclination() const;
238 double getPALN() const;
239 double getArgument() const;
243 void setMetric(SmartPointer<Metric::Generic> gg);
246 void setTime(double, const std::string &);
247 void setTime(double);
250 double getFieldOfView();
251 void setFieldOfView(double);
252 void setFieldOfView(double, const std::string &unit);
253 size_t getResolution();
254 void setResolution(size_t);
270 void getObserverPos(double coord[]) const;
284 void getRayCoord(double x, double y, double coord[]) const;
285 void getRayCoord(const size_t i, const size_t j, double coord[]) const;
287 void coordToSky(const double pos[4], double skypos[3]) const;
290 void coordToXYZ(const double pos[4], double xyz[3]) const;
293 void computeBaseVectors() ;
300 friend std::ostream& operator<<(std::ostream& , const Screen& ) ;
301 std::ostream& print(std::ostream&) const ;
302 std::ostream& printBaseVectors(std::ostream&) const ;
304 #ifdef GYOTO_USE_XERCES
306 void fillElement(FactoryMessenger *fmp);
307 static SmartPointer<Screen> Subcontractor(FactoryMessenger* fmp);