SAGA API v9.10
Loading...
Searching...
No Matches
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 368 of file shapes.h.

Constructor & Destructor Documentation

◆ CSG_Shape_Part()

CSG_Shape_Part::CSG_Shape_Part ( class CSG_Shape_Points * pOwner)
protected

◆ ~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

Reimplemented in CSG_Shape_Polygon_Part.

Definition at line 391 of file shape_part.cpp.

References m_bUpdate, and m_pOwner.

Referenced by CSG_Shape_Polygon_Part::_Invalidate(), Del_Point(), Destroy(), Ins_Point(), Set_M(), Set_Point(), and Set_Z().

◆ _Update_Extent()

void CSG_Shape_Part::_Update_Extent ( void )
protectedvirtual

◆ Add_Point() [1/4]

int CSG_Shape_Part::Add_Point ( const CSG_Point & p)
inline

Definition at line 397 of file shapes.h.

References Ins_Point(), and m_nPoints.

◆ Add_Point() [2/4]

int CSG_Shape_Part::Add_Point ( const CSG_Point_3D & p)
inline

Definition at line 398 of file shapes.h.

References Ins_Point(), and m_nPoints.

◆ Add_Point() [3/4]

int CSG_Shape_Part::Add_Point ( const CSG_Point_4D & p)
inline

Definition at line 399 of file shapes.h.

References Ins_Point(), and m_nPoints.

◆ Add_Point() [4/4]

int CSG_Shape_Part::Add_Point ( double x,
double y )
inline

Definition at line 396 of file shapes.h.

References Ins_Point(), and 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(), CSG_Shape_Part(), 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)

Definition at line 319 of file shape_part.cpp.

References _Alloc_Memory(), _Invalidate(), m_M, m_nPoints, m_Points, m_pOwner, and m_Z.

◆ Destroy()

bool CSG_Shape_Part::Destroy ( void )
virtual

Definition at line 83 of file shape_part.cpp.

References _Invalidate(), m_bUpdate, m_M, m_nBuffer, m_nPoints, m_Points, m_pOwner, m_Z, and SG_Free().

Referenced by ~CSG_Shape_Part().

◆ Get_Count()

◆ Get_Extent()

◆ Get_M()

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

Definition at line 429 of file shapes.h.

References m_M, and m_nPoints.

Referenced by Get_Point_ZM().

◆ Get_MMax()

double CSG_Shape_Part::Get_MMax ( void )
inline

Definition at line 431 of file shapes.h.

References _Update_Extent(), and m_MMax.

Referenced by CSG_Shape_Points::_Update_Extent().

◆ Get_MMin()

double CSG_Shape_Part::Get_MMin ( void )
inline

Definition at line 430 of file shapes.h.

References _Update_Extent(), and m_MMin.

Referenced by CSG_Shape_Points::_Update_Extent().

◆ Get_Owner()

class CSG_Shape_Points * CSG_Shape_Part::Get_Owner ( void )
inline

Definition at line 376 of file shapes.h.

References CSG_Shape_Points, and m_pOwner.

◆ Get_Point()

◆ 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 414 of file shapes.h.

References m_nPoints, and m_Z.

Referenced by Get_Point_Z(), and Get_Point_ZM().

◆ Get_ZMax()

double CSG_Shape_Part::Get_ZMax ( void )
inline

Definition at line 416 of file shapes.h.

References _Update_Extent(), and m_ZMax.

Referenced by CSG_Shape_Points::_Update_Extent().

◆ Get_ZMin()

double CSG_Shape_Part::Get_ZMin ( void )
inline

Definition at line 415 of file shapes.h.

References _Update_Extent(), and m_ZMin.

Referenced by CSG_Shape_Points::_Update_Extent().

◆ Ins_Point() [1/4]

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

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

◆ Set_M()

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

Definition at line 428 of file shapes.h.

References _Invalidate(), m_M, and m_nPoints.

Referenced by Ins_Point(), CSG_Shape_Points::On_Assign(), and Set_Point().

◆ Set_Point() [1/4]

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

Definition at line 407 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, and m_Points.

Referenced by Set_Point(), and Set_Point().

◆ Set_Z()

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

Definition at line 413 of file shapes.h.

References _Invalidate(), m_nPoints, and m_Z.

Referenced by Ins_Point(), Ins_Point(), CSG_Shape_Points::On_Assign(), Set_Point(), and Set_Point().

◆ CSG_Shape_Line

friend class CSG_Shape_Line
friend

Definition at line 371 of file shapes.h.

References CSG_Shape_Line.

Referenced by CSG_Shape_Line.

◆ CSG_Shape_Points

friend class CSG_Shape_Points
friend

◆ CSG_Shape_Polygon

friend class CSG_Shape_Polygon
friend

Definition at line 372 of file shapes.h.

References CSG_Shape_Polygon.

Referenced by CSG_Shape_Polygon.

Member Data Documentation

◆ m_bUpdate

bool CSG_Shape_Part::m_bUpdate
protected

Definition at line 455 of file shapes.h.

Referenced by _Invalidate(), _Update_Extent(), Assign(), CSG_Shape_Part(), and Destroy().

◆ m_Extent

CSG_Rect CSG_Shape_Part::m_Extent
protected

Definition at line 463 of file shapes.h.

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

◆ m_M

double * CSG_Shape_Part::m_M
protected

◆ m_MMax

double CSG_Shape_Part::m_MMax
protected

Definition at line 459 of file shapes.h.

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

◆ m_MMin

double CSG_Shape_Part::m_MMin
protected

Definition at line 459 of file shapes.h.

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

◆ m_nBuffer

int CSG_Shape_Part::m_nBuffer
protected

Definition at line 457 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

◆ m_Z

double* CSG_Shape_Part::m_Z
protected

◆ m_ZMax

double CSG_Shape_Part::m_ZMax
protected

Definition at line 459 of file shapes.h.

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

◆ m_ZMin

double CSG_Shape_Part::m_ZMin
protected

Definition at line 459 of file shapes.h.

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


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