element.cc 2.59 KB
Newer Older
Jan Möbius's avatar
 
Jan Möbius committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
//=============================================================================
//
//                               OpenFlipper
//        Copyright (C) 2009 by Computer Graphics Group, RWTH Aachen
//                           www.openflipper.org
//
//-----------------------------------------------------------------------------
//
//                                License
//
//  OpenFlipper is free software: you can redistribute it and/or modify
//  it under the terms of the GNU Lesser General Public License as published by
//  the Free Software Foundation, either version 3 of the License, or
//  (at your option) any later version.
//
//  OpenFlipper is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public License
//  along with OpenFlipper.  If not, see <http://www.gnu.org/licenses/>.
//
//-----------------------------------------------------------------------------
//
//   $Revision: $
//   $Author: $
//   $Date: $
//
//=============================================================================

//== INCLUDES =================================================================
#include "element.hh"
#include "input.hh"
#include "output.hh"

//== NAMESPACES ===============================================================
namespace VSI {

//=============================================================================
//
//  CLASS VSI::Element - IMPLEMENTATION
//
//=============================================================================

/// Constructor
Element::Element (Context *_context, QString _name) :
  context_ (_context),
  name_ (_name),
  precode_ (""),
  code_ (""),
  dataIn_ (0),
  dataOut_ (0),
  flags_ (0),
  id_ (0)
{
};

//------------------------------------------------------------------------------

/// Destructor
Element::~Element ()
{
  foreach (Input *i, inputs_)
    delete i;

  foreach (Output *o, outputs_)
    delete o;

  if (dataIn_)
    delete dataIn_;

  if (dataOut_)
    delete dataOut_;
}

//------------------------------------------------------------------------------

/// Returns an unused id number
unsigned int Element::getNewId()
{
  return id_++;
}

//------------------------------------------------------------------------------

/// sets the minimum for an unused id
void Element::setMinId(unsigned int _id)
{
  if (id_ < _id)
    id_ = _id;
}

//------------------------------------------------------------------------------
}