Biomechanical Joint Model
 Author: Anderson Maciel

comesubspaceelement.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2002 by Anderson Maciel                                 *
00003  *   andi.maciel@gmail.com                                                 *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  *                                                                         *
00010  *   This program is distributed in the hope that it will be useful,       *
00011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00013  *   GNU General Public License for more details.                          *
00014  *                                                                         *
00015  *   You should have received a copy of the GNU General Public License     *
00016  *   along with this program; if not, write to the                         *
00017  *   Free Software Foundation, Inc.,                                       *
00018  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00019  **************************************************************************/
00020 
00022 //
00023 //  PROJECT.....: CO-ME
00024 //  RESPONSIBLE.: 
00025 //
00026 //
00027 //  AUTHOR......: Anderson Maciel
00028 //  DATE........: May/14/2002
00029 //  DESCRIPTION.: Class declaration (Element).
00030 //
00031 //  AUTHOR......: Anderson Maciel
00032 //  DATE........: July/23/2002
00033 //  DESCRIPTION.: Class reformulation to SubSpaceElement.
00034 //
00036 
00037 #ifndef __COME_SUBSPACEELEMENT_H        
00038 #define __COME_SUBSPACEELEMENT_H        
00039 
00040 
00041 #include <general/come.h>
00042 #include <algebra/comepoint3d.h>
00043 #include <algebra/comevector3d.h>
00044 #include <bio/comematerial.h>
00045 
00046 #ifndef __COME_BIOSTRUCTURE_H
00047 class COME_BioStructure;
00048 #endif
00049 
00055 class COME_SubSpaceElement : public COME {
00056 
00057 protected:
00058 
00059         double                  mass;
00060         double                  volume;
00061         COME_Point3D            position;
00062         COME_Point3D            position_minus_one;
00063         COME_Vector3D   velocity;
00064         COME_Vector3D   acceleration;
00065         COME_Material           *material;
00066         int                             index;
00067         double                  stress;
00068         double                  strain;
00069         bool                            fixed;
00070         
00071 public:
00072 
00073         void    setMass( double massN );
00074         void    setVolume( double volumeN );
00075         void    setPosition( COME_Point3D &positionN );
00076         void    setPositionMinusOne( COME_Point3D positionN );
00077         void    setVelocity( COME_Vector3D &velocityN );
00078         void    setAcceleration( COME_Vector3D &accelerationN );
00079         void    setMaterial( COME_Material *materialN );
00080         void    setIndex( int indexN );
00081         void    setStress( double stressN );
00082         void    setStrain( double strainN );
00083         void    setFixed( bool flag );
00084 
00085         double                  getMass() const;
00086         double                  getVolume() const;
00087         COME_Point3D            getPosition() const;
00088         COME_Point3D            getPositionMinusOne() const;
00089         COME_Point3D            getLastDisp() const;
00090         COME_Point3D            getGlobalPosition() const;
00091         COME_Vector3D   getVelocity() const;
00092         COME_Vector3D   getAcceleration() const;
00093         COME_Material*          getMaterial() const;    
00094         int                             getIndex() const;
00095         double                  getStress() const;
00096         double                  getStrain() const;
00097         bool                            isFixed() const;
00098 };
00099 
00100 
00101 #endif  // __COME_SUBSPACEELEMENT_H
00102 

Generated on Thu Dec 1 10:13:36 2005 for COME - Biomechanical Joint Model by  doxygen 1.4.5