Star.hpp   Star.hpp 
skipping to change at line 26 skipping to change at line 26
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, U SA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, U SA.
*/ */
#ifndef _STAR_HPP_ #ifndef _STAR_HPP_
#define _STAR_HPP_ 1 #define _STAR_HPP_ 1
#include "ZoneData.hpp" #include "ZoneData.hpp"
#include "StelObjectType.hpp"
#include <boost/intrusive_ptr.hpp>
#include <QString> #include <QString>
class StelObject; class StelObject;
namespace BigStarCatalogExtension { namespace BigStarCatalogExtension {
typedef int Int32; typedef int Int32;
typedef unsigned int Uint32; typedef unsigned int Uint32;
typedef short int Int16; typedef short int Int16;
typedef unsigned short int Uint16; typedef unsigned short int Uint16;
skipping to change at line 65 skipping to change at line 63
struct Star1 { // 28 byte struct Star1 { // 28 byte
int hip:24; // 17 bits needed int hip:24; // 17 bits needed
unsigned char componentIds; // 5 bits needed unsigned char componentIds; // 5 bits needed
Int32 x0; // 32 bits needed Int32 x0; // 32 bits needed
Int32 x1; // 32 bits needed Int32 x1; // 32 bits needed
unsigned char bV; // 7 bits needed unsigned char bV; // 7 bits needed
unsigned char mag; // 8 bits needed unsigned char mag; // 8 bits needed
Uint16 spInt; // 14 bits needed Uint16 spInt; // 14 bits needed
Int32 dx0,dx1,plx; Int32 dx0,dx1,plx;
enum {MaxPosVal=0x7FFFFFFF}; enum {MaxPosVal=0x7FFFFFFF};
boost::intrusive_ptr<StelObject> StelObjectP createStelObject(const SpecialZoneArray<Star1> *a,
createStelObject(const SpecialZoneArray<Star1> *a, const SpecialZoneData<Star1> *z) co
const SpecialZoneData<Star1> *z) const; nst;
Vec3d getJ2000Pos(const ZoneData *z,double movementFactor) const { void getJ2000Pos(const ZoneData *z,double movementFactor, Vec3d& pos) con
Vec3d pos = z->center st {
+ (x0+movementFactor*dx0)*z->axis0 pos = z->axis0;
+ (x1+movementFactor*dx1)*z->axis1; pos*=((double)(x0)+movementFactor*dx0);
//pos.normalize(); pos+=((double)(x1)+movementFactor*dx1)*z->axis1;
return pos; pos+=z->center;
} }
float getBV(void) const {return IndexToBV(bV);} float getBV(void) const {return IndexToBV(bV);}
bool hasName() const {return hip;}
QString getNameI18n(void) const; QString getNameI18n(void) const;
void repack(bool fromBe); void repack(bool fromBe);
void print(void); void print(void);
} }
#if defined(__GNUC__) #if defined(__GNUC__)
__attribute__ ((__packed__)) __attribute__ ((__packed__))
#endif #endif
; ;
#if (defined(__sgi) && defined(_COMPILER_VERSION) && !defined(__GNUC__)) #if (defined(__sgi) && defined(_COMPILER_VERSION) && !defined(__GNUC__))
#pragma pack(0) #pragma pack(0)
skipping to change at line 99 skipping to change at line 96
#pragma pack(1) #pragma pack(1)
#endif #endif
struct Star2 { // 10 byte struct Star2 { // 10 byte
int x0:20; int x0:20;
int x1:20; int x1:20;
int dx0:14; int dx0:14;
int dx1:14; int dx1:14;
unsigned int bV:7; unsigned int bV:7;
unsigned int mag:5; unsigned int mag:5;
enum {MaxPosVal=((1<<19)-1)}; enum {MaxPosVal=((1<<19)-1)};
boost::intrusive_ptr<StelObject> StelObjectP createStelObject(const SpecialZoneArray<Star2> *a,
createStelObject(const SpecialZoneArray<Star2> *a, const SpecialZoneData<Star2> *z) co
const SpecialZoneData<Star2> *z) const; nst;
Vec3d getJ2000Pos(const ZoneData *z,double movementFactor) const { void getJ2000Pos(const ZoneData *z,double movementFactor, Vec3d& pos) con
Vec3d pos = z->center st {
+ (x0+movementFactor*dx0)*z->axis0 pos = z->axis0;
+ (x1+movementFactor*dx1)*z->axis1; pos*=((double)(x0)+movementFactor*dx0);
//pos.normalize(); pos+=((double)(x1)+movementFactor*dx1)*z->axis1;
return pos; pos+=z->center;
} }
float getBV(void) const {return IndexToBV(bV);} float getBV(void) const {return IndexToBV(bV);}
QString getNameI18n(void) const {return "";} QString getNameI18n(void) const {return QString();}
bool hasName() const {return false;}
void repack(bool fromBe); void repack(bool fromBe);
void print(void); void print(void);
} }
#if defined(__GNUC__) #if defined(__GNUC__)
__attribute__ ((__packed__)) __attribute__ ((__packed__))
#endif #endif
; ;
#if (defined(__sgi) && defined(_COMPILER_VERSION) && !defined(__GNUC__)) #if (defined(__sgi) && defined(_COMPILER_VERSION) && !defined(__GNUC__))
#pragma pack(0) #pragma pack(0)
#endif #endif
#if (defined(__sgi) && defined(_COMPILER_VERSION) && !defined(__GNUC__)) #if (defined(__sgi) && defined(_COMPILER_VERSION) && !defined(__GNUC__))
#pragma pack(1) #pragma pack(1)
#endif #endif
struct Star3 { // 6 byte struct Star3 { // 6 byte
int x0:18; int x0:18;
int x1:18; int x1:18;
unsigned int bV:7; unsigned int bV:7;
unsigned int mag:5; unsigned int mag:5;
enum {MaxPosVal=((1<<17)-1)}; enum {MaxPosVal=((1<<17)-1)};
boost::intrusive_ptr<StelObject> StelObjectP createStelObject(const SpecialZoneArray<Star3> *a,
createStelObject(const SpecialZoneArray<Star3> *a, const SpecialZoneData<Star3> *z) co
const SpecialZoneData<Star3> *z) const; nst;
Vec3d getJ2000Pos(const ZoneData *z,double) const { void getJ2000Pos(const ZoneData *z,double, Vec3d& pos) const {
Vec3d pos = z->center + (double)(x0)*z->axis0 + (double)(x1)*z->axis1; pos = z->axis0;
//pos.normalize(); pos*=(double)(x0);
return pos; pos+=z->center;
pos+=(double)(x1)*z->axis1;
} }
float getBV(void) const {return IndexToBV(bV);} float getBV(void) const {return IndexToBV(bV);}
QString getNameI18n(void) const {return "";} QString getNameI18n(void) const {return QString();}
bool hasName() const {return false;}
void repack(bool fromBe); void repack(bool fromBe);
void print(void); void print(void);
} }
#if defined(__GNUC__) #if defined(__GNUC__)
__attribute__ ((__packed__)) __attribute__ ((__packed__))
#endif #endif
; ;
#if (defined(__sgi) && defined(_COMPILER_VERSION) && !defined(__GNUC__)) #if (defined(__sgi) && defined(_COMPILER_VERSION) && !defined(__GNUC__))
#pragma pack(0) #pragma pack(0)
#endif #endif
 End of changes. 7 change blocks. 
30 lines changed or deleted 32 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/