TAPs 0.7.7.3
TAPsAdvSimConstraint_HEVertexVsHEVertex.hpp
Go to the documentation of this file.
00001 /******************************************************************************
00002 TAPsAdvSimConstraint_HEVertexVsHEVertex.hpp
00003 ******************************************************************************/
00008 /******************************************************************************
00009 SUKITTI PUNAK   (04/30/2010)
00010 UPDATE          (08/30/2010)
00011 ******************************************************************************/
00012 #ifndef TAPs_ADV_SIM_CONSTRAINT_HEVERTEX_VS_HEVERTEX_HPP
00013 #define TAPs_ADV_SIM_CONSTRAINT_HEVERTEX_VS_HEVERTEX_HPP
00014 
00015 #include "TAPsAdvSimConstraint.hpp"
00016 
00017 BEGIN_NAMESPACE_TAPs
00018 //=============================================================================
00019 template <typename T>
00020 class AdvSimConstraint_HEVertexVsHEVertex : public AdvSimConstraint<T> {
00021 //=============================================================================
00022 public:
00023     // Member Functions -------------------------------------------------------
00025     friend std::ostream & operator<< ( std::ostream &output, AdvSimConstraint_HEVertexVsHEVertex<T> const &obj )
00026     {
00027         output << obj.StrInfo();
00028         return output;
00029     }
00030     //-------------------------------------------------------------------------
00032     AdvSimConstraint_HEVertexVsHEVertex (
00033         //ObjectAdvSimID    O1,     //!< model#1's advanced simulation ID
00034         HEVertex<T> *   pV1,    
00035         //ObjectAdvSimID    O2,     //!< model#2's advanced simulation ID
00036         HEVertex<T> *   pV2,    
00037         T forceRatio,           
00038         T forceScaleForModelA,  
00039         T forceScaleForModelB,  
00040         T forceThresholdForModelA = 1,  
00041         T forceThresholdForModelB = 1   
00042     );
00044     AdvSimConstraint_HEVertexVsHEVertex ( AdvSimConstraint_HEVertexVsHEVertex<T> const &orig );
00046     virtual ~AdvSimConstraint_HEVertexVsHEVertex ();
00047     //-------------------------------------------------------------------------
00049     virtual std::string StrInfo () const;
00050     //-------------------------------------------------------------------------
00052     inline virtual AdvSimConstraint_HEVertexVsHEVertex<T> & operator= ( AdvSimConstraint_HEVertexVsHEVertex<T> const &orig );
00053 
00054     //-------------------------------------------------------------------------
00055     // Get/Set Functions
00056 
00058     HEVertex<T> *   GetPtrToVertexFromModel_1 ()    { return m_pV1; }
00060     HEVertex<T> *   GetPtrToVertexFromModel_2 ()    { return m_pV2; }
00062     void SetPtrToVertexFromObj_1 ( HEVertex<T> * pVertex )  { m_pV1 = pVertex; }
00064     void SetPtrToVertexFromObj_2 ( HEVertex<T> * pVertex )  { m_pV2 = pVertex; }
00065 
00066     //-------------------------------------------------------------------------
00067     // Functions for Advanced Simulation
00068 
00070     inline virtual void EnforceConstraint ();
00071 
00073     inline virtual void ClearConstraint ();
00074 
00075     // Data Members -----------------------------------------------------------
00076 //=============================================================================
00077 protected:
00078     // Member Functions -------------------------------------------------------
00079     // Data Members -----------------------------------------------------------
00080     //ObjectAdvSimID    m_O1;   //!< model#1's advanced simulation ID
00081     HEVertex<T> *   m_pV1;  
00082     //ObjectAdvSimID    m_O2;   //!< model#2's advanced simulation ID
00083     HEVertex<T> *   m_pV2;  
00084 //=============================================================================
00085 private:
00086     // Member Functions -------------------------------------------------------
00087     // Data Members -----------------------------------------------------------
00088 //=============================================================================
00089 
00090 #if defined(__gl_h_) || defined(__GL_H__)
00091 public:
00093     virtual void Draw () const;
00094 #endif
00095 
00096 //=============================================================================
00097 }; // END CLASS AdvSimConstraint_HEVertexVsHEVertex
00098 //=============================================================================
00099 END_NAMESPACE_TAPs
00100 //-----------------------------------------------------------------------------
00102 #include "TAPsAdvSimConstraint_HEVertexVsHEVertex.cpp"
00103 
00105 // Include definition if TAPs_USE_EXPORT is not defined
00106 //#if !defined( TAPs_USE_EXPORT )
00107 //  #include "TAPsAdvSimConstraint_HEVertexVsHEVertex.cpp"
00108 //#endif
00109 //-----------------------------------------------------------------------------
00110 #endif
00111 //34567890123456789012345678901234567890123456789012345678901234567890123456789
00112 //--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines