SpaceBody.h
Dosyayı İndir
#ifndef SPACEBODY_H_INCLUDED
#define SPACEBODY_H_INCLUDED
#include "SpaceVector.h"
#include "SpaceMatrix.h"
class SpaceBody{
public:
SpaceBody(int rowCount,int columnCount);
~SpaceBody();
int getRowCount() const;
int getColumnCount() const;
void print() const;
SpaceVector &get(int row,int column);
void set(int row,int column,SpaceVector &point);
void set(int row,int column,double x,double y, double z, double w=1);
private:
SpaceVector ***_data;
int _rowCount;
int _columnCount;
};
SpaceBody::SpaceBody(int rowCount,int columnCount){
_rowCount=rowCount;
_columnCount=columnCount;
_data=new SpaceVector**[_rowCount*_columnCount];
for(int row=0;row<_rowCount;row++){
_data[row]=new SpaceVector*();
for(int column=0;column<_columnCount;column++){
_data[row][column]=new SpaceVector();
}
}
}
SpaceBody::~SpaceBody(){
for(int row=0;row<_rowCount;row++){
for(int column=0;column<_columnCount;column++){
delete &_data[row][column];
}
delete _data[row];
}
delete [] _data;
}
int SpaceBody::getRowCount() const{
return _rowCount;
}
int SpaceBody::getColumnCount() const{
return _columnCount;
}
SpaceVector &SpaceBody::get(int row,int column){
return *_data[row][column];
}
void SpaceBody::set(int row,int column,SpaceVector &point){
_data[row][column]=&point;
}
void SpaceBody::set(int row,int column,double x,double y, double z, double w){
_data[row][column]=new SpaceVector(x,y,z,w);
}
void SpaceBody::print() const{
for(int row=0;row<_rowCount;row++){
for(int column=0;column<_columnCount;column++){
_data[row][column]->print();
}
cout<<endl;
}
}
#endif
Dosyayı İndir