Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

sxy_series_array.cpp

Go to the documentation of this file.
00001 
00002 // =======================================================================
00003 
00004 char* series_array_cpp = "$Id: sxy_series_array.cpp,v 1.3 2003/01/17 17:43:13 clinio Exp $";
00005 
00006 // =======================================================================
00007 
00008 #include "sxy_series_array.h"
00009 
00010 // =======================================================================
00011 
00012 const SXYPoint SXYArraySeries::NIL = SXYPoint();
00013 
00014 // .......................................................................
00018 SXYArraySeries::~SXYArraySeries() {
00019   deallocVector();
00020 }
00021 
00022 // .......................................................................
00027 SXYArraySeries::SXYArraySeries(unsigned int n) {
00028    vector = NULL;
00029    allocVector(n);
00030 }
00031 
00032 // .......................................................................
00036 void SXYArraySeries::deallocVector(void) {
00037    if (vector) delete vector;
00038    vector = NULL;
00039 }
00040 
00041 // .......................................................................
00046 void SXYArraySeries::allocVector(unsigned int n) {
00047    vector = new SXYVector<SXYPoint>(n, SXYArraySeries::NIL);
00048    assert(vector);
00049 }
00050 
00051 // .......................................................................
00056 unsigned int SXYArraySeries::getSize() {
00057    return vector->getAllocSize();
00058 }
00059 
00060 // .......................................................................
00065 unsigned int SXYArraySeries::getNumPoints() {
00066    return vector->getLength();
00067 }
00068 
00069 // .......................................................................
00075 void SXYArraySeries::invalidatePoint(unsigned int n) {
00076    double invalid_number = SXYSeries::getAnInvalidNumber();
00077    writePoint(n, invalid_number, invalid_number);
00078 }
00079 
00080 // .......................................................................
00085 void SXYArraySeries::removePointAt(unsigned int n) {
00086    assert(vector);
00087    vector->removeElementAt(n);
00088 }
00089 
00090 // .......................................................................
00095 void SXYArraySeries::insertHoleAt(unsigned int n) {
00096    assert(vector);
00097    vector->insertElementAt(n, SXYArraySeries::NIL);
00098 }
00099 
00100 // .......................................................................
00107 void SXYArraySeries::insertPointAt(unsigned int n, double x, double y) {
00108    assert(vector);
00109    vector->insertElementAt(n, SXYPoint(x,y));
00110 }
00111 
00112 // .......................................................................
00116 void SXYArraySeries::insertHole(void) {
00117    assert(vector);
00118    vector->insertElement(SXYArraySeries::NIL);
00119 }
00120 
00121 // .......................................................................
00128 void SXYArraySeries::insertPoint(double x, double y) {
00129    assert(vector);
00130    vector->insertElement(SXYPoint(x,y));
00131 }
00132 
00133 // .......................................................................
00141 void SXYArraySeries::writePoint(unsigned int n, double x, double y) {
00142    assert(vector);
00143    assert(n >= 0);
00144    assert(n < vector->getAllocSize());
00145    assert(n < vector->getLength());
00146    (vector->getElementReference(n))->setX(x);
00147    (vector->getElementReference(n))->setY(y);
00148 }
00149 
00150 // .......................................................................
00158 unsigned int SXYArraySeries::getPoint(unsigned int n, double& x, double& y) {
00159    assert(vector);
00160    assert(n >= 0);
00161    assert(n < vector->getAllocSize());
00162    assert(n < vector->getLength());
00163    SXYPoint point = SXYPoint(vector->getElement(n));
00164    x = point.getX();
00165    y = point.getY();
00166    return SXYSeries::isValidNumber(x) && SXYSeries::isValidNumber(y);
00167 }
00168 

SXY
Tecgraf / PUC-Rio - Computer Graphics Technology Group