Biomechanical Joint Model
 Author: Anderson Maciel

comepatient.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 
00031 
00032 #ifndef __COME_PATIENT_H        
00033 #define __COME_PATIENT_H        
00034 
00035 #include        <general/come.h>
00036 #include        <algebra/comepoint3d.h>
00037 #include        <kinematics/comejoint.h>
00038 
00039 
00040 
00041 #ifndef __COME_BIOSTRUCTURE_H
00042 class COME_BioStructure;
00043 #endif
00044 
00045 
00050 class COME_Patient : public COME {
00051 
00052 protected:
00053         string                          name;
00054         short                           age;
00055         bool                            gender;
00056         double                          weight;
00057         double                          height;
00058         list<COME_BioStructure*>        organList;
00059         COME_Joint*                     rootJoint;
00060 
00061 public:
00062         COME_Patient();
00063         COME_Patient( const COME_Patient &patientN );
00064         COME_Patient( COME_Patient *patientN );
00065         COME_Patient( string nameN, short ageN, bool genderN, double weightN, double heightN, COME_Joint *root, list<COME_BioStructure*> organListN, COME *scene );
00066         
00067         virtual ~COME_Patient();
00068 
00069         void    setName( string nameN );
00070         void    setAge( short ageN );
00071         void    setGender( bool genderN );
00072         void    setWeight( double weightN );
00073         void    setHeight( double heightN );
00074         void    setOrganList( list<COME_BioStructure*> &listN );
00075         void    setRootJoint( COME_Joint* rootJointN );
00076 
00077         string                          getName() const;
00078         short                           getAge() const;
00079         bool                            getGender() const;
00080         double                          getWeight() const;
00081         double                          getHeight() const;
00082         list<COME_BioStructure*>        getOrganList() const;
00083         const list<COME_BioStructure*>* getPtOrganList() const;
00084         COME_BioStructure*              getOrgan( string desc ) const;
00085         COME_BioStructure*              getOrgan( int index ) const;
00086         COME_BioStructure*              getSelected() const;
00087         COME_Joint*                     getRootJoint();
00088         COME_Joint*                     getJointByName( string target );
00089 
00090         COME_Joint*     searchJoint( COME_Joint* currJoint, string target );
00091         void            addOrgan( COME_BioStructure *organN );
00092         bool            update( double timestep, double simClock );
00093         void            getEnvelop( COME_Point3D& mins, COME_Point3D& maxs ) const;
00094         void            unselectAll();
00095         void            updateSkin();
00096 };
00097 
00098 #endif // __COME_PATIENT_H

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