亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? celestialbrowser.cpp

?? celestia源代碼
?? CPP
字號:
#include <qradiobutton.h>#include <klistview.h>#include <kpopupmenu.h>#include <klocale.h>#include <qstatusbar.h>#include <vector>#include "celestiacore.h"#include "celengine/simulation.h"#include "celengine/stardb.h"#include "celengine/starbrowser.h"#include "celengine/selection.h"#include "celestialbrowser.h"#include "cellistviewitem.h"#include "selectionpopup.h"#include "celutil/utf8.h"/*  *  Constructs a CelestialBrowser which is a child of 'parent', with the  *  name 'name' and widget flags set to 'f'  * *  The dialog will by default be modeless, unless you set 'modal' to *  TRUE to construct a modal dialog. */CelestialBrowser::CelestialBrowser( QWidget* parent, CelestiaCore* appCore)    : CelestialBrowserBase( parent, i18n("Celestial Browser")){    this->parent = dynamic_cast<KdeApp*>(parent);    this->appCore = appCore;    this->appSim = appCore->getSimulation();    listStars->setAllColumnsShowFocus(true);    listStars->setRootIsDecorated(true);    listStars->setColumnAlignment(1, Qt::AlignRight);    listStars->setColumnAlignment(2, Qt::AlignRight);    listStars->setColumnAlignment(3, Qt::AlignRight);    listStars->setShowSortIndicator(true);        sbrowser.setSimulation(appSim);    radioNearest->setChecked(true);    statusBar()->hide();}/*   *  Destroys the object and frees any allocated resources */CelestialBrowser::~CelestialBrowser(){    // no need to delete child widgets, Qt does it all for us}/* * public slot */void CelestialBrowser::slotNearest(bool){    sbrowser.setPredicate(StarBrowser::NearestStars);    listStars->setSorting(1);    slotRefresh();}/* * public slot */void CelestialBrowser::slotBrightest(bool){    sbrowser.setPredicate(StarBrowser::BrightestStars);    listStars->setSorting(3);    slotRefresh();}/* * public slot */void CelestialBrowser::slotBrighter(bool){    sbrowser.setPredicate(StarBrowser::BrighterStars);    listStars->setSorting(2);    slotRefresh();}/* * public slot */void CelestialBrowser::slotWithPlanets(bool){    sbrowser.setPredicate(StarBrowser::StarsWithPlanets);    listStars->setSorting(1);    slotRefresh();}/* * public slot */void CelestialBrowser::slotRefresh(){    StarDatabase* stardb = appSim->getUniverse()->getStarCatalog();    sbrowser.refresh();        std::vector<const Star*> *stars = sbrowser.listStars(100);        listStars->clear();      browserSel.obj = const_cast<Star*>((*stars)[0]);    browserSel.type = Selection::Type_Star;    SolarSystemCatalog* solarSystemCatalog = appSim->getUniverse()->getSolarSystemCatalog();    UniversalCoord ucPos = appSim->getObserver().getPosition();    Point3f obsPos( (double)ucPos.x * 1e-6,                    (double)ucPos.y * 1e-6,                    (double)ucPos.z * 1e-6);                            for (std::vector<const Star*>::iterator i = stars->begin();          i != stars->end() ;          i++ )    {        const Star *star=(Star *)(*i);        Point3f starPos = star->getPosition();        Vec3d v(starPos.x - obsPos.x,                 starPos.y - obsPos.y,                 starPos.z - obsPos.z);        double dist = v.length();        QString starClass(star->getSpectralType());        CelListViewItem *starItem = new CelListViewItem(listStars, stardb->getStarName(*star), dist, "ly",                astro::absToAppMag(star->getAbsoluteMagnitude(), dist),                star->getAbsoluteMagnitude(), starClass);                SolarSystemCatalog::iterator iter = solarSystemCatalog->find(star->getCatalogNumber());        if (iter != solarSystemCatalog->end())        {             const PlanetarySystem* planets = 0;            SolarSystem* solarSys = iter->second;            planets = solarSys->getPlanets();                        for (int i = 0; i < solarSys->getPlanets()->getSystemSize(); i++)            {                Body* body = solarSys->getPlanets()->getBody(i);                                Point3d bodyPos = body->getHeliocentricPosition(appSim->getTime());                double starBodyDist = bodyPos.distanceFromOrigin();                CelListViewItem *planetItem = new CelListViewItem(starItem, body->getName(true),                                             starBodyDist / KM_PER_AU, "au",                                            0, 0, getClassification(body->getClassification()));                                const PlanetarySystem* satellites = body->getSatellites();                if (satellites != NULL && satellites->getSystemSize() != 0)                {                        for (int i = 0; i < satellites->getSystemSize(); i++)                        {                                Body* sat = satellites->getBody(i);                                                                Point3d satPos = sat->getHeliocentricPosition(appSim->getTime());                                Vec3d bodySatVec(bodyPos.x - satPos.x, bodyPos.y - satPos.y, bodyPos.z - satPos.z);                                double bodySatDist = bodySatVec.length();                                                                new CelListViewItem(planetItem, sat->getName(true),                                    bodySatDist, "km", 0, 0, getClassification(sat->getClassification()));                        }                }            }        }    }    delete(stars);}QString CelestialBrowser::getClassification(int c) const{        QString cl;    switch(c)        {        case Body::Planet:            cl = i18n("Planet");            break;        case Body::Moon:            cl = i18n("Moon");            break;        case Body::Asteroid:            cl = i18n("Asteroid");            break;        case Body::Comet:            cl = i18n("Comet");            break;        case Body::Spacecraft:            cl = i18n("Spacecraft");            break;        case Body::Unknown:        default:            cl = i18n("-");            break;        }    return cl;}void CelestialBrowser::slotRightClickOnStar(QListViewItem* item, const QPoint& p, int col) {    CelListViewItem *i = dynamic_cast<CelListViewItem*>(item);    std::string name = i->getName();    while ( (i = dynamic_cast<CelListViewItem*>(i->parent())) ) {        name = i->getName() + "/" + name;    }    Selection sel = appSim->findObjectFromPath(name, true);    SelectionPopup popup(this, appCore, sel);    popup.init();    int id = popup.exec(p);    popup.process(id);}CelListViewItem::CelListViewItem( QListView * parent, std::string _name, double _dist, const char* _dist_unit, double _app_mag, double _abs_mag, QString _type )    : QListViewItem(parent),    name(_name),    dist(_dist),    dist_unit(_dist_unit),    app_mag(_app_mag),    abs_mag(_abs_mag),    type(_type){    char buf[20];    QString label;    this->setText(0, QString::fromUtf8(ReplaceGreekLetterAbbr(_name).c_str()));    sprintf(buf, " %.2f %s", _dist, _dist_unit);    label = buf;    this->setText(1, label);    if (_app_mag != 0) {        sprintf(buf, " %.2f ", _app_mag);        label = buf;        this->setText(2, label);    }    if (_abs_mag != 0) {        sprintf(buf, " %.2f ", _abs_mag);        label = buf;        this->setText(3, label);    }    this->setText(4, _type);}CelListViewItem::CelListViewItem( QListViewItem * parent, std::string _name, double _dist, const char* _dist_unit, double _app_mag, double _abs_mag, QString _type )    : QListViewItem(parent),    name(_name),    dist(_dist),    dist_unit(_dist_unit),    app_mag(_app_mag),    abs_mag(_abs_mag),    type(_type){    char buf[20];    QString label;    this->setText(0, QString::fromUtf8(ReplaceGreekLetterAbbr(_name).c_str()));    sprintf(buf, " %.2f %s", _dist, _dist_unit);    label = buf;    this->setText(1, label);    if (_app_mag != 0) {        sprintf(buf, " %.2f ", _app_mag);        label = buf;        this->setText(2, label);    }    if (_abs_mag != 0) {        sprintf(buf, " %.2f ", _abs_mag);        label = buf;        this->setText(3, label);    }    this->setText(4, _type);}CelListViewItem::~CelListViewItem() {}int CelListViewItem::compare ( QListViewItem * i, int col, bool ascending ) const {    if (col == 0 || col > 3) {        return key(col, ascending).localeAwareCompare(i->key(col, ascending));    } else {        if (col == 1) return (dist > dynamic_cast<CelListViewItem*>(i)->getDist()) * 2 - 1;        if (col == 2) return (app_mag > dynamic_cast<CelListViewItem*>(i)->getAppMag()) * 2 - 1;        if (col == 3) return (abs_mag > dynamic_cast<CelListViewItem*>(i)->getAbsMag()) * 2 - 1;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人国产精品免费观看动漫| 国产视频一区二区在线| 欧美电影免费观看高清完整版在 | 乱中年女人伦av一区二区| 懂色av一区二区在线播放| 日韩一区二区三区视频在线| 亚洲激情自拍视频| 丁香另类激情小说| 久久免费美女视频| 麻豆久久久久久| 91精品国产一区二区三区| 一二三四区精品视频| 丁香婷婷综合五月| 精品福利在线导航| 日韩精品久久久久久| 色av成人天堂桃色av| 亚洲人成影院在线观看| 成人av一区二区三区| 国产欧美一区视频| 国产乱码精品一区二区三区av | 91九色最新地址| 中文字幕乱码日本亚洲一区二区 | 日本va欧美va瓶| 欧美日韩精品免费| 亚洲成人午夜电影| 欧美日韩一区二区三区高清| 亚洲精选视频免费看| 91在线你懂得| 亚洲久草在线视频| 色吧成人激情小说| 一区二区三区四区在线免费观看 | 制服.丝袜.亚洲.中文.综合| 亚洲国产中文字幕| 欧美日韩在线播放三区| 午夜视频久久久久久| 在线播放一区二区三区| 日韩电影免费一区| 日韩三级.com| 国产成人自拍网| 1区2区3区精品视频| 91免费国产视频网站| 一区二区三区不卡在线观看| 欧美色大人视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美人成免费网站| 麻豆一区二区三| 日本一区二区三区免费乱视频 | 国产成人免费9x9x人网站视频| 国产亚洲人成网站| www.欧美日韩| 性做久久久久久| 精品国产免费一区二区三区四区 | 欧美三级韩国三级日本三斤| 日本欧美一区二区| 欧美国产国产综合| 在线这里只有精品| 久久精品国产99| 中文字幕在线一区| 欧美喷水一区二区| 国产乱子伦视频一区二区三区 | 国产女主播视频一区二区| 91一区二区三区在线播放| 五月天激情小说综合| 久久精品亚洲精品国产欧美kt∨| 成人a免费在线看| 午夜在线电影亚洲一区| 国产三级精品视频| 色婷婷久久99综合精品jk白丝| 久久精品国产亚洲aⅴ| 亚洲色欲色欲www| 日韩欧美一区二区在线视频| 成人不卡免费av| 免费在线一区观看| 最新国产成人在线观看| 日韩欧美久久一区| 色综合天天综合网天天狠天天 | 久久精品亚洲一区二区三区浴池 | 久久精品国产精品亚洲红杏| 亚洲精品日日夜夜| 久久影院午夜片一区| 日本精品视频一区二区| 国产精品亚洲一区二区三区在线| 亚洲国产成人va在线观看天堂| 国产亚洲一区二区三区四区| 91精品国产色综合久久不卡蜜臀 | 日本麻豆一区二区三区视频| 日韩一区欧美小说| 久久免费视频一区| 日韩区在线观看| 欧美人与禽zozo性伦| 91片黄在线观看| 成人午夜免费电影| 国内精品伊人久久久久av一坑| 亚洲 欧美综合在线网络| 亚洲蜜桃精久久久久久久| 久久九九国产精品| 26uuu成人网一区二区三区| 欧美一区二区三区在线观看视频| 色94色欧美sute亚洲13| 成人av动漫网站| 国产成人鲁色资源国产91色综| 久久精品国产免费看久久精品| 水蜜桃久久夜色精品一区的特点| 一区二区三区中文免费| 综合久久一区二区三区| 中文字幕在线观看一区二区| 中文字幕在线观看一区| 综合久久久久久| 亚洲欧美另类久久久精品| 中文字幕一区三区| 国产精品污网站| 国产精品久久久久久久久久久免费看| 国产午夜亚洲精品理论片色戒 | 亚洲影院免费观看| 亚洲男同性视频| 亚洲综合在线电影| 一卡二卡三卡日韩欧美| 亚洲一区免费视频| 夜夜嗨av一区二区三区四季av| 亚洲精品久久7777| 亚洲成人一二三| 秋霞成人午夜伦在线观看| 久久99精品久久久| 国内外成人在线| 成人a区在线观看| 色婷婷久久久久swag精品 | 亚洲bt欧美bt精品777| 免费在线欧美视频| 黄色小说综合网站| 国产成人鲁色资源国产91色综| www.久久久久久久久| 91久久精品一区二区| 91精品国产一区二区三区| 久久久不卡网国产精品二区| 国产精品三级视频| 亚洲国产日韩一级| 韩国成人在线视频| 91麻豆国产福利在线观看| 精品视频一区二区三区免费| 精品国偷自产国产一区| 国产精品拍天天在线| 一区二区三区在线免费观看| 日本成人在线电影网| 成人国产免费视频| 欧美久久一二三四区| 久久久精品tv| 亚洲第一二三四区| 国产成人免费高清| 欧美日本韩国一区二区三区视频| 久久综合999| 一级做a爱片久久| 国产不卡视频在线观看| 欧美午夜精品一区| 欧美激情资源网| 日韩电影在线观看电影| youjizz国产精品| 欧美mv日韩mv| 亚洲国产日韩av| 成人黄色电影在线| 欧美成人精品3d动漫h| 亚洲欧美日韩久久精品| 精品一二三四在线| 欧美综合亚洲图片综合区| 国产拍欧美日韩视频二区| 日韩精品电影一区亚洲| 色综合天天综合色综合av| www日韩大片| 午夜精品福利一区二区蜜股av| 成人少妇影院yyyy| 精品成人在线观看| 日韩高清不卡一区二区| 91蜜桃婷婷狠狠久久综合9色| 欧美大尺度电影在线| 亚洲成人综合在线| 一本久久综合亚洲鲁鲁五月天 | 精品成人一区二区三区| 亚洲3atv精品一区二区三区| 91麻豆精品在线观看| 中文字幕成人网| 国产成人免费视频网站 | 中文字幕乱码一区二区免费| 美女视频一区在线观看| 欧美日韩亚洲不卡| 亚洲青青青在线视频| 成人黄色综合网站| 国产精品久久久久久一区二区三区| 蜜桃av一区二区| 欧美精品第一页| 舔着乳尖日韩一区| 欧美精品乱人伦久久久久久| 亚洲午夜在线观看视频在线| 91高清视频免费看| 亚洲少妇屁股交4| 91蝌蚪porny| 尤物视频一区二区| 色偷偷久久一区二区三区| 亚洲欧美色综合| 在线免费一区三区| 亚洲宅男天堂在线观看无病毒| 欧美在线看片a免费观看|