• 大小: 27.22MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-04
  • 语言: 其他
  • 标签: linux  ecdis  enc  s57  s52  

资源简介

在Linux上开发的S57电子海图引擎源码,提供一个命令行工具查看S57文件内容,和一个Qt4应用程序,这次把所有源码都发上来了,功能介绍参见http://download.csdn.net/download/ljq1000/4373164

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 

#include “../tools/debug_alloc.h“
#include “../tools/String.h“
#include “../tools/Log.h“
#include “i18n/i18n.h“
#include “S52defs.h“
#include “h_chartedobject.h“
#include “ir_datasets.h“
#include “enc_chart.h“
#include “chartcanvas.h“

using namespace Geo;
using namespace FBG;
using namespace ENC;
using namespace MyTools;

namespace ENC
{
typedef void (*DrawHandler)(ChartCanvas * int flags FPainter *);

class ChartCanvasItem
{
public:
bool _enabled;
DrawHandler _h;

ChartCanvasItem() {}
ChartCanvasItem(bool enabled DrawHandler h)
: _enabled(enabled) _h(h) {}
};

class TextItem
{
public:
struct list_head _link;
FRect _r; // the top-left point of the rect is after rotation
String _s;
const FColor *_pcol;
int _fontSize;
};
#define TEXT_ITEM(linkptr) (reinterpret_cast(linkptr))

class DepthItem
{
public:
struct list_head _link;
IrFeatureContent _fea;
int _depth;

DepthItem(const IrFeatureContent &fea int d struct list_head *after)
: _link() _fea(fea) _depth(d)
{
list_add(&_link after);
}
};
#define DEPTH_ITEM(phead) (reinterpret_cast(phead))

class BeaconBuoyItem
{
public:
struct list_head _link;
FPoint _vp;
int _rn;

BeaconBuoyItem(const FPoint &vp int rn struct list_head *after)
{
_vp = vp;
_rn = rn;
list_add(&_link after);
}
};
#define BB_ITEM(phead) (reinterpret_cast(phead))

class LightItem
{
public:
struct list_head _link;
FPoint _vp;
const FColor *_c;
int _dupInd;

bool _isSectorLit;
int _sector1;
int _sector2;
int _sd; // lazy value for sorting
};
#define LIGHT_ITEM(phead) (reinterpret_cast(phead))

class MoorItem
{
public:
struct list_head _link;
FPoint _vp;
int _catmor;

MoorItem(const FPoint &vp int catmor struct list_head *after)
{
_vp = vp;
_catmor = catmor;
list_add(&_link after);
}
};
#define MOOR_ITEM(phead) (reinterpret_cast(phead))

struct TrItem
{
const char *en_name;
const F_UINT16 uc_name[16];
int uc_len;
};
};

#define BOYTXT_OFFSET_X (-10)
#define BOYTXT_OFFSET_Y (-10)
#define BCNTXT_OFFSET_X (-10)
#define BCNTXT_OFFSET_Y (-10)

// Utility funtions

#define cc_attr_has_information(f) ((f).hasAttr(102) || (f).hasAttr(300))

static bool cc_has_other_cautions(const IrFeatureContent &fea)
{
String restrn = fea.getAttr(131);
return restrn.indexOf(‘‘) != -1;
}

#define HOBJ(f cc) \
HChartedobject hobj((f) (cc)->mbr() (cc)->parent()->layerMetrics())

static void cc_draw_line_area_obj(
const IrFeatureContent &fea 
ChartCanvas *cc 
int flags 
FPainter *painter)
{
switch (fea.primitive()) {
case IrFeatureContent::Line:
if (flags & ChartCanvas::styleLine) {
HOBJ(fea cc);
hobj.drawLine(painter);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        990  2013-01-30 17:35  ecdis-3.0\configure

     文件        461  2013-04-02 11:10  ecdis-3.0\make.rules

     文件       2836  2013-04-28 12:04  ecdis-3.0\Makefile

     文件       1135  2013-01-30 18:07  ecdis-3.0\mklib

     文件     553027  2013-04-28 13:42  ecdis-3.0\sdk\bin\s57cast

     文件     458106  2013-04-28 13:42  ecdis-3.0\sdk\bin\s57extr

     文件     442377  2013-04-28 13:42  ecdis-3.0\sdk\bin\s57look

     文件       4044  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\enc_chart.h

     文件        430  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\enc_fishingzone.h

     文件        476  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\enc_highlight.h

     文件       6751  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\enc_layer.h

     文件        549  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\enc_utmgrid.h

     文件       1304  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\enc_vessel.h

     文件        754  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\enc_warning.h

     文件        143  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\env.h

     文件       1879  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\h_chartedobject.h

     文件       1159  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\h_object.h

     文件        719  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\i18n.h

     文件       5418  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\ir_datasets.h

     文件       3484  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\ir_feature.h

     文件       2701  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\ir_modulelib.h

     文件       1393  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\ir_spatial.h

     文件       6303  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\list.h

     文件        713  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\paintdevice.h

     文件       8994  2013-04-28 12:05  ecdis-3.0\sdk\include\enc\S52defs.h

     文件       2982  2013-03-04 12:21  ecdis-3.0\sdk\include\fbgui\fbgui.h

     文件       1095  2013-03-04 12:21  ecdis-3.0\sdk\include\fbgui\fbitmap.h

     文件       1527  2013-03-04 12:21  ecdis-3.0\sdk\include\fbgui\fclipper.h

     文件       2543  2013-03-04 12:21  ecdis-3.0\sdk\include\fbgui\fcolor.h

     文件        953  2013-03-04 12:21  ecdis-3.0\sdk\include\fbgui\ffont.h

............此处省略475个文件信息

评论

共有 条评论