⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 esrishape.h

📁 最新osg包
💻 H
字号:
#ifndef OSG_SHAPE_H#define OSG_SHAPE_H#include <stdio.h>#ifndef WIN32#include <unistd.h>#endif#include <osg/Referenced>#include "ESRIType.h"namespace ESRIShape {enum ByteOrder {    LittleEndian,    BigEndian};enum PartType{    TriangleStrip   = 0,    TriangleFan     = 1,    OuterRing       = 2,    InnerRing       = 3,    FirstRing       = 4,    Ring            = 5};enum ShapeType {    ShapeTypeNullShape   = 0,    ShapeTypePoint       = 1,    ShapeTypePolyLine    = 3,    ShapeTypePolygon     = 5,    ShapeTypeMultiPoint  = 8,    ShapeTypePointZ      = 11,    ShapeTypePolyLineZ   = 13,    ShapeTypePolygonZ    = 15,    ShapeTypeMultiPointZ = 18,    ShapeTypePointM      = 21,    ShapeTypePolyLineM   = 23,    ShapeTypePolygonM    = 25,    ShapeTypeMultiPointM = 28,    ShapeTypeMultiPatch  = 31};struct BoundingBox {    Double Xmin;    Double Ymin;    Double Xmax;    Double Ymax;    Double Zmin;    Double Zmax;    Double Mmin;    Double Mmax;    bool read( int fd );    void print();};///////////////struct ShapeHeader {    Integer fileCode;    Byte _unused_0[20];    Integer fileLength;    Integer version;    Integer shapeType;    BoundingBox bbox;    bool read(int fd);    void print();};struct RecordHeader {    Integer recordNumber;    Integer contentLength;    RecordHeader();    bool read( int fd );    void print();};struct NullRecord{    Integer shapeType;    NullRecord();    bool read( int fd );};//////////////////////////////////////////////////////////////////////struct Box{    Double Xmin, Ymin, Xmax, Ymax;    Box();    Box(const Box &b );    bool read( int fd );};struct Range {    Double min, max;    Range();    Range( const Range &r );    bool read( int fd );};struct ShapeObject : public osg::Referenced{    ShapeType shapeType;    ShapeObject(ShapeType s);    virtual ~ShapeObject();};struct Point : public ShapeObject{    Double x, y;    Point();    Point(const Point &p);    virtual ~Point();    bool read( int fd );    void print();};struct PointRecord{    Point point;    bool read( int fd );};struct MultiPoint: public ShapeObject{    Box     bbox;    Integer numPoints;    struct Point   *points;    MultiPoint();    MultiPoint( const struct MultiPoint &mpoint );    virtual ~MultiPoint();    bool read( int fd );    void print();};struct PolyLine: public ShapeObject{    Box             bbox;    Integer         numParts;    Integer         numPoints;    Integer         *parts;    struct Point    *points;    PolyLine();    PolyLine( const PolyLine &p );     virtual ~PolyLine();    bool read( int fd );};struct Polygon : public ShapeObject{    Box             bbox;    Integer         numParts;    Integer         numPoints;    Integer         *parts;    Point           *points;    Polygon();    Polygon( const Polygon &p );    virtual ~Polygon();    bool read( int fd );};//////////////////////////////////////////////////////////////////////struct PointM : public ShapeObject{    Double x, y, m;    PointM();    PointM(const PointM &p);    virtual ~PointM();    bool read( int fd );    void print();};struct PointMRecord{    PointM pointM;    bool read( int fd );};struct MultiPointM: public ShapeObject{    Box             bbox;    Integer         numPoints;    struct Point    *points;    struct Range    mRange;     Double          *mArray;    MultiPointM();    MultiPointM( const struct MultiPointM &mpointm );    virtual ~MultiPointM();    bool read( int fd );    void print();};struct PolyLineM: public ShapeObject{    Box             bbox;    Integer         numParts;    Integer         numPoints;    Integer         *parts;    struct Point    *points;    struct Range    mRange;     Double          *mArray;    PolyLineM();    PolyLineM(const PolyLineM &p);    virtual ~PolyLineM();    bool read( int fd );};struct PolygonM : public ShapeObject{    Box             bbox;    Integer         numParts;    Integer         numPoints;    Integer         *parts;    Point           *points;    struct Range    mRange;     Double          *mArray;    PolygonM();    PolygonM(const PolygonM &p);    virtual ~PolygonM();    bool read( int fd );};//////////////////////////////////////////////////////////////////////struct PointZ : public ShapeObject{    Double x, y, z, m;    PointZ();    PointZ(const PointZ &p);    virtual ~PointZ();    bool read( int fd );    void print();};struct MultiPointZ: public ShapeObject{    Box             bbox;    Integer         numPoints;    struct Point    *points;    struct Range    zRange;     Double          *zArray;    struct Range    mRange;     Double          *mArray;    MultiPointZ();    MultiPointZ( const struct MultiPointZ &);    virtual ~MultiPointZ();    bool read( int fd );    void print();};struct PolyLineZ: public ShapeObject{    Box             bbox;    Integer         numParts;    Integer         numPoints;    Integer         *parts;    struct Point    *points;    struct Range    zRange;     Double          *zArray;    struct Range    mRange;     Double          *mArray;    PolyLineZ();    PolyLineZ( const PolyLineZ &p );     virtual ~PolyLineZ();    bool read( int fd );};struct PolygonZ : public ShapeObject{    Box             bbox;    Integer         numParts;    Integer         numPoints;    Integer         *parts;    Point           *points;    struct Range    zRange;     Double          *zArray;    struct Range    mRange;     Double          *mArray;    PolygonZ();    PolygonZ( const PolygonZ &p );    virtual ~PolygonZ();    bool read( int fd );};//////////////////////////////////////////////////////////////////////struct MultiPatch{    Box             bbox;    Integer         numParts;    Integer         numPoints;    Integer         *parts;    Integer         *partTypes;    struct Point    *points;    Range           zRange;    Double          *zArray;    Range           mRange;    Double          *mArray;    MultiPatch();    MultiPatch( const MultiPatch &);    virtual ~MultiPatch();    bool read( int );};}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -