Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

SolarSystemPredicate Struct Reference

Collaboration diagram for SolarSystemPredicate:

Collaboration graph
List of all members.

Public Member Functions

bool operator() (const Star *star0, const Star *star1) const
bool operator() (const Star *star0, const Star *star1) const

Public Attributes

Point3f pos
SolarSystemCatalogsolarSystems
SolarSystemCatalogsolarSystems

Member Function Documentation

bool SolarSystemPredicate::operator() const Star star0,
const Star star1
const [inline]
 

Definition at line 126 of file winstarbrowser.cpp.

References pos, and solarSystems.

00127     {
00128         SolarSystemCatalog::iterator iter;
00129 
00130         iter = solarSystems->find(star0->getCatalogNumber());
00131         bool hasPlanets0 = (iter != solarSystems->end());
00132         iter = solarSystems->find(star1->getCatalogNumber());
00133         bool hasPlanets1 = (iter != solarSystems->end());
00134         if (hasPlanets1 == hasPlanets0)
00135         {
00136             return ((pos - star0->getPosition()).lengthSquared() <
00137                     (pos - star1->getPosition()).lengthSquared());
00138         }
00139         else
00140         {
00141             return hasPlanets0;
00142         }
00143     }

bool SolarSystemPredicate::operator() const Star star0,
const Star star1
const [inline]
 

Definition at line 72 of file starbrowser.cpp.

References pos, solarSystems, Point3< T >::x, Point3< T >::y, and Point3< T >::z.

00073     {
00074         SolarSystemCatalog::iterator iter;
00075 
00076         iter = solarSystems->find(star0->getCatalogNumber());
00077         bool hasPlanets0 = (iter != solarSystems->end());
00078         iter = solarSystems->find(star1->getCatalogNumber());
00079         bool hasPlanets1 = (iter != solarSystems->end());
00080         if (hasPlanets1 == hasPlanets0)
00081         {
00082             Point3f p0 = star0->getPosition();
00083             Point3f p1 = star1->getPosition();
00084             Vec3f v0(p0.x * 1e6 - pos.x, p0.y * 1e6 - pos.y, p0.z * 1e6 - pos.z);
00085             Vec3f v1(p1.x * 1e6 - pos.x, p1.y * 1e6 - pos.y, p1.z * 1e6 - pos.z);
00086             return (v0.lengthSquared() < v1.lengthSquared());
00087         }
00088         else
00089         {
00090             return hasPlanets0;
00091         }
00092     }


Member Data Documentation

Point3f SolarSystemPredicate::pos
 

Definition at line 123 of file winstarbrowser.cpp.

Referenced by InitStarBrowserItems(), StarBrowser::listStars(), and operator()().

SolarSystemCatalog* SolarSystemPredicate::solarSystems
 

Definition at line 124 of file winstarbrowser.cpp.

SolarSystemCatalog* SolarSystemPredicate::solarSystems
 

Definition at line 70 of file starbrowser.cpp.

Referenced by InitStarBrowserItems(), StarBrowser::listStars(), and operator()().


The documentation for this struct was generated from the following files:
Generated on Sat Jan 14 22:33:36 2006 for Celestia by  doxygen 1.4.1