![]() |
TAPs 0.7.7.3
|
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----+----