Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

CoordinateVector.h

Go to the documentation of this file.
00001 
00002 //
00003 //    Title     :  CoordinateVector.h
00004 //    Project     :  OSCAR Version 2.0
00005 //    Created     :  7/19/02
00006 //    Author      :  Chetan Kapoor
00007 //    Platforms   :  All
00008 //    Copyright   :  The University of Texas at Austin, 2002. All rights reserved.
00009 //
00010 //          This software and documentation constitute an unpublished work
00011 //          and contain valuable trade secrets and proprietary information
00012 //          belonging to the University. None of the foregoing material may be
00013 //          copied or duplicated or disclosed without the express, written
00014 //          permission of University. THE UNIVERSITY EXPRESSLY DISCLAIMS ANY
00015 //          AND ALL WARRANTIES CONCERNING THIS SOFTWARE AND DOCUMENTATION,
00016 //          INCLUDING ANY WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
00017 //          PARTICULAR PURPOSE, AND WARRANTIES OF PERFORMANCE, AND ANY WARRANTY
00018 //          THAT MIGHT OTHERWISE ARISE FROM COURSE OF DEALING OR USAGE OF TRADE.
00019 //          NO WARRANTY IS EITHER EXPRESS OR IMPLIED WITH RESPECT TO THE USE OF
00020 //          THE SOFTWARE OR DOCUMENTATION. Under no circumstances shall the
00021 //          University be liable for incidental, special, indirect, direct or
00022 //          consequential damages or loss of profits, interruption of business,
00023 //          or related expenses which may arise from use of software or documentation,
00024 //          including but not limited to those resulting from defects in software
00025 //          and/or documentation, or loss or inaccuracy of data of any kind.
00026 //
00027 //    Purpose     :  This file contains the declaration of class CoordinateVector
00028 //-----------------------------------------------------------------------------
00029 //
00030 //    $Revisions$
00031 //
00032 //    $Log: CoordinateVector.h,v $
00033 //    Revision 1.14  2005/03/18 23:05:22  chetan
00034 //    Fixed g++ compile warnings. Removed virtual inheritance from Base, added initialization of base class in copy constructors, added newline at EOF
00035 //
00036 //    Revision 1.13  2005/03/18 16:39:28  chetan
00037 //    Fixed compile warnings under g++
00038 //
00039 //    Revision 1.12  2005/03/14 22:04:14  pmarch
00040 //    Added to namespace OSCAR and removed "RR" from front of class names.
00041 //
00042 //    Revision 1.11  2004/07/30 19:05:13  chetan
00043 //    Getting rid of warnings (level 4) in VC++ 6.0
00044 //
00045 //    Revision 1.10  2004/07/19 16:37:04  edjung
00046 //    -made fix to constructors for ANSI C++ compliance with temporary OSCARError objects
00047 //    -added DUMMY_ERROR class
00048 //
00049 //    Revision 1.9  2004/06/08 22:58:04  chetan
00050 //    Added the Grow method
00051 //
00052 //    Revision 1.8  2004/06/07 20:29:36  chetan
00053 //    Made the Grow method protected. Primarily done for efficiency purposes and to prevent unexpected behavior
00054 //
00055 //    Revision 1.7  2004/05/26 20:02:02  pmarch
00056 //    Added /defgroup and /ingroup tags.
00057 //
00058 //    Revision 1.6  2004/04/19 13:36:16  eswint
00059 //    - Added explicit keyword to constructor CoordinateVector(int, double*)
00060 //
00061 //    Revision 1.5  2003/09/09 17:13:13  eswint
00062 //    - Changed #include "Math/..." to #include "..."
00063 //
00064 //    Revision 1.4  2003/09/05 16:19:36  eswint
00065 //    - Corrected comment in operator=(Vector)
00066 //
00067 //    Revision 1.3  2003/09/05 03:41:43  eswint
00068 //    - Added operator=(Vector).  Needs more work for error checking, also questions about the appropriatness for the behavior of operator=(RRCoodinateVector).
00069 //
00070 //    Revision 1.2  2003/09/04 22:48:00  eswint
00071 //    - Change default arguments: OSCARError(0,"No Error"...) to OSCARError(noError) and String(" ") to String("")
00072 //
00073 //    Revision 1.1  2003/08/18 15:23:42  eswint
00074 //    Initial Commit
00075 //
00076 //
00078 #ifndef CoordinateVector_H
00079 #define CoordinateVector_H
00080 
00081 #include "CoordinateSpace.h"
00082 #include "Matrix.h"
00083 #include "Vector.h"
00084 
00086 namespace OSCAR {
00102   class CoordinateVector : public CoordinateSpace, public Vector
00103   {
00104     public:
00105 
00118     explicit CoordinateVector(unsigned int size, const double* array = 0);
00119 
00120 
00135     CoordinateVector(unsigned int size, const CoordinateStatusArray& statArray, OSCARError& err = DUMMY_ERROR(noError));
00136 
00155     CoordinateVector(unsigned int size, const CoordinateStatusArray& statArray, const double* array, OSCARError& err = DUMMY_ERROR(noError));
00156 
00164     CoordinateVector(const CoordinateVector& rhs);
00165 
00171     virtual ~CoordinateVector();
00172 
00181     CoordinateVector& operator=(const CoordinateVector& rhs);
00182 
00191     CoordinateVector& operator=(const Vector& rhs);
00192 
00200     CoordinateVector& operator=(const double rhs) { VectorNumeric<double>::operator=(rhs); return *this;}
00201 
00209       bool Grow(unsigned int growth);
00210   
00211   };
00212 
00213   #include "Math/CoordinateVector.ipp"
00214 }
00215 #endif // ifndef CoordinateVector_H
RRG Homepage OSCAR Overview OSCAR Tutorials Simulations