Go to the
documentation of this file.
00001
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #pragma once
00020
00021 #include "PFExport.h"
00022 #include "PFSimpleAction.h"
00023 #include "IPFTest.h"
00024 #include "..\iparamb2.h"
00025
00026 class PFSimpleTest: public PFSimpleAction,
00027 public IPFTest
00028 {
00029 public:
00030
00031 PFSimpleTest() { _activeIcon() = _trueIcon() = _falseIcon() = NULL; }
00032 PFExport virtual ~PFSimpleTest();
00033
00041 PFExport virtual BaseInterface* GetInterface(Interface_ID id);
00042 #pragma warning(push)
00043 #pragma warning(disable:4100)
00044
00048 virtual bool Proceed(IObject* pCont, PreciseTimeValue timeStart, PreciseTimeValue& timeEnd,
00049 Object* pSystem, INode* pNode, INode* actionNode, IPFIntegrator* integrator,
00050 BitArray& testResult, Tab<float>& testTime) { return false; }
00051 #pragma warning(pop)
00052
00056 PFExport void ProceedStep1(IObject* pCont, Object* pSystem, INode* pNode, INode* actionNode, FPInterface* integrator);
00057
00062 PFExport bool ProceedStep2(TimeValue timeStartTick, float timeStartFraction, TimeValue& timeEndTick, float& timeEndFraction, BitArray& testResult, Tab<float>& testTime);
00063
00066 protected:
00067
00068 const IObject* containerFnPub() const { return m_containerFnPub; }
00069 const Object* particleSystemFnPub() const { return m_particleSystemFnPub; }
00070 const INode* particleNodeFnPub() const { return m_particleNodeFnPub; }
00071 const INode* actionNodeFnPub() const { return m_actionNodeFnPub; }
00072 const FPInterface* integratorFnPub() const { return m_integratorFnPub; }
00073 HBITMAP activeIcon() const { return m_activeIcon; }
00074 HBITMAP trueIcon() const { return m_trueIcon; }
00075 HBITMAP falseIcon() const { return m_falseIcon; }
00076
00077
00078 IObject*& _containerFnPub() { return m_containerFnPub; }
00079 Object*& _particleSystemFnPub() { return m_particleSystemFnPub; }
00080 INode*& _particleNodeFnPub() { return m_particleNodeFnPub; }
00081 INode*& _actionNodeFnPub() { return m_actionNodeFnPub; }
00082 FPInterface*& _integratorFnPub() { return m_integratorFnPub; }
00083 HBITMAP& _activeIcon() { return m_activeIcon; }
00084 HBITMAP& _trueIcon() { return m_trueIcon; }
00085 HBITMAP& _falseIcon() { return m_falseIcon; }
00086
00087 private:
00088
00089 IObject* m_containerFnPub;
00090 Object* m_particleSystemFnPub;
00091 INode* m_particleNodeFnPub;
00092 INode* m_actionNodeFnPub;
00093 FPInterface* m_integratorFnPub;
00094
00095
00096 HBITMAP m_activeIcon;
00097 HBITMAP m_trueIcon;
00098 HBITMAP m_falseIcon;
00099 };
00100
00101