TAPs 0.7.7.3
TAPsAdvSimCtrl.cpp
Go to the documentation of this file.
00001 /******************************************************************************
00002 TAPsAdvSimCtrl.cpp
00003 ******************************************************************************/
00007 /******************************************************************************
00008 SUKITTI PUNAK   (10/06/2008)
00009 UPDATE          (01/07/2011)
00010 ******************************************************************************/
00011 #include "TAPsAdvSimCtrl.hpp"
00012 // Using Inclusion Model (i.e. definitions are included in declarations)
00013 //                       (this name.cpp is included in name.hpp)
00014 // Each friend is defined directly inside its declaration.
00015 
00016 BEGIN_NAMESPACE_TAPs
00017 //=============================================================================
00018 //-----------------------------------------------------------------------------
00019 template <typename T, typename DATA>
00020 AdvSimCtrl<T,DATA>::AdvSimCtrl ()
00021 {}
00022 //-----------------------------------------------------------------------------
00023 template <typename T, typename DATA>
00024 AdvSimCtrl<T,DATA>::~AdvSimCtrl ()
00025 {}
00026 //-----------------------------------------------------------------------------
00027 template <typename T, typename DATA>
00028 typename AdvSimSupport_DATA<T>::Interaction_ERModelVsHEModel * AdvSimCtrl<T,DATA>::PtrToInteraction_ERModelVsHEModel (
00029     unsigned int sutureID,      
00030     unsigned int modelID        
00031 )
00032 {
00033     int ERloc, HEloc;
00034     if ( GetAdvSimData().GetModelType( sutureID ) != Enum::MODEL_BASED_ON_ER )  return NULL;
00035     else    ERloc = GetAdvSimData().GetModelSlot( sutureID );
00036     if ( GetAdvSimData().GetModelType( modelID ) != Enum::MODEL_BASED_ON_FEM )  return NULL;
00037     else    HEloc = GetAdvSimData().GetModelSlot( modelID );
00038 
00039     return &GetAdvSimData().RefToInteraction_ERModelVsHEModel( ERloc, HEloc );
00040 }
00041 //-----------------------------------------------------------------------------
00042 template <typename T, typename DATA>
00043 typename AdvSimSupport_DATA<T>::Interaction_HEModelVsHEModel * AdvSimCtrl<T,DATA>::PtrToInteraction_HEModelVsHEModel (
00044     unsigned int modelA,    
00045     unsigned int modelB     
00046 )
00047 {
00048     int locA, locB;
00049     if ( GetAdvSimData().GetModelType( modelA ) != Enum::MODEL_BASED_ON_FEM )   return NULL;
00050     else    locA = GetAdvSimData().GetModelSlot( modelA );
00051     if ( GetAdvSimData().GetModelType( modelB ) != Enum::MODEL_BASED_ON_FEM )   return NULL;
00052     else    locB = GetAdvSimData().GetModelSlot( modelB );
00053 
00054     return &GetAdvSimData().RefToInteraction_HEModelVsHEModel( locA, locB );
00055 }
00056 //-----------------------------------------------------------------------------
00057 template <typename T, typename DATA>
00058 typename AdvSimSupport_DATA<T>::InteractionConstants_ERModelVsHEModel * AdvSimCtrl<T,DATA>::PtrToInteractionConstants_ERModelVsHEModel (
00059     unsigned int sutureID,      
00060     unsigned int modelID        
00061 )
00062 {
00063     int ERloc, HEloc;
00064     if ( GetAdvSimData().GetModelType( sutureID ) != Enum::MODEL_BASED_ON_ER )  return NULL;
00065     else    ERloc = GetAdvSimData().GetModelSlot( sutureID );
00066     if ( GetAdvSimData().GetModelType( modelID ) != Enum::MODEL_BASED_ON_FEM )  return NULL;
00067     else    HEloc = GetAdvSimData().GetModelSlot( modelID );
00068 
00069     return &GetAdvSimData().RefToInteractionConstants_ERModelVsHEModel( ERloc, HEloc );
00070 }
00071 //-----------------------------------------------------------------------------
00072 template <typename T, typename DATA>
00073 typename AdvSimSupport_DATA<T>::InteractionConstants_HEModelVsHEModel * AdvSimCtrl<T,DATA>::PtrToInteractionConstants_HEModelVsHEModel (
00074     unsigned int modelA,    
00075     unsigned int modelB     
00076 )
00077 {
00078     int locA, locB;
00079     if ( GetAdvSimData().GetModelType( modelA ) != Enum::MODEL_BASED_ON_FEM )   return NULL;
00080     else    locA = GetAdvSimData().GetModelSlot( modelA );
00081     if ( GetAdvSimData().GetModelType( modelB ) != Enum::MODEL_BASED_ON_FEM )   return NULL;
00082     else    locB = GetAdvSimData().GetModelSlot( modelB );
00083 
00084     return &GetAdvSimData().RefToInteractionConstants_HEModelVsHEModel( locA, locB );
00085 }
00086 //-----------------------------------------------------------------------------
00087 template <typename T, typename DATA>
00088 typename AdvSimSupport_DATA<T>::InteractionConstraints_ERModelVsHEModel * AdvSimCtrl<T,DATA>::PtrToInteractionConstraints_ERModelVsHEModel (
00089     unsigned int sutureID,      
00090     unsigned int modelID        
00091 )
00092 {
00093     int ERloc, HEloc;
00094     if ( GetAdvSimData().GetModelType( sutureID ) != Enum::MODEL_BASED_ON_ER )  return NULL;
00095     else    ERloc = GetAdvSimData().GetModelSlot( sutureID );
00096     if ( GetAdvSimData().GetModelType( modelID ) != Enum::MODEL_BASED_ON_FEM )  return NULL;
00097     else    HEloc = GetAdvSimData().GetModelSlot( modelID );
00098 
00099     return &GetAdvSimData().RefToInteractionConstraints_ERModelVsHEModel( ERloc, HEloc );
00100 }
00101 //-----------------------------------------------------------------------------
00102 template <typename T, typename DATA>
00103 typename AdvSimSupport_DATA<T>::InteractionConstraints_HEModelVsHEModel * AdvSimCtrl<T,DATA>::PtrToInteractionConstraints_HEModelVsHEModel (
00104     unsigned int modelA,    
00105     unsigned int modelB     
00106 )
00107 {
00108     int locA, locB;
00109     if ( GetAdvSimData().GetModelType( modelA ) != Enum::MODEL_BASED_ON_FEM )   return NULL;
00110     else    locA = GetAdvSimData().GetModelSlot( modelA );
00111     if ( GetAdvSimData().GetModelType( modelB ) != Enum::MODEL_BASED_ON_FEM )   return NULL;
00112     else    locB = GetAdvSimData().GetModelSlot( modelB );
00113 
00114     return &GetAdvSimData().RefToInteractionConstraints_HEModelVsHEModel( locA, locB );
00115 }
00116 //-----------------------------------------------------------------------------
00117 template <typename T, typename DATA>
00118 int AdvSimCtrl<T,DATA>::GetSizeOfInteractionConstraints_ERModelVsHEModel (
00119     unsigned int sutureID,  
00120     unsigned int modelID    
00121 )
00122 {
00123     int ERloc, HEloc;
00124     if ( GetAdvSimData().GetModelType( sutureID ) != Enum::MODEL_BASED_ON_ER )  return 0;
00125     else    ERloc = GetAdvSimData().GetModelSlot( sutureID );
00126     if ( GetAdvSimData().GetModelType( modelID ) != Enum::MODEL_BASED_ON_FEM )  return 0;
00127     else    HEloc = GetAdvSimData().GetModelSlot( modelID );
00128 
00129     return GetAdvSimData().RefToInteractionConstraints_ERModelVsHEModel( ERloc, HEloc ).size();
00130 }
00131 //-----------------------------------------------------------------------------
00132 template <typename T, typename DATA>
00133 int AdvSimCtrl<T,DATA>::GetSizeOfInteractionConstraints_HEModelVsHEModel (
00134     unsigned int modelA,    
00135     unsigned int modelB     
00136 )
00137 {
00138     int locA, locB;
00139     if ( GetAdvSimData().GetModelType( modelA ) != Enum::MODEL_BASED_ON_FEM )   return 0;
00140     else    locA = GetAdvSimData().GetModelSlot( modelA );
00141     if ( GetAdvSimData().GetModelType( modelB ) != Enum::MODEL_BASED_ON_FEM )   return 0;
00142     else    locB = GetAdvSimData().GetModelSlot( modelB );
00143 
00144     return GetAdvSimData().RefToInteractionConstraints_HEModelVsHEModel( locA, locB ).size();
00145 }
00146 //-----------------------------------------------------------------------------
00147 //=============================================================================
00148 
00149 
00150 #if defined(__gl_h_) || defined(__GL_H__)
00151 //-----------------------------------------------
00152 //-----------------------------------------------
00153 #endif
00154 
00155 
00156 //=============================================================================
00157 END_NAMESPACE_TAPs
00158 //34567890123456789012345678901234567890123456789012345678901234567890123456789
00159 //--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines