Fix virtual methods definition for DSO, make some methods private

pull/315/head
Hleb Valoshka 2019-07-06 15:54:39 +03:00
parent a10da37741
commit 845990a91a
4 changed files with 93 additions and 97 deletions

View File

@ -30,36 +30,24 @@ class Galaxy : public DeepSkyObject
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
virtual const char* getType() const;
virtual void setType(const std::string&);
virtual std::string getDescription() const;
virtual std::string getCustomTmpName() const;
virtual void setCustomTmpName(const std::string&);
const char* getType() const override;
void setType(const std::string&) override;
std::string getDescription() const override;
std::string getCustomTmpName() const;
void setCustomTmpName(const std::string&);
float getDetail() const;
void setDetail(float);
// float getBrightness() const;
// void setBrightness();
virtual bool pick(const celmath::Ray3d& ray,
double& distanceToPicker,
double& cosAngleToBoundCenter) const;
virtual bool load(AssociativeArray*, const std::string&);
virtual void render(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize,
const Renderer* r = nullptr);
virtual void renderGalaxyPointSprites(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize);
#if 0
virtual void renderGalaxyEllipsoid(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize);
#endif
bool pick(const celmath::Ray3d& ray,
double& distanceToPicker,
double& cosAngleToBoundCenter) const override;
bool load(AssociativeArray*, const std::string&) override;
void render(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize,
const Renderer* r = nullptr) override;
GalacticForm* getForm() const;
@ -68,10 +56,10 @@ class Galaxy : public DeepSkyObject
static float getLightGain();
static void setLightGain(float);
virtual uint64_t getRenderMask() const;
virtual unsigned int getLabelMask() const;
uint64_t getRenderMask() const override;
unsigned int getLabelMask() const override;
virtual const char* getObjTypeName() const;
const char* getObjTypeName() const override;
public:
enum GalaxyType {
@ -94,15 +82,22 @@ class Galaxy : public DeepSkyObject
};
private:
float detail{ 1.0f };
std::string* customTmpName{ nullptr };
// float brightness;
GalaxyType type{ S0 };
void renderGalaxyPointSprites(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize);
#if 0
void renderGalaxyEllipsoid(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize);
#endif
float detail{ 1.0f };
std::string* customTmpName{ nullptr };
GalaxyType type{ S0 };
GalacticForm* form{ nullptr };
static float lightGain;
static float lightGain;
};
//std::ostream& operator<<(std::ostream& s, const Galaxy::GalaxyType& sc);
#endif // _GALAXY_H_

View File

@ -38,11 +38,11 @@ class Globular : public DeepSkyObject
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Globular();
virtual const char* getType() const;
virtual void setType(const std::string&);
virtual std::string getDescription() const;
virtual std::string getCustomTmpName() const;
virtual void setCustomTmpName(const std::string&);
const char* getType() const override;
void setType(const std::string&) override;
std::string getDescription() const override;
std::string getCustomTmpName() const;
void setCustomTmpName(const std::string&);
float getDetail() const;
void setDetail(float);
float getCoreRadius() const;
@ -52,42 +52,42 @@ class Globular : public DeepSkyObject
float getHalfMassRadius() const;
unsigned int cSlot(float) const;
virtual float getBoundingSphereRadius() const { return tidalRadius; }
float getBoundingSphereRadius() const override { return tidalRadius; }
bool pick(const celmath::Ray3d& ray,
double& distanceToPicker,
double& cosAngleToBoundCenter) const override;
bool load(AssociativeArray*, const std::string&) override;
void render(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize,
const Renderer* r = nullptr) override;
virtual bool pick(const celmath::Ray3d& ray,
double& distanceToPicker,
double& cosAngleToBoundCenter) const;
virtual bool load(AssociativeArray*, const std::string&);
virtual void render(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize,
const Renderer* r = nullptr);
virtual void renderGlobularPointSprites(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize);
GlobularForm* getForm() const;
virtual uint64_t getRenderMask() const;
virtual unsigned int getLabelMask() const;
virtual const char* getObjTypeName() const;
uint64_t getRenderMask() const override;
unsigned int getLabelMask() const override;
const char* getObjTypeName() const override;
private:
void renderGlobularPointSprites(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize);
// Reference values ( = data base averages) of core radius, King concentration
// and mu25 isophote radius:
static constexpr float R_c_ref = 0.83f, C_ref = 2.1f, R_mu25 = 40.32f;
void recomputeTidalRadius();
private:
float detail{ 1.0f };
std::string* customTmpName{ nullptr };
float detail{ 1.0f };
std::string* customTmpName{ nullptr };
GlobularForm* form{ nullptr };
float r_c{ R_c_ref };
float c{ C_ref };
float tidalRadius{ 0.0f };
float r_c{ R_c_ref };
float c{ C_ref };
float tidalRadius{ 0.0f };
};
#endif // _GLOBULAR_H_

View File

@ -20,27 +20,27 @@ class Nebula : public DeepSkyObject
Nebula() = default;
virtual const char* getType() const;
virtual void setType(const std::string&);
virtual std::string getDescription() const;
const char* getType() const override;
void setType(const std::string&) override;
std::string getDescription() const override;
virtual bool pick(const celmath::Ray3d& ray,
double& distanceToPicker,
double& cosAngleToBoundCenter) const;
virtual bool load(AssociativeArray*, const std::string&);
virtual void render(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize,
const Renderer* renderer);
bool pick(const celmath::Ray3d& ray,
double& distanceToPicker,
double& cosAngleToBoundCenter) const override;
bool load(AssociativeArray*, const std::string&) override;
void render(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize,
const Renderer* renderer) override;
virtual uint64_t getRenderMask() const;
virtual unsigned int getLabelMask() const;
uint64_t getRenderMask() const override;
unsigned int getLabelMask() const override;
void setGeometry(ResourceHandle);
ResourceHandle getGeometry() const;
virtual const char* getObjTypeName() const;
const char* getObjTypeName() const override;
public:
enum NebulaType

View File

@ -21,27 +21,28 @@ class OpenCluster : public DeepSkyObject
OpenCluster() = default;
virtual const char* getType() const;
virtual void setType(const std::string&);
virtual std::string getDescription() const;
const char* getType() const override;
void setType(const std::string&) override;
std::string getDescription() const override;
virtual bool pick(const celmath::Ray3d& ray,
double& distanceToPicker,
double& cosAngleToBoundCenter) const;
virtual bool load(AssociativeArray*, const std::string&);
virtual void render(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize,
const Renderer* r = nullptr);
bool pick(const celmath::Ray3d& ray,
double& distanceToPicker,
double& cosAngleToBoundCenter) const override;
bool load(AssociativeArray*, const std::string&) override;
void render(const Eigen::Vector3f& offset,
const Eigen::Quaternionf& viewerOrientation,
float brightness,
float pixelSize,
const Renderer* r = nullptr) override;
virtual uint64_t getRenderMask() const;
virtual unsigned int getLabelMask() const;
uint64_t getRenderMask() const override;
unsigned int getLabelMask() const override;
virtual const char* getObjTypeName() const;
const char* getObjTypeName() const override;
public:
enum ClusterType {
enum ClusterType
{
Open = 0,
Globular = 1,
NotDefined = 2