53#ifndef HEADER_INCLUDED__SAGA_API__tin_H
54#define HEADER_INCLUDED__SAGA_API__tin_H
98 int Get_ID (
void) {
return( m_ID ); }
101 double Get_X (
void) {
return( m_Point.x ); }
102 double Get_Y (
void) {
return( m_Point.y ); }
105 CSG_TIN_Node *
Get_Neighbor (
int iNeighbor) {
return( iNeighbor >= 0 && iNeighbor < m_nNeighbors ? m_Neighbors[iNeighbor] : NULL ); }
106 double Get_Gradient (
int iNeighbor,
int iField);
112 double Get_Polygon_Area (
void);
121 int m_ID, m_nNeighbors, m_nTriangles;
133 bool _Del_Relations (
void);
185 bool is_Containing (
double x,
double y);
188 bool Get_Value (
int zField,
double x,
double y,
double &z);
190 bool Get_Gradient (
int zField,
double &Decline,
double &Azimuth);
203 double m_Area, m_Radius;
236 bool Create (
const char *File);
238 bool Create (
const wchar_t *File);
246 virtual bool Save (
const CSG_String &File,
int Format = 0);
248 virtual bool Save (
const wchar_t *File,
int Format = 0) {
return(
Save(
CSG_String(File), Format) ); }
256 bool Triangulate (
bool bOn =
true,
bool bUpdate =
false);
260 bool Del_Node (
sLong Index,
bool bUpdateNow);
319 int _CircumCircle (
double xp,
double yp,
double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double *xc,
double *yc,
double *r);
#define SAGA_API_DLL_EXPORT
bool Update(bool bForce=false)
CSG_TIN_Node * Get_Node(int iNode)
class CSG_TIN_Triangle * Get_Triangle(int iTriangle)
int Get_Neighbor_Count(void)
CSG_TIN_Node * Get_Neighbor(int iNeighbor)
const TSG_Point & Get_Point(void)
int Get_Triangle_Count(void)
CSG_TIN_Node * Get_Node(int iNode)
TSG_Point Get_CircumCircle_Point(void)
const CSG_Rect & Get_Extent(void)
void Get_CircumCircle(TSG_Point &Point, double &Radius)
double Get_CircumCircle_Radius(void)
CSG_TIN_Edge * Get_Edge(sLong Index) const
void _On_Construction(void)
virtual bool On_Reload(void)
CSG_TIN_Triangle * Get_Triangle(sLong Index) const
CSG_TIN_Triangle * _Add_Triangle(CSG_TIN_Node *a, CSG_TIN_Node *b, CSG_TIN_Node *c)
virtual TSG_Data_Object_Type Get_ObjectType(void) const
Returns the object type as defined by TSG_Data_Object_Type. Used for run time type checking.
CSG_TIN_Triangle ** m_Triangles
sLong Get_Edge_Count(void) const
sLong Get_Node_Count(void) const
virtual bool Save(const char *File, int Format=0)
virtual bool is_Valid(void) const
CSG_TIN_Node * Get_Node(sLong Index) const
CSG_TIN_Edge * _Add_Edge(CSG_TIN_Node *a, CSG_TIN_Node *b)
virtual bool On_Update(void)
bool _Destroy_Edges(void)
virtual CSG_Table_Record * _Get_New_Record(sLong Index)
bool _Destroy_Triangles(void)
virtual bool Save(const wchar_t *File, int Format=0)
int _CircumCircle(double xp, double yp, double x1, double y1, double x2, double y2, double x3, double y3, double *xc, double *yc, double *r)
virtual bool Destroy(void)
virtual bool On_Delete(void)
bool Create(const CSG_TIN &TIN)
bool _Destroy_Nodes(void)
sLong Get_Triangle_Count(void) const
const CSG_Rect & Get_Extent(void)
CSG_Table_Record(class CSG_Table *pTable, sLong Index)
virtual bool Assign(CSG_Table_Record *pRecord)
CSG_Table_Value * Get_Value(int Field)
sLong Get_Count(void) const
friend class CSG_Table_Record
virtual CSG_Table_Record * Get_Record(sLong Index) const
SAGA_API_DLL_EXPORT CSG_TIN * SG_Create_TIN(void)