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

ID Class Reference

#include <ID.h>

List of all members.

Public Methods

 ID ()
 constructors and destructor. More...

 ID (int)
 ID (int size, int arraySize)
 ID (const ID &)
 ~ID ()
int Size (void) const
 utility methods. More...

void Zero (void)
int& operator() (int x)
 overloaded operators. More...

int operator() (int x) const
int& operator[] (int)
ID& operator= (const ID &V)
int getLocation (int value) const
int removeValue (int value)

Friends

ostream& operator<< (ostream &s, const ID &V)
istream& operator>> (istream &s, ID &V)


Detailed Description

The ID class provides the abstraction for an integer Vector. The class is introduced in addition to the Vector class, to save memory and casting when integer arrays are required. An ID of order {size} is an ordered 1d array of {size} integer values. For example an ID id of order 5: \

\

In the ID class, the data is stored in a 1d integer array of length equal to arraySize, where order <= arraySize. Creating an ID with storage capacity greater than that required allows the ID object to grow without the need to deallocate and allocate more memory. At present time none of the methods are declared as being virtual. THIS MAY CHANGE. \

Definition at line 65 of file ID.h.


Constructor & Destructor Documentation

ID::ID ( )
 

constructors and destructor.

Definition at line 45 of file ID.cpp.

ID::ID ( int size )
 

To construct an ID of size . No memory is allocated for the storage of the data.

Definition at line 55 of file ID.cpp.

ID::ID ( int size,
int arraySize )
 

To construct a ID of size {idSize}. The constructor creates an integer array of size {idSize} to store the data and zeroes this array by invoking {Zero()} on itself. If not enough memory is available an error message is printed and an ID of size is returned.

Definition at line 84 of file ID.cpp.

ID::ID ( const ID & other )
 

To construct a ID of size {idSize}. The constructor creates an integer array of size {arraySize} to store the data and zeroes this array. If {arraySize} is less than {idSize}, the new {arraySize} is set equal to {idSize}. If not enough memory is available an error message is printed and the program is terminated. This constructor is provided to allow an ID to grow.

Definition at line 124 of file ID.cpp.

ID::~ID ( )
 

To construct an ID using another ID {M}. The new ID will be identical to the ID , same order and same size of array to hold the integer values. If not enough memory is available a warning message is printed and both the order and arraySize of the ID are set to .

Definition at line 148 of file ID.cpp.


Member Function Documentation

int ID::Size ( void ) const [inline]
 

utility methods.

Definition at line 179 of file ID.h.

Referenced by Vector::Assemble(), Matrix::Assemble(), CorotTruss::CorotTruss(), DOF_Group::DOF_Group(), GenericSectionNd::GenericSectionNd(), MP_Constraint::MP_Constraint(), PenaltyMP_FE::PenaltyMP_FE(), RigidDiaphragm::RigidDiaphragm(), TransformationDOF_Group::TransformationDOF_Group(), TransformationFE::TransformationFE(), Truss::Truss(), TrussSection::TrussSection(), ZeroLength::ZeroLength(), SymArpackSOE::addA(), SparseGenColLinSOE::addA(), ProfileSPDLinSOE::addA(), FullGenLinSOE::addA(), BandSPDLinSOE::addA(), BandGenLinSOE::addA(), BandArpackSOE::addA(), SparseGenColLinSOE::addB(), ProfileSPDLinSOE::addB(), FullGenLinSOE::addB(), BandSPDLinSOE::addB(), BandGenLinSOE::addB(), TransformationFE::addD_Force(), Domain::addElement(), Element::addInertiaLoadToUnbalance(), TransformationFE::addKcForce(), TransformationFE::addKiForce(), TransformationFE::addKsForce(), TransformationFE::addKtForce(), TransformationFE::addM_Force(), Graph::addVertex(), Domain::buildEleGraph(), Domain::buildNodeGraph(), NLBeamColumn2d::displaySelf(), Newmark::domainChanged(), HHT::domainChanged(), DomainDecompositionAnalysis::domainChanged(), TransformationDOF_Group::doneID(), TransformationDOF_Group::getCommittedAccel(), TransformationDOF_Group::getCommittedDisp(), TransformationDOF_Group::getCommittedVel(), IncrementalIntegrator::getLastResponse(), NLBeamColumn3d::getNumExternalNodes(), NLBeamColumn2d::getNumExternalNodes(), TransformationDOF_Group::getT(), TransformationConstraintHandler::handle(), PlainHandler::handle(), PenaltyConstraintHandler::handle(), LagrangeConstraintHandler::handle(), RCM::number(), Metis::number(), PlainNumberer::numberDOF(), DOF_Numberer::numberDOF(), Vector::operator()(), Matrix::operator()(), operator<<(), operator>>(), Metis::partition(), MaxNodeDispRecorder::record(), FileDatastore::recvID(), SectionAggregator::recvSelf(), GenericSectionNd::recvSelf(), FileDatastore::sendID(), MP_Constraint::sendSelf(), TransformationFE::setID(), PenaltySP_FE::setID(), PenaltyMP_FE::setID(), LagrangeSP_FE::setID(), LagrangeMP_FE::setID(), FE_Element::setID(), SymArpackSOE::setSize(), SparseGenColLinSOE::setSize(), ProfileSPDLinSOE::setSize(), BandSPDLinSOE::setSize(), BandGenLinSOE::setSize(), BandArpackSOE::setSize(), and TransformationFE::~TransformationFE().

void ID::Zero ( void )
 

Zeros out the ID, i.e. sets all the components of the ID to . This is accomplished by zeroing the first {this.Size()} components of the array.

Definition at line 156 of file ID.cpp.

int ID::getLocation ( int value ) const
 

Definition at line 163 of file ID.cpp.

Referenced by RigidDiaphragm::RigidDiaphragm(), Vertex::addEdge(), MultiSupportPattern::addMotion(), TransformationDOF_Group::addSP_Constraint(), TransformationDOF_Group::doneID(), TransformationDOF_Group::getCommittedAccel(), TransformationDOF_Group::getCommittedDisp(), TransformationDOF_Group::getCommittedVel(), MultiSupportPattern::getMotion(), TransformationDOF_Group::getT(), and TransformationConstraintHandler::handle().

int ID::operator() ( int x ) const [inline]
 

Returns the data at location {x} in the ID. Assumes ({x}) is a valid location in the ID, a segmentation fault or erroneous results can occur if this is not the case.

Definition at line 198 of file ID.h.

int & ID::operator() ( int x ) [inline]
 

overloaded operators.

Definition at line 183 of file ID.h.

ID & ID::operator= ( const ID & V )
 

Sets the current ID to be equal to the ID given by {M}. If the IDs are of different sizes, the current data is deallocated and more space allocated before the contents are copied. If not enough memory is available, the order and {arraySize} of the current ID is set to and the ID is returned without copying the components.

Definition at line 263 of file ID.cpp.

int & ID::operator[] ( int subscript )
 

Used to set the data at location({x}) in the ID. If {x} is outside the order of the ID the ID is order of the ID is enlarged to {x+1}. When increasing the order, a check is first made to see if the current array is large enough; if it is the components between the old end and the new component are set to and the order of the ID is set to {x+1}, if not a new array is created. The size of this array is max( old array size, x). A copy of the components of the old array into the new array is made, with any new components set to . If not enough space is available or {x} is less than , a warning message is printed and the contents of ID\_ERROR returned.

Definition at line 191 of file ID.cpp.

int ID::removeValue ( int value )
 

Definition at line 175 of file ID.cpp.


Friends And Related Function Documentation

ostream & operator<< ( ostream & s,
const ID & V ) [friend]
 

Definition at line 302 of file ID.cpp.

istream & operator>> ( istream & s,
ID & V ) [friend]
 

Definition at line 315 of file ID.cpp.


The documentation for this class was generated from the following files:
Copyright Contact Us