SAGA API
v9.6
|
#include <shapes.h>
Public Member Functions | |
class CSG_Shape_Points * | Get_Owner (void) |
virtual bool | Destroy (void) |
virtual bool | Assign (CSG_Shape_Part *pPart) |
const CSG_Rect & | Get_Extent (void) |
int | Get_Count (void) const |
TSG_Point | Get_Point (int iPoint, bool bAscending=true) const |
int | Add_Point (double x, double y) |
int | Add_Point (const CSG_Point &p) |
int | Add_Point (const CSG_Point_3D &p) |
int | Add_Point (const CSG_Point_4D &p) |
int | Ins_Point (double x, double y, int iPoint) |
int | Ins_Point (const CSG_Point &p, int iPoint) |
int | Ins_Point (const CSG_Point_3D &p, int iPoint) |
int | Ins_Point (const CSG_Point_4D &p, int iPoint) |
int | Set_Point (double x, double y, int iPoint) |
int | Set_Point (const CSG_Point &p, int iPoint) |
int | Set_Point (const CSG_Point_3D &p, int iPoint) |
int | Set_Point (const CSG_Point_4D &p, int iPoint) |
int | Del_Point (int iPoint) |
void | Set_Z (double z, int iPoint) |
double | Get_Z (int iPoint, bool bAscending=true) const |
double | Get_ZMin (void) |
double | Get_ZMax (void) |
TSG_Point_3D | Get_Point_Z (int iPoint, bool bAscending=true) const |
void | Set_M (double m, int iPoint) |
double | Get_M (int iPoint, bool bAscending=true) const |
double | Get_MMin (void) |
double | Get_MMax (void) |
TSG_Point_4D | Get_Point_ZM (int iPoint, bool bAscending=true) const |
bool | Add_Points (CSG_Shape_Part *pPoints, bool bAscending=true) |
bool | Revert_Points (void) |
Protected Member Functions | |
CSG_Shape_Part (class CSG_Shape_Points *pOwner) | |
virtual | ~CSG_Shape_Part (void) |
virtual bool | _Alloc_Memory (int nPoints) |
virtual void | _Invalidate (void) |
virtual void | _Update_Extent (void) |
Protected Attributes | |
bool | m_bUpdate |
int | m_nPoints |
int | m_nBuffer |
double * | m_Z |
double | m_ZMin |
double | m_ZMax |
double * | m_M |
double | m_MMin |
double | m_MMax |
TSG_Point * | m_Points |
CSG_Rect | m_Extent |
class CSG_Shape_Points * | m_pOwner |
Friends | |
class | CSG_Shape_Points |
class | CSG_Shape_Line |
class | CSG_Shape_Polygon |
|
protected |
Definition at line 63 of file shape_part.cpp.
References m_bUpdate, m_M, m_nBuffer, m_nPoints, m_Points, m_pOwner, and m_Z.
Referenced by CSG_Shape_Points::_Get_Part().
|
protectedvirtual |
Definition at line 77 of file shape_part.cpp.
References Destroy().
|
protectedvirtual |
Definition at line 110 of file shape_part.cpp.
References GET_GROW_SIZE, CSG_Table_Record::Get_Table(), m_M, m_nBuffer, m_nPoints, m_Points, m_pOwner, m_Z, SG_Realloc(), SG_VERTEX_TYPE_XY, and SG_VERTEX_TYPE_XYZM.
Referenced by Assign(), Del_Point(), and Ins_Point().
|
inlineprotectedvirtual |
Reimplemented in CSG_Shape_Polygon_Part.
Definition at line 391 of file shape_part.cpp.
References CSG_Shape_Points::_Invalidate(), m_bUpdate, and m_pOwner.
Referenced by CSG_Shape_Polygon_Part::_Invalidate(), Del_Point(), Destroy(), Ins_Point(), and Set_Point().
|
protectedvirtual |
Definition at line 402 of file shape_part.cpp.
References CSG_Simple_Statistics::Add_Value(), CSG_Rect::Assign(), CSG_Simple_Statistics::Get_Maximum(), CSG_Simple_Statistics::Get_Minimum(), m_bUpdate, m_Extent, m_M, m_MMax, m_MMin, m_nPoints, m_Points, m_Z, m_ZMax, and m_ZMin.
Referenced by CSG_Shape_Points::Get_Extent(), CSG_Shape_Points::Get_MMax(), CSG_Shape_Points::Get_MMin(), CSG_Shape_Points::Get_ZMax(), and CSG_Shape_Points::Get_ZMin().
|
inline |
Definition at line 400 of file shapes.h.
References CSG_Shape_Points::Ins_Point(), and CSG_Shape_Points::m_nPoints.
|
inline |
Definition at line 401 of file shapes.h.
References CSG_Shape_Points::Ins_Point(), and CSG_Shape_Points::m_nPoints.
|
inline |
Definition at line 402 of file shapes.h.
References CSG_Shape_Points::Ins_Point(), and CSG_Shape_Points::m_nPoints.
|
inline |
Definition at line 399 of file shapes.h.
References CSG_Shape_Points::Ins_Point(), and CSG_Shape_Points::m_nPoints.
Referenced by Add_Points().
bool CSG_Shape_Part::Add_Points | ( | CSG_Shape_Part * | pPoints, |
bool | bAscending = true |
||
) |
Definition at line 356 of file shape_part.cpp.
References Add_Point(), Get_Count(), and Get_Point_ZM().
|
virtual |
Definition at line 177 of file shape_part.cpp.
References _Alloc_Memory(), CSG_Shape_Points::_Invalidate(), m_bUpdate, m_Extent, m_M, m_MMax, m_MMin, m_nPoints, CSG_Shape_Points::m_nPoints, m_Points, m_pOwner, m_Z, m_ZMax, and m_ZMin.
Referenced by CSG_Shape_Points::Add_Part().
int CSG_Shape_Part::Del_Point | ( | int | iPoint | ) |
Definition at line 319 of file shape_part.cpp.
References _Alloc_Memory(), _Invalidate(), m_M, m_nPoints, CSG_Shape_Points::m_nPoints, m_Points, m_pOwner, and m_Z.
|
virtual |
Definition at line 83 of file shape_part.cpp.
References _Invalidate(), m_bUpdate, m_M, m_nBuffer, m_nPoints, CSG_Shape_Points::m_nPoints, m_Points, m_pOwner, m_Z, and SG_Free().
Referenced by ~CSG_Shape_Part().
|
inline |
Definition at line 386 of file shapes.h.
References CSG_Shape_Points::m_nPoints.
Referenced by CSG_Shape_Polygon_Part::_Add_Edge_Points(), CSG_Shape_Polygon_Part::_is_OnEdge(), CSG_Shape_Points::_Update_Extent(), Add_Points(), CSG_Shape_Points::Get_Distance(), CSG_Shape_Line::Get_Distance(), CSG_Shape_Line::Get_Length(), CSG_Shape_Points::Get_Point(), CSG_Shape_Points::Get_Point_Count(), CSG_Shape_Polygon_Part::Get_Shared_Edges(), CSG_Shape_Polygon_Part::is_Neighbour(), CSG_Shape_Points::is_Valid(), CSG_Shape_Points::On_Intersects(), CSG_Shape_Line::On_Intersects(), and CSG_Shape_Polygon::On_Intersects().
|
inline |
Definition at line 384 of file shapes.h.
References CSG_Shape_Points::_Update_Extent(), and CSG_Shape_Points::m_Extent.
Referenced by CSG_Shape_Polygon_Part::_Update_Area(), CSG_Shape_Points::_Update_Extent(), CSG_Shape_Polygon_Part::Contains(), CSG_Shape_Polygon_Part::Get_Point_Relation(), CSG_Shape_Polygon_Part::Get_Shared_Edges(), CSG_Shape_Polygon_Part::is_Neighbour(), CSG_Shape_Line::On_Intersects(), and CSG_Shape_Polygon::On_Intersects().
|
inline |
Definition at line 432 of file shapes.h.
References CSG_Shape_Points::m_nPoints.
|
inline |
Definition at line 434 of file shapes.h.
References CSG_Shape_Points::_Update_Extent(), and CSG_Shape_Points::m_MMax.
Referenced by CSG_Shape_Points::_Update_Extent().
|
inline |
Definition at line 433 of file shapes.h.
References CSG_Shape_Points::_Update_Extent(), and CSG_Shape_Points::m_MMin.
Referenced by CSG_Shape_Points::_Update_Extent().
|
inline |
|
inline |
Definition at line 388 of file shapes.h.
References CSG_Shape_Points::m_nPoints.
Referenced by CSG_Shape_Polygon_Part::_Add_Edge_Points(), CSG_Shape_Polygon_Part::_is_OnEdge(), CSG_Shape_Polygon_Part::Get_Shared_Edges(), CSG_Shape_Polygon::is_Lake(), and CSG_Shape_Polygon_Part::is_Neighbour().
|
inline |
Definition at line 420 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.
|
inline |
Definition at line 435 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.
Referenced by Add_Points().
|
inline |
Definition at line 417 of file shapes.h.
References CSG_Shape_Points::m_nPoints.
|
inline |
Definition at line 419 of file shapes.h.
References CSG_Shape_Points::_Update_Extent(), and CSG_Shape_Points::m_ZMax.
Referenced by CSG_Shape_Points::_Update_Extent().
|
inline |
Definition at line 418 of file shapes.h.
References CSG_Shape_Points::_Update_Extent(), and CSG_Shape_Points::m_ZMin.
Referenced by CSG_Shape_Points::_Update_Extent().
|
inline |
Definition at line 405 of file shapes.h.
References Ins_Point(), SSG_Point::x, and SSG_Point::y.
Referenced by Ins_Point().
int CSG_Shape_Part::Ins_Point | ( | const CSG_Point_3D & | p, |
int | iPoint | ||
) |
Definition at line 252 of file shape_part.cpp.
References Ins_Point(), Set_Z(), SSG_Point_3D::x, SSG_Point_3D::y, and SSG_Point_3D::z.
int CSG_Shape_Part::Ins_Point | ( | const CSG_Point_4D & | p, |
int | iPoint | ||
) |
Definition at line 264 of file shape_part.cpp.
References Ins_Point(), SSG_Point_4D::m, Set_M(), Set_Z(), SSG_Point_4D::x, SSG_Point_4D::y, and SSG_Point_4D::z.
int CSG_Shape_Part::Ins_Point | ( | double | x, |
double | y, | ||
int | iPoint | ||
) |
Definition at line 224 of file shape_part.cpp.
References _Alloc_Memory(), _Invalidate(), m_M, m_nPoints, CSG_Shape_Points::m_nPoints, m_Points, m_pOwner, m_Z, SSG_Point::x, and SSG_Point::y.
Referenced by Ins_Point().
bool CSG_Shape_Part::Revert_Points | ( | void | ) |
Definition at line 372 of file shape_part.cpp.
References m_M, m_nPoints, m_Points, and m_Z.
Referenced by CSG_Shape_Points::Add_Part().
|
inline |
Definition at line 431 of file shapes.h.
References CSG_Shape_Points::_Invalidate(), and CSG_Shape_Points::m_nPoints.
Referenced by Ins_Point(), CSG_Shape_Points::On_Assign(), and Set_Point().
|
inline |
Definition at line 410 of file shapes.h.
References Set_Point(), SSG_Point::x, and SSG_Point::y.
Referenced by Set_Point().
int CSG_Shape_Part::Set_Point | ( | const CSG_Point_3D & | p, |
int | iPoint | ||
) |
Definition at line 293 of file shape_part.cpp.
References Set_Point(), Set_Z(), SSG_Point_3D::x, SSG_Point_3D::y, and SSG_Point_3D::z.
int CSG_Shape_Part::Set_Point | ( | const CSG_Point_4D & | p, |
int | iPoint | ||
) |
Definition at line 305 of file shape_part.cpp.
References SSG_Point_4D::m, Set_M(), Set_Point(), Set_Z(), SSG_Point_4D::x, SSG_Point_4D::y, and SSG_Point_4D::z.
int CSG_Shape_Part::Set_Point | ( | double | x, |
double | y, | ||
int | iPoint | ||
) |
Definition at line 278 of file shape_part.cpp.
References _Invalidate(), m_nPoints, m_Points, SSG_Point::x, and SSG_Point::y.
Referenced by Set_Point().
|
inline |
Definition at line 416 of file shapes.h.
References CSG_Shape_Points::_Invalidate(), and CSG_Shape_Points::m_nPoints.
Referenced by Ins_Point(), CSG_Shape_Points::On_Assign(), and Set_Point().
|
friend |
|
friend |
|
friend |
|
protected |
Definition at line 458 of file shapes.h.
Referenced by _Invalidate(), CSG_Shape_Points::_Invalidate(), _Update_Extent(), Assign(), CSG_Shape_Part(), and Destroy().
|
protected |
Definition at line 466 of file shapes.h.
Referenced by _Update_Extent(), Assign(), and CSG_Shape_Points::Get_Extent().
|
protected |
Definition at line 462 of file shapes.h.
Referenced by _Alloc_Memory(), _Update_Extent(), Assign(), CSG_Shape_Part(), Del_Point(), Destroy(), Ins_Point(), and Revert_Points().
|
protected |
Definition at line 462 of file shapes.h.
Referenced by _Update_Extent(), Assign(), and CSG_Shape_Points::Get_MMax().
|
protected |
Definition at line 462 of file shapes.h.
Referenced by _Update_Extent(), Assign(), and CSG_Shape_Points::Get_MMin().
|
protected |
Definition at line 460 of file shapes.h.
Referenced by _Alloc_Memory(), CSG_Shape_Part(), and Destroy().
|
protected |
Definition at line 460 of file shapes.h.
Referenced by _Alloc_Memory(), CSG_Shape_Polygon_Part::_Update_Area(), _Update_Extent(), Assign(), CSG_Shape_Polygon_Part::Contains(), CSG_Shape_Part(), Del_Point(), Destroy(), CSG_Shape_Polygon_Part::Get_Distance(), CSG_Shape_Points::Get_Point_Count(), CSG_Shape_Polygon_Part::Get_Point_Relation(), Ins_Point(), CSG_Shape_Polygon::is_Lake(), CSG_Shape_Polygon::On_Intersects(), Revert_Points(), and Set_Point().
|
protected |
Definition at line 464 of file shapes.h.
Referenced by _Alloc_Memory(), CSG_Shape_Polygon_Part::_Update_Area(), _Update_Extent(), Assign(), CSG_Shape_Polygon_Part::Contains(), CSG_Shape_Part(), Del_Point(), Destroy(), CSG_Shape_Polygon_Part::Get_Distance(), CSG_Shape_Points::Get_Distance(), CSG_Shape_Line::Get_Distance(), CSG_Shape_Line::Get_Length(), CSG_Shape_Polygon_Part::Get_Point_Relation(), Ins_Point(), CSG_Shape_Points::On_Intersects(), CSG_Shape_Line::On_Intersects(), CSG_Shape_Polygon::On_Intersects(), Revert_Points(), and Set_Point().
|
protected |
Definition at line 468 of file shapes.h.
Referenced by _Alloc_Memory(), _Invalidate(), Assign(), CSG_Shape_Part(), Del_Point(), Destroy(), and Ins_Point().
|
protected |
Definition at line 462 of file shapes.h.
Referenced by _Alloc_Memory(), _Update_Extent(), Assign(), CSG_Shape_Part(), Del_Point(), Destroy(), Ins_Point(), and Revert_Points().
|
protected |
Definition at line 462 of file shapes.h.
Referenced by _Update_Extent(), Assign(), and CSG_Shape_Points::Get_ZMax().
|
protected |
Definition at line 462 of file shapes.h.
Referenced by _Update_Extent(), Assign(), and CSG_Shape_Points::Get_ZMin().