![]() |
TAPs 0.7.7.3
|
00001 /****************************************************************************** 00002 TAPsCDFnsForHalfEdgeModel.hpp 00003 ******************************************************************************/ 00007 /****************************************************************************** 00008 SUKITTI PUNAK (04/14/2010) 00009 UPDATE (08/08/2010) 00010 ******************************************************************************/ 00011 #ifndef TAPs_CD_FNS_FOR_HALFEDGEMODEL_HPP 00012 #define TAPs_CD_FNS_FOR_HALFEDGEMODEL_HPP 00013 00014 #ifdef TAPs_HALF_EDGE_MODEL_HPP 00015 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 00016 00017 #include "TAPsCDFnsGlobalStuff.hpp" 00018 //#include "../TAPsMultiBoundingVolume.hpp" 00019 //#include "../../OpenGLModel/TAPsHalfEdgeModel.hpp" 00020 00021 00022 BEGIN_NAMESPACE_TAPs__CD__Fn 00023 //============================================================================= 00024 //----------------------------------------------------------------------------- 00025 00026 00027 // CD(R) for Polygonal Mesh Model with BV 00028 //----------------------------------------------------------------------------- 00029 #ifdef TAPs_BOUNDING_VOLUME_HPP 00030 00038 //template <typename T> 00039 //bool CDR ( 00040 // TAPs::OpenGL::HalfEdgeModel<T> * pMeshObj, //!< a HalfEdgeModel object 00041 // TAPs::BoundingVolume<T> const * const pBVObj //!< a bounding volume object 00042 // , TAPs::Vector3<T> * totalForce = NULL //!< total force 00043 // , T gain = 1.0 //!< gain 00044 //); 00045 #endif//TAPs_BOUNDING_VOLUME_HPP 00046 //----------------------------------------------------------------------------- 00047 00048 00049 // CD(R) for Polygonal Mesh Model with MBV 00050 //----------------------------------------------------------------------------- 00051 #ifdef TAPs_MULTI_BOUNDING_VOLUME_HPP 00052 00061 template <typename T> 00062 bool CD ( 00063 TAPs::OpenGL::HalfEdgeModel<T> * pMeshObj, 00064 TAPs::MultiBoundingVolume<T> const * const pMBVObj 00065 , TAPs::Vector3<T> * totalForce = NULL 00066 , T gain = 1.0 00067 ); 00068 00077 template <typename T> 00078 bool CDR ( 00079 TAPs::OpenGL::HalfEdgeModel<T> * pMeshObj, 00080 TAPs::MultiBoundingVolume<T> const * const pMBVObj 00081 , TAPs::Vector3<T> * totalForce = NULL 00082 , T gain = 1.0 00083 ); 00084 #endif//TAPs_MULTI_BOUNDING_VOLUME_HPP 00085 //----------------------------------------------------------------------------- 00086 00087 00088 // CD(R) between two HalfEdgeModel objects which are Polygonal Mesh Models 00089 //----------------------------------------------------------------------------- 00098 template <typename T> 00099 bool CDR ( 00100 TAPs::OpenGL::HalfEdgeModel<T> * pMeshObj_1, 00101 TAPs::OpenGL::HalfEdgeModel<T> * pMeshObj_2, 00102 TransformationSupport<T> * pTransform_1 = NULL, 00103 TransformationSupport<T> * pTransform_2 = NULL, 00104 bool bIsRigidObj_1 = true, 00105 bool bIsRigidObj_2 = true, 00106 T deformRatio_1 = 0.5, 00107 T deformRatio_2 = 0.5 00108 ); 00109 //----------------------------------------------------------------------------- 00110 00111 00112 //============================================================================= 00113 END_NAMESPACE_TAPs__CD__Fn 00114 //----------------------------------------------------------------------------- 00115 #include "TAPsCDFnsForHalfEdgeModel.cpp" 00116 //----------------------------------------------------------------------------- 00117 #endif 00118 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 00119 #endif//TAPs_HALF_EDGE_MODEL_HPP 00120 //34567890123456789012345678901234567890123456789012345678901234567890123456789 00121 //--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----