21 #ifndef CAELUM__POINT_STARFIELD_H 22 #define CAELUM__POINT_STARFIELD_H 25 #include "CameraBoundElement.h" 26 #include "PrivatePtr.h" 35 signed char rasc_hour;
69 Ogre::SceneManager *sceneMgr,
70 Ogre::SceneNode *caelumRootNode,
71 bool initWithCatalogue =
true);
78 Ogre::Degree RightAscension;
79 Ogre::Degree Declination;
93 void notifyStarVectorChanged ();
96 void clearAllStars ();
100 void addRandomStars (
int count);
109 void addBrightStarCatalogue (
int count = BrightStarCatalogueSize);
122 std::vector<Star> mStars;
124 Ogre::Real mMinPixelSize, mMaxPixelSize, mMag0PixelSize;
125 Ogre::Real mMagnitudeScale;
127 Ogre::Degree mObserverLatitude, mObserverLongitude;
130 void invalidateGeometry();
131 void ensureGeometry();
137 void _update (
float time);
145 inline Ogre::Real getMagnitudeScale ()
const {
return mMagnitudeScale; }
147 inline void setMag0PixelSize (Ogre::Real value) { mMag0PixelSize = value; }
148 inline Ogre::Real getMag0PixelSize ()
const {
return mMag0PixelSize; }
150 inline void setMinPixelSize (Ogre::Real value) { mMinPixelSize = value; }
151 inline Ogre::Real getMinPixelSize ()
const {
return mMinPixelSize; }
153 inline void setMaxPixelSize (Ogre::Real value) { mMaxPixelSize = value; }
154 inline Ogre::Real getMaxPixelSize ()
const {
return mMaxPixelSize; }
156 void setObserverLatitude (Ogre::Degree value);
157 inline Ogre::Degree getObserverLatitude ()
const {
return mObserverLatitude; }
159 void setObserverLongitude (Ogre::Degree value);
160 inline Ogre::Degree getObserverLongitude ()
const {
return mObserverLongitude; }
163 Ogre::Degree mObserverPositionRebuildDelta;
174 return mObserverPositionRebuildDelta;
176 inline void setObserverPositionRebuildDelta (Ogre::Degree value) {
177 mObserverPositionRebuildDelta = value;
180 static const Ogre::Degree DEFAULT_OBSERVER_POSITION_REBUILD_DELTA;
186 virtual void notifyCameraChanged (Ogre::Camera *cam);
190 virtual void setFarRadius (Ogre::Real radius);
193 void setQueryFlags (uint flags) { mManualObj->setQueryFlags (flags); }
194 uint getQueryFlags ()
const {
return mManualObj->getQueryFlags (); }
195 void setVisibilityFlags (uint flags) { mManualObj->setVisibilityFlags (flags); }
196 uint getVisibilityFlags ()
const {
return mManualObj->getVisibilityFlags (); }
200 void setup(Ogre::GpuProgramParametersSharedPtr vpParams);
202 Ogre::GpuProgramParametersSharedPtr vpParams;
212 #endif // CAELUM__POINT_STARFIELD_H const int BrightStarCatalogueSize
There are exactly 9110 stars in our version of the BSC.
const BrightStarCatalogueEntry BrightStarCatalogue[BrightStarCatalogueSize]
Hardcoded bright star catalogue (BrightStarCatalogue.cpp)
std::vector< Star > StarVector
A vector of Star.
static const Ogre::String STARFIELD_MATERIAL_NAME
Material used to draw all the points.
void setMagnitudeScale(Ogre::Real value)
Magnitude power scale.
StarVector & getStarVector()
Get a reference to the vector of stars.
Struct representing one star inside PointStarfield.
Ogre::Degree getObserverPositionRebuildDelta() const
Moving the observer position around causes a starfield rebuild.
POD for bright star catalogue entries.
An optimized reference to a gpu shared parameter.