#ifndef __TELESO_H__
#define __TELESO_H__
//#define NET
#ifdef NET
#using <System.Dll>
#using <System.XML.Dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Serialization;
using namespace System::IO;
#endif
struct Bod
{
	double x,y,z;
	int ZobrX,ZobrY;
	bool* spoj;
};

class Teleso 
{
private:
		Bod *data;
		int count;
public:
	Teleso (double a, double b,double c);
	Teleso () : data(nullptr), count(0) {};
	~Teleso();
	void Add(double x, double y, double z);
	void Remove (int N);
	inline int GetCount();
	inline void SetZobr(int x, int y, int n);
	void Connect(int Point1, int Point2);
	void Disconnect(int Point1, int Point2);
	inline Bod GetBod(int N);
	void InitZobr();
	void operator = (Teleso &A);
#ifdef NET
	void Save(String^ path);
	void Load(String^ path); 
#endif
private:
	void Add(Bod x);

};
	int Teleso::GetCount(){return count;}
	Bod Teleso::GetBod(int N){return data[N];}
	void Teleso::SetZobr(int x, int y, int n){this->data[n].ZobrX = x; this->data[n].ZobrY = y;}
	
#endif