SAGA API  v9.5
CSG_Shape_Part Class Reference

#include <shapes.h>

Inheritance diagram for CSG_Shape_Part:
CSG_Shape_Polygon_Part

Public Member Functions

class CSG_Shape_PointsGet_Owner (void)
 
virtual bool Destroy (void)
 
virtual bool Assign (CSG_Shape_Part *pPart)
 
const CSG_RectGet_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_Pointm_Points
 
CSG_Rect m_Extent
 
class CSG_Shape_Pointsm_pOwner
 

Friends

class CSG_Shape_Points
 
class CSG_Shape_Line
 
class CSG_Shape_Polygon
 

Detailed Description

Definition at line 371 of file shapes.h.

Constructor & Destructor Documentation

◆ CSG_Shape_Part()

CSG_Shape_Part::CSG_Shape_Part ( class CSG_Shape_Points pOwner)
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().

◆ ~CSG_Shape_Part()

CSG_Shape_Part::~CSG_Shape_Part ( void  )
protectedvirtual

Definition at line 77 of file shape_part.cpp.

References Destroy().

Member Function Documentation

◆ _Alloc_Memory()

bool CSG_Shape_Part::_Alloc_Memory ( int  nPoints)
protectedvirtual

◆ _Invalidate()

void CSG_Shape_Part::_Invalidate ( void  )
inlineprotectedvirtual

◆ _Update_Extent()

◆ Add_Point() [1/4]

int CSG_Shape_Part::Add_Point ( const CSG_Point p)
inline

Definition at line 400 of file shapes.h.

References CSG_Shape_Points::Ins_Point(), and CSG_Shape_Points::m_nPoints.

◆ Add_Point() [2/4]

int CSG_Shape_Part::Add_Point ( const CSG_Point_3D p)
inline

Definition at line 401 of file shapes.h.

References CSG_Shape_Points::Ins_Point(), and CSG_Shape_Points::m_nPoints.

◆ Add_Point() [3/4]

int CSG_Shape_Part::Add_Point ( const CSG_Point_4D p)
inline

Definition at line 402 of file shapes.h.

References CSG_Shape_Points::Ins_Point(), and CSG_Shape_Points::m_nPoints.

◆ Add_Point() [4/4]

int CSG_Shape_Part::Add_Point ( double  x,
double  y 
)
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().

◆ 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().

◆ Assign()

bool CSG_Shape_Part::Assign ( CSG_Shape_Part pPart)
virtual

◆ Del_Point()

int CSG_Shape_Part::Del_Point ( int  iPoint)

◆ Destroy()

bool CSG_Shape_Part::Destroy ( void  )
virtual

◆ Get_Count()

◆ Get_Extent()

◆ Get_M()

double CSG_Shape_Part::Get_M ( int  iPoint,
bool  bAscending = true 
) const
inline

Definition at line 432 of file shapes.h.

References CSG_Shape_Points::m_nPoints.

◆ Get_MMax()

double CSG_Shape_Part::Get_MMax ( void  )
inline

◆ Get_MMin()

double CSG_Shape_Part::Get_MMin ( void  )
inline

◆ Get_Owner()

class CSG_Shape_Points* CSG_Shape_Part::Get_Owner ( void  )
inline

Definition at line 379 of file shapes.h.

◆ Get_Point()

TSG_Point CSG_Shape_Part::Get_Point ( int  iPoint,
bool  bAscending = true 
) const
inline

◆ Get_Point_Z()

TSG_Point_3D CSG_Shape_Part::Get_Point_Z ( int  iPoint,
bool  bAscending = true 
) const
inline

◆ Get_Point_ZM()

TSG_Point_4D CSG_Shape_Part::Get_Point_ZM ( int  iPoint,
bool  bAscending = true 
) const
inline

◆ Get_Z()

double CSG_Shape_Part::Get_Z ( int  iPoint,
bool  bAscending = true 
) const
inline

Definition at line 417 of file shapes.h.

References CSG_Shape_Points::m_nPoints.

◆ Get_ZMax()

double CSG_Shape_Part::Get_ZMax ( void  )
inline

◆ Get_ZMin()

double CSG_Shape_Part::Get_ZMin ( void  )
inline

◆ Ins_Point() [1/4]

int CSG_Shape_Part::Ins_Point ( const CSG_Point p,
int  iPoint 
)
inline

Definition at line 405 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_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.

◆ Ins_Point() [3/4]

int CSG_Shape_Part::Ins_Point ( const CSG_Point_4D p,
int  iPoint 
)

◆ Ins_Point() [4/4]

int CSG_Shape_Part::Ins_Point ( double  x,
double  y,
int  iPoint 
)

◆ Revert_Points()

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().

◆ Set_M()

void CSG_Shape_Part::Set_M ( double  m,
int  iPoint 
)
inline

◆ Set_Point() [1/4]

int CSG_Shape_Part::Set_Point ( const CSG_Point p,
int  iPoint 
)
inline

Definition at line 410 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_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.

◆ Set_Point() [3/4]

int CSG_Shape_Part::Set_Point ( const CSG_Point_4D p,
int  iPoint 
)

◆ Set_Point() [4/4]

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().

◆ Set_Z()

void CSG_Shape_Part::Set_Z ( double  z,
int  iPoint 
)
inline

Friends And Related Function Documentation

◆ CSG_Shape_Line

friend class CSG_Shape_Line
friend

Definition at line 374 of file shapes.h.

◆ CSG_Shape_Points

friend class CSG_Shape_Points
friend

Definition at line 373 of file shapes.h.

◆ CSG_Shape_Polygon

friend class CSG_Shape_Polygon
friend

Definition at line 375 of file shapes.h.

Member Data Documentation

◆ m_bUpdate

bool CSG_Shape_Part::m_bUpdate
protected

◆ m_Extent

CSG_Rect CSG_Shape_Part::m_Extent
protected

Definition at line 466 of file shapes.h.

Referenced by _Update_Extent(), Assign(), and CSG_Shape_Points::Get_Extent().

◆ m_M

double * CSG_Shape_Part::m_M
protected

◆ m_MMax

double CSG_Shape_Part::m_MMax
protected

Definition at line 462 of file shapes.h.

Referenced by _Update_Extent(), Assign(), and CSG_Shape_Points::Get_MMax().

◆ m_MMin

double CSG_Shape_Part::m_MMin
protected

Definition at line 462 of file shapes.h.

Referenced by _Update_Extent(), Assign(), and CSG_Shape_Points::Get_MMin().

◆ m_nBuffer

int CSG_Shape_Part::m_nBuffer
protected

Definition at line 460 of file shapes.h.

Referenced by _Alloc_Memory(), CSG_Shape_Part(), and Destroy().

◆ m_nPoints

◆ m_Points

◆ m_pOwner

class CSG_Shape_Points* CSG_Shape_Part::m_pOwner
protected

Definition at line 468 of file shapes.h.

Referenced by _Alloc_Memory(), _Invalidate(), Assign(), CSG_Shape_Part(), Del_Point(), Destroy(), and Ins_Point().

◆ m_Z

double* CSG_Shape_Part::m_Z
protected

◆ m_ZMax

double CSG_Shape_Part::m_ZMax
protected

Definition at line 462 of file shapes.h.

Referenced by _Update_Extent(), Assign(), and CSG_Shape_Points::Get_ZMax().

◆ m_ZMin

double CSG_Shape_Part::m_ZMin
protected

Definition at line 462 of file shapes.h.

Referenced by _Update_Extent(), Assign(), and CSG_Shape_Points::Get_ZMin().


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