VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/vrfLineOfSightFunctor.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: vrfLineOfSightFunctor.h,v $ $Revision: 1.4 $ $State: Exp $
00007 *******************************************************************************/
00008 #ifndef vrfLineOfSightFunctor_H_
00009 #define vrfLineOfSightFunctor_H_
00010 
00013 
00016 
00017 #include <vlutil/vlSmartPointers.h>
00018 #include "vrfobjcore/vrfLineOfSightCheckParams.h"
00019 
00022 #include "vrfobjcore/vrfobjcoreDefines.h"
00023 class DT_DLL_vrfobjcore DtVrfLineOfSightFunctor
00024 {
00025 public:
00027    virtual ~DtVrfLineOfSightFunctor() {};
00028 
00030    virtual bool operator()(const DtVrfLineOfSightCheckParams& params) = 0;
00031 };
00032 
00033 
00035 typedef DtBoost::shared_ptr<DtVrfLineOfSightFunctor>  DtVrfLineOfSightFunctorSP;
00036 
00037 
00040 template <typename T>
00041 class DtVrfMemberLineOfSightFunctor : public DtVrfLineOfSightFunctor
00042 {
00043 public:
00045    typedef bool (T::*CheckLineOfSightFunction)(const DtVrfLineOfSightCheckParams& params) const;
00046   
00061    DtVrfMemberLineOfSightFunctor(T* object, CheckLineOfSightFunction function);
00062 
00064    virtual ~DtVrfMemberLineOfSightFunctor();
00065 
00068    virtual bool operator()(const DtVrfLineOfSightCheckParams& params);
00069 
00070 protected:
00071 
00073    T* myObject;
00074 
00076    CheckLineOfSightFunction myFunction;
00077 };
00078 
00079 
00082 template <typename T>
00083 DtVrfLineOfSightFunctorSP DtVrfMemberLOSFunctorSPGenerator(T* object,
00084    typename DtVrfMemberLineOfSightFunctor<T>::CheckLineOfSightFunction function);
00085 
00086 
00087 #define vrfLineOfSightFunctor_inl_
00088 #include "vrfobjcore/vrfLineOfSightFunctor.inl"
00089 #undef vrfLineOfSightFunctor_inl_
00090 
00091 #endif
00092 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)