FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
CurvedSpaceIntegrator.hpp
1#include "spacetime.h"
2
3namespace Traum
4{
5 class SchwarzschildGeodesic;
6}
7
8class SPACETIME_API CurvedSpaceIntegrator
9{
11
12public:
13
14 struct pt
15 {
16 double x,y,z;
17 };
18
19
22
26 void setMass(long double M) const;
27
32 void setCenter(const pt&Center) const;
33
34
42 int integrate(double time, const pt&O, const pt&d, double dist=-1, int maxsteps=5000);
43
48 virtual int straight_ray(const pt&O, const pt&d) = 0;
49
55 virtual int segment_intersect(const pt&where, const pt&dir, double segment_length) = 0;
56
60 virtual int at_singularity() = 0;
61};
Definition CurvedSpaceIntegrator.hpp:9
void setCenter(const pt &Center) const
Set the coordinate location of the black hole's center.
virtual int at_singularity()=0
Virtual function which is called when the central singularity is reached.
void setMass(long double M) const
Set the mass of the black hole.
virtual int segment_intersect(const pt &where, const pt &dir, double segment_length)=0
Core function, which is called for each geodesic segment.
virtual int straight_ray(const pt &O, const pt &d)=0
Virtual callback function if ray is straight, i.e.
int integrate(double time, const pt &O, const pt &d, double dist=-1, int maxsteps=5000)
Call the integrate() function to compute line segments along a geodesic path.
Definition SchwarzschildGeodesic.hpp:180
Definition CurvedSpaceIntegrator.hpp:15