103 lines
3.5 KiB
Plaintext
103 lines
3.5 KiB
Plaintext
// Filename: dataNodeTransmit.I
|
|
// Created by: drose (11Mar02)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved
|
|
//
|
|
// All use of this software is subject to the terms of the Panda 3d
|
|
// Software license. You should have received a copy of this license
|
|
// along with this source code; you will also find a current copy of
|
|
// the license at http://etc.cmu.edu/panda3d/docs/license/ .
|
|
//
|
|
// To contact the maintainers of this program write to
|
|
// panda3d-general@lists.sourceforge.net .
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DataNodeTransmit::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE DataNodeTransmit::
|
|
DataNodeTransmit() {
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DataNodeTransmit::Copy Constructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE DataNodeTransmit::
|
|
DataNodeTransmit(const DataNodeTransmit ©) :
|
|
_data(copy._data)
|
|
{
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DataNodeTransmit::Copy Assignment Operator
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE void DataNodeTransmit::
|
|
operator = (const DataNodeTransmit ©) {
|
|
_data = copy._data;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DataNodeTransmit::reserve
|
|
// Access: Public
|
|
// Description: Tells the DataNodeTransmit object how many wires it
|
|
// is expected to store data for.
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE void DataNodeTransmit::
|
|
reserve(int num_wires) {
|
|
_data.reserve(num_wires);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DataNodeTransmit::get_data
|
|
// Access: Public
|
|
// Description: Extracts the data for the indicated index, if it has
|
|
// been stored, or the empty parameter if it has not.
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE const EventParameter &DataNodeTransmit::
|
|
get_data(int index) const {
|
|
if (index >= 0 && index < (int)_data.size()) {
|
|
return _data[index];
|
|
}
|
|
static EventParameter empty_parameter;
|
|
return empty_parameter;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DataNodeTransmit::has_data
|
|
// Access: Public
|
|
// Description: Returns true if the indicated parameter has been
|
|
// stored, false otherwise.
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE bool DataNodeTransmit::
|
|
has_data(int index) const {
|
|
if (index >= 0 && index < (int)_data.size()) {
|
|
return !_data[index].is_empty();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DataNodeTransmit::set_data
|
|
// Access: Public
|
|
// Description: Sets the data for the indicated parameter.
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE void DataNodeTransmit::
|
|
set_data(int index, const EventParameter &data) {
|
|
if (index >= (int)_data.size()) {
|
|
slot_data(index);
|
|
}
|
|
nassertv(index >= 0 && index < (int)_data.size());
|
|
_data[index] = data;
|
|
}
|