#pragma once
#include <string>
#include <vector>
#include <map>

/**
    空间几何体对象
*/
class CivGeometry
{
public:
    // 几何体类型
    enum GeometryType
    {
        SingleLine, // 单线
        MultiLine, // 多线
        Point, // 点
        Polygon // 面
    };

    CivGeometry(GeometryType type);
    ~CivGeometry();

    /**
     * @brief 根据文本生成集合体对象
     * @param [text] 根据文本文件生成集合体对象
     */
    static CivGeometry fromWktext(const std::string& text);

    // 几何体类型
    GeometryType type() const { return mGeometryType; }

private:
    GeometryType mGeometryType;
};
