SAGA API  v9.5
CSG_Shape Class Referenceabstract

#include <shapes.h>

Inheritance diagram for CSG_Shape:
CSG_Table_Record CSG_Shape_Point CSG_Shape_Points CSG_Shape_Point_Z CSG_Shape_Line CSG_Shape_Polygon CSG_Shape_Point_ZM

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_PointasPoint (void) const
 
class CSG_Shape_PointsasPoints (void) const
 
class CSG_Shape_LineasLine (void) const
 
class CSG_Shape_PolygonasPolygon (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_PartGet_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_RectGet_Extent (void)=0
 
virtual const CSG_RectGet_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_TableGet_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_CharasString (int Field, int Decimals=-99) const
 
const SG_CharasString (const CSG_String &Field, int Decimals=-99) const
 
const SG_CharasString (const char *Field, int Decimals=-99) const
 
const SG_CharasString (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_ValueGet_Value (int Field)
 
CSG_Table_Valueoperator[] (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_Tablem_pTable
 

Detailed Description

Definition at line 140 of file shapes.h.

Constructor & Destructor Documentation

◆ CSG_Shape()

CSG_Shape::CSG_Shape ( class CSG_Shapes pOwner,
sLong  Index 
)
protected

Definition at line 63 of file shape.cpp.

◆ ~CSG_Shape()

CSG_Shape::~CSG_Shape ( void  )
protectedvirtual

Definition at line 68 of file shape.cpp.

References Destroy().

Member Function Documentation

◆ _Invalidate()

void CSG_Shape::_Invalidate ( void  )
inlineprotectedvirtual

◆ Add_Part()

virtual int CSG_Shape::Add_Part ( class CSG_Shape_Part pPart,
bool  bRevert = false 
)
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().

◆ Add_Point() [1/4]

virtual int CSG_Shape::Add_Point ( const CSG_Point p,
int  iPart = 0 
)
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Add_Point() [2/4]

virtual int CSG_Shape::Add_Point ( const CSG_Point_3D p,
int  iPart = 0 
)
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Add_Point() [3/4]

virtual int CSG_Shape::Add_Point ( const CSG_Point_4D p,
int  iPart = 0 
)
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Add_Point() [4/4]

virtual int CSG_Shape::Add_Point ( double  x,
double  y,
int  iPart = 0 
)
pure virtual

◆ asLine()

class CSG_Shape_Line* CSG_Shape::asLine ( void  ) const
inline

Definition at line 160 of file shapes.h.

References Get_Type(), and SHAPE_TYPE_Line.

◆ asPoint()

class CSG_Shape_Point* CSG_Shape::asPoint ( void  ) const
inline

Definition at line 158 of file shapes.h.

References Get_Type(), and SHAPE_TYPE_Point.

◆ asPoints()

class CSG_Shape_Points* CSG_Shape::asPoints ( void  ) const
inline

Definition at line 159 of file shapes.h.

References Get_Type(), and SHAPE_TYPE_Points.

◆ asPolygon()

class CSG_Shape_Polygon* CSG_Shape::asPolygon ( void  ) const
inline

Definition at line 161 of file shapes.h.

References Get_Type(), and SHAPE_TYPE_Polygon.

◆ Assign() [1/3]

bool CSG_Shape::Assign ( CSG_Table_Record pRecord)
virtual

◆ Assign() [2/3]

bool CSG_Shape::Assign ( CSG_Table_Record pRecord,
bool  bAssign_Attributes 
)
virtual

Definition at line 200 of file shape.cpp.

References Assign(), SHAPE_COPY, and SHAPE_COPY_GEOM.

◆ Assign() [3/3]

◆ Del_Part()

virtual int CSG_Shape::Del_Part ( int  iPart)
inlinevirtual

Reimplemented in CSG_Shape_Points.

Definition at line 170 of file shapes.h.

◆ Del_Parts()

virtual int CSG_Shape::Del_Parts ( void  )
inlinevirtual

◆ Del_Point()

virtual int CSG_Shape::Del_Point ( int  iPoint,
int  iPart = 0 
)
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Destroy()

void CSG_Shape::Destroy ( void  )
virtual

Reimplemented in CSG_Shape_Points.

Definition at line 79 of file shape.cpp.

Referenced by CSG_Shape_Points::Destroy(), and ~CSG_Shape().

◆ Get_Centroid()

virtual TSG_Point CSG_Shape::Get_Centroid ( void  )
pure virtual

◆ Get_Distance() [1/4]

virtual double CSG_Shape::Get_Distance ( TSG_Point  Point) const
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

Referenced by CSG_Shapes::Get_Shape().

◆ Get_Distance() [2/4]

virtual double CSG_Shape::Get_Distance ( TSG_Point  Point,
int  iPart 
) const
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Get_Distance() [3/4]

virtual double CSG_Shape::Get_Distance ( TSG_Point  Point,
TSG_Point Next 
) const
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Get_Distance() [4/4]

virtual double CSG_Shape::Get_Distance ( TSG_Point  Point,
TSG_Point Next,
int  iPart 
) const
pure virtual

◆ Get_Extent() [1/2]

virtual const CSG_Rect& CSG_Shape::Get_Extent ( int  iPart)
inlinevirtual

Definition at line 228 of file shapes.h.

References Get_Extent().

Referenced by Get_Extent().

◆ Get_Extent() [2/2]

virtual const CSG_Rect& CSG_Shape::Get_Extent ( void  )
pure virtual

◆ Get_M()

virtual double CSG_Shape::Get_M ( int  iPoint = 0,
int  iPart = 0,
bool  bAscending = true 
) const
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().

◆ Get_MMax()

virtual double CSG_Shape::Get_MMax ( void  )
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().

◆ Get_MMin()

virtual double CSG_Shape::Get_MMin ( void  )
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().

◆ Get_Part()

virtual CSG_Shape_Part* CSG_Shape::Get_Part ( int  iPart) const
inlinevirtual

Reimplemented in CSG_Shape_Points.

Definition at line 169 of file shapes.h.

◆ Get_Part_Count()

◆ Get_Point() [1/2]

virtual TSG_Point CSG_Shape::Get_Point ( int  iPoint,
int  iPart,
bool  bAscending = true 
) const
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Get_Point() [2/2]

◆ Get_Point_Count() [1/2]

virtual int CSG_Shape::Get_Point_Count ( int  iPart) const
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Get_Point_Count() [2/2]

◆ Get_Point_Z()

virtual TSG_Point_3D CSG_Shape::Get_Point_Z ( int  iPoint = 0,
int  iPart = 0,
bool  bAscending = true 
) const
inlinevirtual

◆ Get_Point_ZM()

virtual TSG_Point_4D CSG_Shape::Get_Point_ZM ( int  iPoint = 0,
int  iPart = 0,
bool  bAscending = true 
) const
inlinevirtual

◆ Get_Type()

◆ Get_Vertex_Type()

TSG_Vertex_Type CSG_Shape::Get_Vertex_Type ( void  ) const

◆ Get_Z()

virtual double CSG_Shape::Get_Z ( int  iPoint = 0,
int  iPart = 0,
bool  bAscending = true 
) const
inlinevirtual

◆ Get_ZMax()

virtual double CSG_Shape::Get_ZMax ( void  )
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().

◆ Get_ZMin()

virtual double CSG_Shape::Get_ZMin ( void  )
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().

◆ Ins_Point() [1/4]

virtual int CSG_Shape::Ins_Point ( const CSG_Point p,
int  iPoint,
int  iPart = 0 
)
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Ins_Point() [2/4]

virtual int CSG_Shape::Ins_Point ( const CSG_Point_3D p,
int  iPoint,
int  iPart = 0 
)
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Ins_Point() [3/4]

virtual int CSG_Shape::Ins_Point ( const CSG_Point_4D p,
int  iPoint,
int  iPart = 0 
)
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Ins_Point() [4/4]

virtual int CSG_Shape::Ins_Point ( double  x,
double  y,
int  iPoint,
int  iPart = 0 
)
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

Referenced by CSG_Shape_Points::Add_Point().

◆ Intersects() [1/2]

TSG_Intersection CSG_Shape::Intersects ( const TSG_Rect Extent)

◆ Intersects() [2/2]

◆ is_Valid()

virtual bool CSG_Shape::is_Valid ( void  ) const
pure virtual

◆ On_Assign()

virtual bool CSG_Shape::On_Assign ( CSG_Shape pShape)
protectedpure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

Referenced by Assign().

◆ On_Intersects() [1/2]

virtual TSG_Intersection CSG_Shape::On_Intersects ( CSG_Shape pShape)
protectedpure virtual

◆ On_Intersects() [2/2]

virtual TSG_Intersection CSG_Shape::On_Intersects ( TSG_Rect  Extent)
protectedpure virtual

◆ Revert_Points()

virtual bool CSG_Shape::Revert_Points ( int  iPart)
inlinevirtual

Reimplemented in CSG_Shape_Points.

Definition at line 240 of file shapes.h.

◆ Set_M()

virtual void CSG_Shape::Set_M ( double  m,
int  iPoint = 0,
int  iPart = 0 
)
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().

◆ Set_Point() [1/4]

virtual int CSG_Shape::Set_Point ( const CSG_Point p,
int  iPoint = 0,
int  iPart = 0 
)
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Set_Point() [2/4]

virtual int CSG_Shape::Set_Point ( const CSG_Point_3D p,
int  iPoint = 0,
int  iPart = 0 
)
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Set_Point() [3/4]

virtual int CSG_Shape::Set_Point ( const CSG_Point_4D p,
int  iPoint = 0,
int  iPart = 0 
)
pure virtual

Implemented in CSG_Shape_Points, and CSG_Shape_Point.

◆ Set_Point() [4/4]

virtual int CSG_Shape::Set_Point ( double  x,
double  y,
int  iPoint = 0,
int  iPart = 0 
)
pure virtual

◆ Set_Z()

virtual void CSG_Shape::Set_Z ( double  z,
int  iPoint = 0,
int  iPart = 0 
)
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().

Friends And Related Function Documentation

◆ CSG_Shapes

friend class CSG_Shapes
friend

Definition at line 142 of file shapes.h.


The documentation for this class was generated from the following files: