28 #ifndef __GyotoComplexAstrobj_H_ 29 #define __GyotoComplexAstrobj_H_ 101 virtual double
deltaMax(double coord[8]);
106 virtual double
rMax();
124 void
append(Gyoto::SmartPointer<Gyoto::Astrobj::Generic> element);
131 void
metric(SmartPointer<Metric::Generic> gg);
135 #ifdef GYOTO_USE_XERCES 136 virtual void
fillElement(FactoryMessenger *fmp) const ;
160 virtual int
Impact(Gyoto::Photon* ph, size_t index,
161 Astrobj::Properties *data=NULL) ;
void append(Gyoto::SmartPointer< Gyoto::Astrobj::Generic > element)
Add element at the end of the array.
virtual double deltaMax(double coord[8])
Get max step constraint for adaptive integration.
Astronomical objects (light emitters)
#define GYOTO_OBJECT_THREAD_SAFETY
Declare virtual bool isThreadSafe() const.
Definition: GyotoObject.h:99
void remove(size_t i)
Remove i-th element from the array.
#define size_t
If not defined in <sys/types.h>.
Definition: GyotoConfig.h:387
virtual void setParameters(FactoryMessenger *fmp)
Main loop in Subcontractor_t function.
virtual Complex * clone() const
"Virtual" copy constructor
virtual void fillElement(FactoryMessenger *fmp) const
Fill the XML element for this Object.
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43
Pointers performing reference counting.
Definition: GyotoProperty.h:45
double step_max_
Maximum δ step inside the Astrobj.
Definition: GyotoComplexAstrobj.h:93
virtual SmartPointer< Metric::Generic > metric() const
Get the Metric gg_.
size_t cardinal_
Number of objects.
Definition: GyotoComplexAstrobj.h:83
Base class for astronomical object.
Definition: GyotoAstrobj.h:196
Complex astronomical object.
Definition: GyotoComplexAstrobj.h:73
Gyoto::SmartPointer< Gyoto::Astrobj::Generic > * elements_
Array of Astrobj::Generic.
Definition: GyotoComplexAstrobj.h:88
size_t getCardinal() const
Get the number of elements in the array.
virtual int Impact(Gyoto::Photon *ph, size_t index, Astrobj::Properties *data=NULL)
Call Impact() for each of the elements.