123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- #include "TimeSeriesExample.h"
- #include "../CommonInterfaces/CommonGraphicsAppInterface.h"
- #include "../CommonInterfaces/CommonRenderInterface.h"
- #include "../CommonInterfaces/Common2dCanvasInterface.h"
- #include "../CommonInterfaces/CommonExampleInterface.h"
- #include "LinearMath/btAlignedObjectArray.h"
- #include "btBulletCollisionCommon.h"
- #include "../CommonInterfaces/CommonGUIHelperInterface.h"
- #include "TimeSeriesCanvas.h"
- struct TimeSeriesExample : public CommonExampleInterface
- {
-
- struct CommonGraphicsApp* m_app;
- struct TimeSeriesExampleInternalData* m_internalData;
- TimeSeriesExample(struct CommonGraphicsApp* app);
- virtual ~TimeSeriesExample();
- virtual void initPhysics();
- virtual void exitPhysics();
- virtual void stepSimulation(float deltaTime);
- virtual void physicsDebugDraw(int debugFlags);
- virtual void syncPhysicsToGraphics(struct GraphicsPhysicsBridge& gfxBridge);
- virtual bool mouseMoveCallback(float x,float y);
- virtual bool mouseButtonCallback(int button, int state, float x, float y);
- virtual bool keyboardCallback(int key, int state);
- virtual void renderScene()
- {
- }
- };
- struct TimeSeriesExampleInternalData
- {
- TimeSeriesCanvas* m_timeSeriesCanvas;
- TimeSeriesExampleInternalData()
- :m_timeSeriesCanvas(0)
- {
- }
- };
- TimeSeriesExample::TimeSeriesExample(struct CommonGraphicsApp* app)
- {
- m_app = app;
- m_internalData = new TimeSeriesExampleInternalData;
- }
- TimeSeriesExample::~TimeSeriesExample()
- {
- delete m_internalData->m_timeSeriesCanvas;
- delete m_internalData;
- }
- void TimeSeriesExample::initPhysics()
- {
- //request a visual bitma/texture we can render to
-
- m_internalData->m_timeSeriesCanvas = new TimeSeriesCanvas(m_app->m_2dCanvasInterface,512,512, "Test");
- m_internalData->m_timeSeriesCanvas ->setupTimeSeries(3,100, 0);
- m_internalData->m_timeSeriesCanvas->addDataSource("Some sine wave", 255,0,0);
- m_internalData->m_timeSeriesCanvas->addDataSource("Some cosine wave", 0,255,0);
- m_internalData->m_timeSeriesCanvas->addDataSource("Delta Time (*10)", 0,0,255);
- m_internalData->m_timeSeriesCanvas->addDataSource("Tan", 255,0,255);
- m_internalData->m_timeSeriesCanvas->addDataSource("Some cosine wave2", 255,255,0);
- m_internalData->m_timeSeriesCanvas->addDataSource("Empty source2", 255,0,255);
- }
- void TimeSeriesExample::exitPhysics()
- {
-
-
- }
- void TimeSeriesExample::stepSimulation(float deltaTime)
- {
-
- float time = m_internalData->m_timeSeriesCanvas->getCurrentTime();
- float v = sinf(time);
- m_internalData->m_timeSeriesCanvas->insertDataAtCurrentTime(v,0,true);
- v = cosf(time);
- m_internalData->m_timeSeriesCanvas->insertDataAtCurrentTime(v,1,true);
- v = tanf(time);
- m_internalData->m_timeSeriesCanvas->insertDataAtCurrentTime(v,3,true);
- m_internalData->m_timeSeriesCanvas->insertDataAtCurrentTime(deltaTime*10,2,true);
- m_internalData->m_timeSeriesCanvas->nextTick();
-
- }
- void TimeSeriesExample::physicsDebugDraw(int debugDrawFlags)
- {
- }
- bool TimeSeriesExample::mouseMoveCallback(float x,float y)
- {
- return false;
- }
- bool TimeSeriesExample::mouseButtonCallback(int button, int state, float x, float y)
- {
- return false;
- }
- bool TimeSeriesExample::keyboardCallback(int key, int state)
- {
- return false;
- }
- void TimeSeriesExample::syncPhysicsToGraphics(GraphicsPhysicsBridge& gfxBridge)
- {
- }
- CommonExampleInterface* TimeSeriesCreateFunc(struct CommonExampleOptions& options)
- {
- return new TimeSeriesExample(options.m_guiHelper->getAppInterface());
- }
|