SAGA API  v9.5
CSG_Shape_Points Class Reference

#include <shapes.h>

Inheritance diagram for CSG_Shape_Points:
CSG_Shape CSG_Table_Record CSG_Shape_Line CSG_Shape_Polygon

Public Member Functions

virtual void Destroy (void)
 
virtual bool is_Valid (void) const
 
virtual int Get_Point_Count (void) const
 
virtual int Get_Point_Count (int iPart) const
 
virtual int Get_Part_Count (void) const
 
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)
 
virtual int Add_Point (const CSG_Point &p, int iPart=0)
 
virtual int Add_Point (const CSG_Point_3D &p, int iPart=0)
 
virtual int Add_Point (const CSG_Point_4D &p, int iPart=0)
 
virtual int Ins_Point (double x, double y, int iPoint, int iPart=0)
 
virtual int Ins_Point (const CSG_Point &p, int iPoint, int iPart=0)
 
virtual int Ins_Point (const CSG_Point_3D &p, int iPoint, int iPart=0)
 
virtual int Ins_Point (const CSG_Point_4D &p, int iPoint, int iPart=0)
 
virtual int Set_Point (double x, double y, int iPoint=0, int iPart=0)
 
virtual int Set_Point (const CSG_Point &p, int iPoint=0, int iPart=0)
 
virtual int Set_Point (const CSG_Point_3D &p, int iPoint=0, int iPart=0)
 
virtual int Set_Point (const CSG_Point_4D &p, int iPoint=0, int iPart=0)
 
virtual int Del_Point (int iPoint, int iPart=0)
 
virtual TSG_Point Get_Point (int iPoint=0) const
 
virtual TSG_Point Get_Point (int iPoint, int iPart, bool bAscending=true) const
 
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 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 const CSG_RectGet_Extent (void)
 
virtual TSG_Point Get_Centroid (void)
 
virtual double Get_Distance (TSG_Point Point) const
 
virtual double Get_Distance (TSG_Point Point, int iPart) const
 
virtual double Get_Distance (TSG_Point Point, TSG_Point &Next) const
 
virtual double Get_Distance (TSG_Point Point, TSG_Point &Next, int iPart) const
 
virtual bool Revert_Points (int iPart)
 
- Public Member Functions inherited from CSG_Shape
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)
 
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 TSG_Point_3D Get_Point_Z (int iPoint=0, int iPart=0, bool bAscending=true) const
 
virtual TSG_Point_4D Get_Point_ZM (int iPoint=0, int iPart=0, bool bAscending=true) const
 
virtual const CSG_RectGet_Extent (int iPart)
 
TSG_Intersection Intersects (CSG_Shape *pShape)
 
TSG_Intersection Intersects (const TSG_Rect &Extent)
 
- 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_Points (class CSG_Shapes *pOwner, sLong Index)
 
virtual ~CSG_Shape_Points (void)
 
int _Add_Part (void)
 
virtual CSG_Shape_Part_Get_Part (void)
 
virtual void _Invalidate (void)
 
void _Update_Extent (void)
 
virtual bool On_Assign (CSG_Shape *pShape)
 
virtual TSG_Intersection On_Intersects (CSG_Shape *pShape)
 
virtual TSG_Intersection On_Intersects (TSG_Rect Region)
 
- Protected Member Functions inherited from CSG_Shape
 CSG_Shape (class CSG_Shapes *pOwner, sLong Index)
 
virtual ~CSG_Shape (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
 

Protected Attributes

bool m_bUpdate
 
int m_nParts
 
int m_nPoints
 
double m_ZMin
 
double m_ZMax
 
double m_MMin
 
double m_MMax
 
CSG_Rect m_Extent
 
CSG_Shape_Part ** m_pParts
 
- Protected Attributes inherited from CSG_Table_Record
char m_Flags
 
sLong m_Index
 
class CSG_Table_Value ** m_Values
 
class CSG_Tablem_pTable
 

Friends

class CSG_Shapes
 
class CSG_Shape_Part
 

Additional Inherited Members

- Static Protected Member Functions inherited from CSG_Table_Record
static CSG_Table_Value_Create_Value (TSG_Data_Type Type)
 

Detailed Description

Definition at line 485 of file shapes.h.

Constructor & Destructor Documentation

◆ CSG_Shape_Points()

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

Definition at line 63 of file shape_points.cpp.

References m_bUpdate, m_nParts, m_nPoints, and m_pParts.

◆ ~CSG_Shape_Points()

CSG_Shape_Points::~CSG_Shape_Points ( void  )
protectedvirtual

Definition at line 75 of file shape_points.cpp.

References Destroy().

Member Function Documentation

◆ _Add_Part()

int CSG_Shape_Points::_Add_Part ( void  )
protected

Definition at line 133 of file shape_points.cpp.

References _Get_Part(), m_nParts, m_pParts, and SG_Realloc().

Referenced by Add_Part(), and Ins_Point().

◆ _Get_Part()

virtual CSG_Shape_Part* CSG_Shape_Points::_Get_Part ( void  )
inlineprotectedvirtual

Reimplemented in CSG_Shape_Polygon.

Definition at line 574 of file shapes.h.

References CSG_Shape_Part::CSG_Shape_Part().

Referenced by _Add_Part().

◆ _Invalidate()

virtual void CSG_Shape_Points::_Invalidate ( void  )
inlineprotectedvirtual

◆ _Update_Extent()

◆ Add_Part()

int CSG_Shape_Points::Add_Part ( class CSG_Shape_Part pPart,
bool  bRevert = false 
)
virtual

Reimplemented from CSG_Shape.

Definition at line 143 of file shape_points.cpp.

References _Add_Part(), CSG_Shape_Part::Assign(), m_nParts, m_pParts, and CSG_Shape_Part::Revert_Points().

Referenced by On_Assign().

◆ Add_Point() [1/4]

virtual int CSG_Shape_Points::Add_Point ( const CSG_Point p,
int  iPart = 0 
)
inlinevirtual

Implements CSG_Shape.

Definition at line 506 of file shapes.h.

References CSG_Shape::Get_Point_Count(), and CSG_Shape::Ins_Point().

◆ Add_Point() [2/4]

virtual int CSG_Shape_Points::Add_Point ( const CSG_Point_3D p,
int  iPart = 0 
)
inlinevirtual

Implements CSG_Shape.

Definition at line 507 of file shapes.h.

References CSG_Shape::Get_Point_Count(), and CSG_Shape::Ins_Point().

◆ Add_Point() [3/4]

virtual int CSG_Shape_Points::Add_Point ( const CSG_Point_4D p,
int  iPart = 0 
)
inlinevirtual

Implements CSG_Shape.

Definition at line 508 of file shapes.h.

References CSG_Shape::Get_Point_Count(), and CSG_Shape::Ins_Point().

◆ Add_Point() [4/4]

virtual int CSG_Shape_Points::Add_Point ( double  x,
double  y,
int  iPart = 0 
)
inlinevirtual

Implements CSG_Shape.

Definition at line 505 of file shapes.h.

References CSG_Shape::Get_Point_Count(), and CSG_Shape::Ins_Point().

Referenced by On_Assign().

◆ Del_Part()

int CSG_Shape_Points::Del_Part ( int  iPart)
virtual

Reimplemented from CSG_Shape.

Definition at line 161 of file shape_points.cpp.

References _Invalidate(), m_nParts, m_pParts, and SG_Realloc().

Referenced by Del_Parts().

◆ Del_Parts()

int CSG_Shape_Points::Del_Parts ( void  )
virtual

Reimplemented from CSG_Shape.

Definition at line 183 of file shape_points.cpp.

References Del_Part(), and m_nParts.

Referenced by Destroy(), and On_Assign().

◆ Del_Point()

int CSG_Shape_Points::Del_Point ( int  iPoint,
int  iPart = 0 
)
virtual

Implements CSG_Shape.

Definition at line 283 of file shape_points.cpp.

References m_nParts, and m_pParts.

◆ Destroy()

void CSG_Shape_Points::Destroy ( void  )
virtual

Reimplemented from CSG_Shape.

Definition at line 86 of file shape_points.cpp.

References Del_Parts(), and CSG_Shape::Destroy().

Referenced by ~CSG_Shape_Points().

◆ Get_Centroid()

TSG_Point CSG_Shape_Points::Get_Centroid ( void  )
virtual

◆ Get_Distance() [1/4]

double CSG_Shape_Points::Get_Distance ( TSG_Point  Point) const
virtual

Implements CSG_Shape.

Definition at line 391 of file shape_points.cpp.

Referenced by Get_Distance().

◆ Get_Distance() [2/4]

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

Implements CSG_Shape.

Definition at line 397 of file shape_points.cpp.

References Get_Distance().

◆ Get_Distance() [3/4]

double CSG_Shape_Points::Get_Distance ( TSG_Point  Point,
TSG_Point Next 
) const
virtual

Implements CSG_Shape.

Definition at line 403 of file shape_points.cpp.

References Get_Distance(), and m_nParts.

◆ Get_Distance() [4/4]

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

◆ Get_Extent()

◆ Get_M()

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

Reimplemented from CSG_Shape.

Definition at line 539 of file shapes.h.

References Get_M().

Referenced by Get_M(), CSG_Shape_Part::Get_Point_ZM(), CSG_Shape::Get_Point_ZM(), and CSG_Shapes::Make_Clean().

◆ Get_MMax()

virtual double CSG_Shape_Points::Get_MMax ( void  )
inlinevirtual

Reimplemented from CSG_Shape.

Definition at line 541 of file shapes.h.

References CSG_Shape_Part::_Update_Extent(), and CSG_Shape_Part::m_MMax.

Referenced by _Update_Extent().

◆ Get_MMin()

virtual double CSG_Shape_Points::Get_MMin ( void  )
inlinevirtual

Reimplemented from CSG_Shape.

Definition at line 540 of file shapes.h.

References CSG_Shape_Part::_Update_Extent(), and CSG_Shape_Part::m_MMin.

◆ Get_Part()

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

Reimplemented from CSG_Shape.

Definition at line 501 of file shapes.h.

Referenced by CSG_Shape_Polygon::Get_Polygon_Part(), On_Assign(), SG_Shape_Get_ExclusiveOr(), and SG_Shape_Get_Union().

◆ Get_Part_Count()

virtual int CSG_Shape_Points::Get_Part_Count ( void  ) const
inlinevirtual

◆ Get_Point() [1/2]

virtual TSG_Point CSG_Shape_Points::Get_Point ( int  iPoint,
int  iPart,
bool  bAscending = true 
) const
inlinevirtual

Implements CSG_Shape.

Definition at line 523 of file shapes.h.

References CSG_Shape::Get_Point().

◆ Get_Point() [2/2]

◆ Get_Point_Count() [1/2]

virtual int CSG_Shape_Points::Get_Point_Count ( int  iPart) const
inlinevirtual

Implements CSG_Shape.

Definition at line 497 of file shapes.h.

References CSG_Shape_Part::Get_Count().

◆ Get_Point_Count() [2/2]

virtual int CSG_Shape_Points::Get_Point_Count ( void  ) const
inlinevirtual

◆ Get_Z()

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

◆ Get_ZMax()

virtual double CSG_Shape_Points::Get_ZMax ( void  )
inlinevirtual

Reimplemented from CSG_Shape.

Definition at line 536 of file shapes.h.

References CSG_Shape_Part::_Update_Extent(), and CSG_Shape_Part::m_ZMax.

Referenced by _Update_Extent().

◆ Get_ZMin()

virtual double CSG_Shape_Points::Get_ZMin ( void  )
inlinevirtual

Reimplemented from CSG_Shape.

Definition at line 535 of file shapes.h.

References CSG_Shape_Part::_Update_Extent(), and CSG_Shape_Part::m_ZMin.

◆ Ins_Point() [1/4]

virtual int CSG_Shape_Points::Ins_Point ( const CSG_Point p,
int  iPoint,
int  iPart = 0 
)
inlinevirtual

Implements CSG_Shape.

Definition at line 511 of file shapes.h.

References Ins_Point(), SSG_Point::x, and SSG_Point::y.

Referenced by Ins_Point().

◆ Ins_Point() [2/4]

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

Implements CSG_Shape.

Definition at line 213 of file shape_points.cpp.

References Ins_Point(), Set_Z(), SSG_Point_3D::x, SSG_Point_3D::y, and SSG_Point_3D::z.

◆ Ins_Point() [3/4]

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

◆ Ins_Point() [4/4]

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

Implements CSG_Shape.

Definition at line 199 of file shape_points.cpp.

References _Add_Part(), m_nParts, and m_pParts.

Referenced by CSG_Shape_Part::Add_Point(), and Ins_Point().

◆ is_Valid()

virtual bool CSG_Shape_Points::is_Valid ( void  ) const
inlinevirtual

Implements CSG_Shape.

Reimplemented in CSG_Shape_Polygon, and CSG_Shape_Line.

Definition at line 494 of file shapes.h.

References CSG_Shape_Part::Get_Count().

◆ On_Assign()

◆ On_Intersects() [1/2]

◆ On_Intersects() [2/2]

◆ Revert_Points()

virtual bool CSG_Shape_Points::Revert_Points ( int  iPart)
inlinevirtual

Reimplemented from CSG_Shape.

Definition at line 552 of file shapes.h.

References Revert_Points().

Referenced by CSG_Shapes::Make_Clean(), and Revert_Points().

◆ Set_M()

virtual void CSG_Shape_Points::Set_M ( double  m,
int  iPoint = 0,
int  iPart = 0 
)
inlinevirtual

Reimplemented from CSG_Shape.

Definition at line 538 of file shapes.h.

Referenced by Ins_Point(), CSG_Shapes::Make_Clean(), and Set_Point().

◆ Set_Point() [1/4]

virtual int CSG_Shape_Points::Set_Point ( const CSG_Point p,
int  iPoint = 0,
int  iPart = 0 
)
inlinevirtual

Implements CSG_Shape.

Definition at line 516 of file shapes.h.

References Set_Point(), SSG_Point::x, and SSG_Point::y.

Referenced by Set_Point().

◆ Set_Point() [2/4]

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

Implements CSG_Shape.

Definition at line 251 of file shape_points.cpp.

References Set_Point(), Set_Z(), SSG_Point_3D::x, SSG_Point_3D::y, and SSG_Point_3D::z.

◆ Set_Point() [3/4]

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

◆ Set_Point() [4/4]

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

Implements CSG_Shape.

Definition at line 245 of file shape_points.cpp.

References m_nParts, and m_pParts.

Referenced by Set_Point().

◆ Set_Z()

virtual void CSG_Shape_Points::Set_Z ( double  z,
int  iPoint = 0,
int  iPart = 0 
)
inlinevirtual

Reimplemented from CSG_Shape.

Definition at line 533 of file shapes.h.

Referenced by Ins_Point(), CSG_Shapes::Make_Clean(), and Set_Point().

Friends And Related Function Documentation

◆ CSG_Shape_Part

friend class CSG_Shape_Part
friend

Definition at line 488 of file shapes.h.

◆ CSG_Shapes

friend class CSG_Shapes
friend

Definition at line 487 of file shapes.h.

Member Data Documentation

◆ m_bUpdate

bool CSG_Shape_Points::m_bUpdate
protected

Definition at line 561 of file shapes.h.

Referenced by _Update_Extent(), and CSG_Shape_Points().

◆ m_Extent

CSG_Rect CSG_Shape_Points::m_Extent
protected

Definition at line 567 of file shapes.h.

Referenced by _Update_Extent(), and CSG_Shape_Part::Get_Extent().

◆ m_MMax

double CSG_Shape_Points::m_MMax
protected

Definition at line 565 of file shapes.h.

Referenced by _Update_Extent(), and CSG_Shape_Part::Get_MMax().

◆ m_MMin

double CSG_Shape_Points::m_MMin
protected

Definition at line 565 of file shapes.h.

Referenced by _Update_Extent(), and CSG_Shape_Part::Get_MMin().

◆ m_nParts

◆ m_nPoints

◆ m_pParts

◆ m_ZMax

double CSG_Shape_Points::m_ZMax
protected

Definition at line 565 of file shapes.h.

Referenced by _Update_Extent(), and CSG_Shape_Part::Get_ZMax().

◆ m_ZMin

double CSG_Shape_Points::m_ZMin
protected

Definition at line 565 of file shapes.h.

Referenced by _Update_Extent(), and CSG_Shape_Part::Get_ZMin().


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