SAGA API
v9.6
|
#include <shapes.h>
Public Member Functions | |
virtual void | Destroy (void) |
virtual bool | Assign (CSG_Table_Record *pRecord) |
virtual bool | Assign (CSG_Table_Record *pRecord, bool bAssign_Attributes) |
virtual bool | Assign (CSG_Table_Record *pRecord, TSG_ADD_Shape_Copy_Mode mCopy) |
virtual bool | is_Valid (void) const =0 |
TSG_Shape_Type | Get_Type (void) const |
TSG_Vertex_Type | Get_Vertex_Type (void) const |
class CSG_Shape_Point * | asPoint (void) const |
class CSG_Shape_Points * | asPoints (void) const |
class CSG_Shape_Line * | asLine (void) const |
class CSG_Shape_Polygon * | asPolygon (void) const |
virtual int | Get_Point_Count (void) const =0 |
virtual int | Get_Point_Count (int iPart) const =0 |
virtual int | Get_Part_Count (void) const =0 |
virtual int | Add_Part (class CSG_Shape_Part *pPart, bool bRevert=false) |
virtual CSG_Shape_Part * | Get_Part (int iPart) const |
virtual int | Del_Part (int iPart) |
virtual int | Del_Parts (void) |
virtual int | Add_Point (double x, double y, int iPart=0)=0 |
virtual int | Add_Point (const CSG_Point &p, int iPart=0)=0 |
virtual int | Add_Point (const CSG_Point_3D &p, int iPart=0)=0 |
virtual int | Add_Point (const CSG_Point_4D &p, int iPart=0)=0 |
virtual int | Ins_Point (double x, double y, int iPoint, int iPart=0)=0 |
virtual int | Ins_Point (const CSG_Point &p, int iPoint, int iPart=0)=0 |
virtual int | Ins_Point (const CSG_Point_3D &p, int iPoint, int iPart=0)=0 |
virtual int | Ins_Point (const CSG_Point_4D &p, int iPoint, int iPart=0)=0 |
virtual int | Set_Point (double x, double y, int iPoint=0, int iPart=0)=0 |
virtual int | Set_Point (const CSG_Point &p, int iPoint=0, int iPart=0)=0 |
virtual int | Set_Point (const CSG_Point_3D &p, int iPoint=0, int iPart=0)=0 |
virtual int | Set_Point (const CSG_Point_4D &p, int iPoint=0, int iPart=0)=0 |
virtual int | Del_Point (int iPoint, int iPart=0)=0 |
virtual TSG_Point | Get_Point (int iPoint=0) const =0 |
virtual TSG_Point | Get_Point (int iPoint, int iPart, bool bAscending=true) const =0 |
virtual void | Set_Z (double z, int iPoint=0, int iPart=0) |
virtual double | Get_Z (int iPoint=0, int iPart=0, bool bAscending=true) const |
virtual double | Get_ZMin (void) |
virtual double | Get_ZMax (void) |
virtual TSG_Point_3D | Get_Point_Z (int iPoint=0, int iPart=0, bool bAscending=true) const |
virtual void | Set_M (double m, int iPoint=0, int iPart=0) |
virtual double | Get_M (int iPoint=0, int iPart=0, bool bAscending=true) const |
virtual double | Get_MMin (void) |
virtual double | Get_MMax (void) |
virtual TSG_Point_4D | Get_Point_ZM (int iPoint=0, int iPart=0, bool bAscending=true) const |
virtual const CSG_Rect & | Get_Extent (void)=0 |
virtual const CSG_Rect & | Get_Extent (int iPart) |
virtual TSG_Point | Get_Centroid (void)=0 |
TSG_Intersection | Intersects (CSG_Shape *pShape) |
TSG_Intersection | Intersects (const TSG_Rect &Extent) |
virtual double | Get_Distance (TSG_Point Point) const =0 |
virtual double | Get_Distance (TSG_Point Point, int iPart) const =0 |
virtual double | Get_Distance (TSG_Point Point, TSG_Point &Next) const =0 |
virtual double | Get_Distance (TSG_Point Point, TSG_Point &Next, int iPart) const =0 |
virtual bool | Revert_Points (int iPart) |
Public Member Functions inherited from CSG_Table_Record | |
class CSG_Table * | Get_Table (void) |
sLong | Get_Index (void) const |
bool | Set_Value (int Field, const CSG_String &Value) |
bool | Set_Value (int Field, const char *Value) |
bool | Set_Value (int Field, const wchar_t *Value) |
bool | Set_Value (const CSG_String &Field, const CSG_String &Value) |
bool | Set_Value (const char *Field, const CSG_String &Value) |
bool | Set_Value (const wchar_t *Field, const CSG_String &Value) |
bool | Set_Value (const char *Field, const char *Value) |
bool | Set_Value (const wchar_t *Field, const wchar_t *Value) |
bool | Set_Value (int Field, const CSG_Bytes &Value) |
bool | Set_Value (const CSG_String &Field, const CSG_Bytes &Value) |
bool | Set_Value (const char *Field, const CSG_Bytes &Value) |
bool | Set_Value (const wchar_t *Field, const CSG_Bytes &Value) |
bool | Set_Value (int Field, double Value) |
bool | Set_Value (const CSG_String &Field, double Value) |
bool | Set_Value (const char *Field, double Value) |
bool | Set_Value (const wchar_t *Field, double Value) |
bool | Set_Value (int Field, sLong Value) |
bool | Set_Value (const CSG_String &Field, sLong Value) |
bool | Set_Value (const char *Field, sLong Value) |
bool | Set_Value (const wchar_t *Field, sLong Value) |
bool | Set_Value (int Field, size_t Value) |
bool | Set_Value (const CSG_String &Field, size_t Value) |
bool | Set_Value (const char *Field, size_t Value) |
bool | Set_Value (const wchar_t *Field, size_t Value) |
bool | Set_Value (int Field, DWORD Value) |
bool | Set_Value (const CSG_String &Field, DWORD Value) |
bool | Set_Value (const char *Field, DWORD Value) |
bool | Set_Value (const wchar_t *Field, DWORD Value) |
bool | Set_Value (int Field, long Value) |
bool | Set_Value (const CSG_String &Field, long Value) |
bool | Set_Value (const char *Field, long Value) |
bool | Set_Value (const wchar_t *Field, long Value) |
bool | Set_Value (int Field, int Value) |
bool | Set_Value (const CSG_String &Field, int Value) |
bool | Set_Value (const char *Field, int Value) |
bool | Set_Value (const wchar_t *Field, int Value) |
bool | Add_Value (int Field, double Value) |
bool | Add_Value (const CSG_String &Field, double Value) |
bool | Add_Value (const char *Field, double Value) |
bool | Add_Value (const wchar_t *Field, double Value) |
bool | Mul_Value (int Field, double Value) |
bool | Mul_Value (const CSG_String &Field, double Value) |
bool | Mul_Value (const char *Field, double Value) |
bool | Mul_Value (const wchar_t *Field, double Value) |
bool | Set_NoData (int Field) |
bool | Set_NoData (const CSG_String &Field) |
bool | Set_NoData (const char *Field) |
bool | Set_NoData (const wchar_t *Field) |
bool | is_NoData (int Field) const |
bool | is_NoData (const CSG_String &Field) const |
bool | is_NoData (const char *Field) const |
bool | is_NoData (const wchar_t *Field) const |
const SG_Char * | asString (int Field, int Decimals=-99) const |
const SG_Char * | asString (const CSG_String &Field, int Decimals=-99) const |
const SG_Char * | asString (const char *Field, int Decimals=-99) const |
const SG_Char * | asString (const wchar_t *Field, int Decimals=-99) const |
SG_Char | asChar (int Field) const |
SG_Char | asChar (const CSG_String &Field) const |
SG_Char | asChar (const char *Field) const |
SG_Char | asChar (const wchar_t *Field) const |
short | asShort (int Field) const |
short | asShort (const CSG_String &Field) const |
short | asShort (const char *Field) const |
short | asShort (const wchar_t *Field) const |
int | asInt (int Field) const |
int | asInt (const CSG_String &Field) const |
int | asInt (const char *Field) const |
int | asInt (const wchar_t *Field) const |
sLong | asLong (int Field) const |
sLong | asLong (const CSG_String &Field) const |
sLong | asLong (const char *Field) const |
sLong | asLong (const wchar_t *Field) const |
float | asFloat (int iField) const |
float | asFloat (const CSG_String &Field) const |
float | asFloat (const char *Field) const |
float | asFloat (const wchar_t *Field) const |
double | asDouble (int Field) const |
double | asDouble (const CSG_String &Field) const |
double | asDouble (const char *Field) const |
double | asDouble (const wchar_t *Field) const |
CSG_Table_Value * | Get_Value (int Field) |
CSG_Table_Value & | operator[] (int Field) const |
bool | is_Selected (void) const |
bool | is_Modified (void) const |
Protected Member Functions | |
CSG_Shape (class CSG_Shapes *pOwner, sLong Index) | |
virtual | ~CSG_Shape (void) |
virtual bool | On_Assign (CSG_Shape *pShape)=0 |
virtual TSG_Intersection | On_Intersects (CSG_Shape *pShape)=0 |
virtual TSG_Intersection | On_Intersects (TSG_Rect Extent)=0 |
virtual void | _Invalidate (void) |
Protected Member Functions inherited from CSG_Table_Record | |
CSG_Table_Record (class CSG_Table *pTable, sLong Index) | |
virtual | ~CSG_Table_Record (void) |
void | Set_Selected (bool bOn=true) |
void | Set_Modified (bool bOn=true) |
bool | _Add_Field (int add_Field) |
bool | _Del_Field (int del_Field) |
int | _Get_Field (const CSG_String &Field) const |
Friends | |
class | CSG_Shapes |
Additional Inherited Members | |
Static Protected Member Functions inherited from CSG_Table_Record | |
static CSG_Table_Value * | _Create_Value (TSG_Data_Type Type) |
Protected Attributes inherited from CSG_Table_Record | |
char | m_Flags |
sLong | m_Index |
class CSG_Table_Value ** | m_Values |
class CSG_Table * | m_pTable |
|
protected |
|
protectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in CSG_Shape_Polygon, and CSG_Shape_Points.
Definition at line 105 of file shape.cpp.
References CSG_Table_Record::m_pTable, and CSG_Table_Record::Set_Modified().
Referenced by CSG_Shape_Points::_Invalidate(), CSG_Shape_Point_ZM::Set_M(), CSG_Shape_Point::Set_Point(), and CSG_Shape_Point_Z::Set_Z().
|
inlinevirtual |
Reimplemented in CSG_Shape_Points.
Definition at line 168 of file shapes.h.
Referenced by SG_Shape_Get_ExclusiveOr(), and SG_Shape_Get_Union().
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
Referenced by CSG_TIN::Save(), SG_Get_Projected(), SG_Shape_Get_ExclusiveOr(), and SG_Shape_Get_Union().
|
inline |
Definition at line 160 of file shapes.h.
References Get_Type(), and SHAPE_TYPE_Line.
|
inline |
Definition at line 158 of file shapes.h.
References Get_Type(), and SHAPE_TYPE_Point.
|
inline |
Definition at line 159 of file shapes.h.
References Get_Type(), and SHAPE_TYPE_Points.
|
inline |
Definition at line 161 of file shapes.h.
References Get_Type(), and SHAPE_TYPE_Polygon.
|
virtual |
Reimplemented from CSG_Table_Record.
Definition at line 195 of file shape.cpp.
References SHAPE_COPY.
Referenced by CSG_Shapes::Add_Shape(), Assign(), SG_Shape_Get_Difference(), SG_Shape_Get_ExclusiveOr(), SG_Shape_Get_Intersection(), and SG_Shape_Get_Union().
|
virtual |
Definition at line 200 of file shape.cpp.
References Assign(), SHAPE_COPY, and SHAPE_COPY_GEOM.
|
virtual |
Definition at line 205 of file shape.cpp.
References CSG_Table_Record::Assign(), CSG_Table::Get_ObjectType(), CSG_Table_Record::Get_Table(), Get_Type(), On_Assign(), SG_DATAOBJECT_TYPE_Shapes, SHAPE_COPY, SHAPE_COPY_ATTR, and SHAPE_COPY_GEOM.
|
inlinevirtual |
Reimplemented in CSG_Shape_Points.
|
inlinevirtual |
Reimplemented in CSG_Shape_Points.
Definition at line 171 of file shapes.h.
Referenced by CSG_Shapes_OGIS_Converter::from_WKBinary(), and CSG_Shapes_OGIS_Converter::from_WKText().
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
virtual |
Reimplemented in CSG_Shape_Points.
Definition at line 79 of file shape.cpp.
Referenced by CSG_Shape_Points::Destroy(), and ~CSG_Shape().
|
pure virtual |
Implemented in CSG_Shape_Polygon, CSG_Shape_Line, CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
Referenced by CSG_Shapes::Get_Shape().
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Polygon, CSG_Shape_Line, CSG_Shape_Points, and CSG_Shape_Point.
|
inlinevirtual |
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
Referenced by _SG_Polygon_Clip(), Intersects(), CSG_Shapes::On_Update(), SG_Shape_Get_Dissolve(), and SG_Shape_Get_Offset().
|
inlinevirtual |
Reimplemented in CSG_Shape_Points, and CSG_Shape_Point_ZM.
Definition at line 211 of file shapes.h.
Referenced by CSG_Shape_Point::On_Assign(), and CSG_Shape_Points::On_Assign().
|
inlinevirtual |
Reimplemented in CSG_Shape_Points, and CSG_Shape_Point_ZM.
Definition at line 213 of file shapes.h.
Referenced by CSG_Shapes::On_Update().
|
inlinevirtual |
Reimplemented in CSG_Shape_Points, and CSG_Shape_Point_ZM.
Definition at line 212 of file shapes.h.
Referenced by CSG_Shapes::On_Update().
|
inlinevirtual |
Reimplemented in CSG_Shape_Points.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
Referenced by CSG_TIN::Create(), CSG_PRQuadTree::Create(), Intersects(), CSG_Shape_Points::On_Assign(), CSG_Shape_Points::On_Intersects(), CSG_Shape_Line::On_Intersects(), CSG_Shape_Polygon::On_Intersects(), SG_Shape_Get_ExclusiveOr(), and SG_Shape_Get_Union().
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
Referenced by CSG_KDTree_2D::Create(), CSG_KDTree_3D::Create(), CSG_TIN::Create(), CSG_PRQuadTree::Create(), CSG_Shape_Points::Get_Point(), CSG_Parameters_Point_Search_KDTree_2D::Get_Point(), CSG_Parameters_Point_Search_KDTree_2D::Get_Points(), Intersects(), CSG_Shape_Point::On_Assign(), CSG_Shape_Points::On_Assign(), CSG_Shape_Points::On_Intersects(), CSG_Shape_Line::On_Intersects(), and CSG_Shape_Polygon::On_Intersects().
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
|
inlinevirtual |
Definition at line 198 of file shapes.h.
References CSG_Shape_Points::Get_Point(), CSG_Shape_Points::Get_Z(), SSG_Point::x, SSG_Point_3D::x, SSG_Point::y, SSG_Point_3D::y, and SSG_Point_3D::z.
|
inlinevirtual |
Definition at line 214 of file shapes.h.
References CSG_Shape_Points::Get_M(), CSG_Shape_Points::Get_Point(), CSG_Shape_Points::Get_Z(), SSG_Point_4D::m, SSG_Point::x, SSG_Point_4D::x, SSG_Point::y, SSG_Point_4D::y, and SSG_Point_4D::z.
TSG_Shape_Type CSG_Shape::Get_Type | ( | void | ) | const |
Definition at line 88 of file shape.cpp.
References CSG_Table_Record::m_pTable.
Referenced by _SG_Polygon_Clip(), asLine(), asPoint(), asPoints(), asPolygon(), Assign(), CSG_Shapes_OGIS_Converter::from_WKBinary(), CSG_Shapes_OGIS_Converter::from_WKText(), Intersects(), CSG_Shape_Points::On_Assign(), CSG_Shape_Line::On_Intersects(), CSG_Shape_Polygon::On_Intersects(), SG_Shape_Get_Offset(), CSG_Shapes_OGIS_Converter::to_WKBinary(), and CSG_Shapes_OGIS_Converter::to_WKText().
TSG_Vertex_Type CSG_Shape::Get_Vertex_Type | ( | void | ) | const |
Definition at line 94 of file shape.cpp.
References CSG_Table_Record::m_pTable.
Referenced by CSG_Shape_Points::On_Assign(), CSG_Shapes_OGIS_Converter::to_WKBinary(), and CSG_Shapes_OGIS_Converter::to_WKText().
|
inlinevirtual |
Reimplemented in CSG_Shape_Points, and CSG_Shape_Point_Z.
Definition at line 195 of file shapes.h.
Referenced by CSG_KDTree_3D::Create(), CSG_Shape_Point::On_Assign(), and CSG_Shape_Points::On_Assign().
|
inlinevirtual |
Reimplemented in CSG_Shape_Points, and CSG_Shape_Point_Z.
Definition at line 197 of file shapes.h.
Referenced by CSG_Shapes::On_Update().
|
inlinevirtual |
Reimplemented in CSG_Shape_Points, and CSG_Shape_Point_Z.
Definition at line 196 of file shapes.h.
Referenced by CSG_Shapes::On_Update().
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
Referenced by CSG_Shape_Points::Add_Point().
TSG_Intersection CSG_Shape::Intersects | ( | const TSG_Rect & | Extent | ) |
Definition at line 177 of file shape.cpp.
References Get_Extent(), INTERSECTION_Contains, INTERSECTION_Overlaps, CSG_Rect::Intersects(), and On_Intersects().
TSG_Intersection CSG_Shape::Intersects | ( | CSG_Shape * | pShape | ) |
Definition at line 118 of file shape.cpp.
References Get_Extent(), Get_Part_Count(), Get_Point(), Get_Point_Count(), Get_Type(), INTERSECTION_Contained, INTERSECTION_Contains, INTERSECTION_Identical, INTERSECTION_None, CSG_Point::is_Equal(), and On_Intersects().
Referenced by CSG_Shapes::Get_Shape(), CSG_Shape_Polygon::Get_Shared_Edges(), CSG_Shape_Polygon::is_Neighbour(), CSG_Shape_Line::On_Intersects(), CSG_Shape_Polygon::On_Intersects(), CSG_Shapes::Select(), SG_Shape_Get_Difference(), SG_Shape_Get_ExclusiveOr(), SG_Shape_Get_Intersection(), and SG_Shape_Get_Union().
|
pure virtual |
Implemented in CSG_Shape_Polygon, CSG_Shape_Line, CSG_Shape_Points, and CSG_Shape_Point.
|
protectedpure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
Referenced by Assign().
|
protectedpure virtual |
Implemented in CSG_Shape_Polygon, CSG_Shape_Line, CSG_Shape_Points, and CSG_Shape_Point.
Referenced by Intersects().
|
protectedpure virtual |
Implemented in CSG_Shape_Polygon, CSG_Shape_Line, CSG_Shape_Points, and CSG_Shape_Point.
|
inlinevirtual |
Reimplemented in CSG_Shape_Points.
|
inlinevirtual |
Reimplemented in CSG_Shape_Points, and CSG_Shape_Point_ZM.
Definition at line 210 of file shapes.h.
Referenced by CSG_Shape_Point::On_Assign(), and CSG_Shape_Point::Set_Point().
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
|
pure virtual |
Implemented in CSG_Shape_Points, and CSG_Shape_Point.
Referenced by CSG_Shape_Point::Add_Point(), and CSG_Shape_Point::Ins_Point().
|
inlinevirtual |
Reimplemented in CSG_Shape_Points, and CSG_Shape_Point_Z.
Definition at line 194 of file shapes.h.
Referenced by CSG_Shape_Point::On_Assign(), and CSG_Shape_Point::Set_Point().
|
friend |