

Public Member Functions | |
| CloseDSOPicker (const Point3d &pos, const Vec3d &dir, double maxDistance, float angle) | |
| void | process (DeepSkyObject *const &dso, double distance, float appMag) |
| ~CloseDSOPicker () | |
Public Attributes | |
| double | closestDistance |
| const DeepSkyObject * | closestDSO |
| double | maxDistance |
| Vec3d | pickDir |
| Point3d | pickOrigin |
|
||||||||||||||||||||
|
Definition at line 796 of file universe.cpp. 00799 : 00800 pickOrigin (pos), 00801 pickDir (dir), 00802 maxDistance (maxDistance), 00803 closestDSO (NULL), 00804 closestDistance(1.0e32) 00805 { 00806 }
|
|
|
Definition at line 783 of file universe.cpp. 00783 {};
|
|
||||||||||||||||
|
Implements OctreeProcessor< DeepSkyObject *, double >. Definition at line 809 of file universe.cpp. References closestDistance, closestDSO, distance(), Point3< T >::distanceTo(), maxDistance, pickDir, pickOrigin, and testIntersection(). 00812 {
00813
00814 if (distance > maxDistance)
00815 return;
00816
00817 double distance2 = 0.0;
00818 if (testIntersection(Ray3d(pickOrigin, pickDir),
00819 Sphered(dso->getPosition(), (double) dso->getRadius()),
00820 distance2))
00821 {
00822 // Don't select the object the observer is currently in:
00823 if (pickOrigin.distanceTo(dso->getPosition()) > dso->getRadius() &&
00824 distance2 < closestDistance)
00825 {
00826 closestDSO = dso;
00827 closestDistance = distance2;
00828 }
00829 }
00830 }
|
|
|
Definition at line 792 of file universe.cpp. Referenced by process(). |
|
|
Definition at line 791 of file universe.cpp. Referenced by Universe::pickDeepSkyObject(), and process(). |
|
|
Definition at line 790 of file universe.cpp. Referenced by process(). |
|
|
Definition at line 789 of file universe.cpp. Referenced by process(). |
|
|
Definition at line 788 of file universe.cpp. Referenced by process(). |
1.4.1