From 78db1b9717089059452e82984f057d6a11fe2b88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Thu, 28 May 2015 06:28:23 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/libs@20 a8b55f48-bf90-11e4-a774-851b48703e85 --- mbricks/CMakeLists.txt | 2 +- mbricks/brick_math.cpp | 7 +++++-- qad_graphic/graphic.h | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/mbricks/CMakeLists.txt b/mbricks/CMakeLists.txt index 45db234..6148010 100644 --- a/mbricks/CMakeLists.txt +++ b/mbricks/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT LIBPROJECT) endif () include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${PIP_INCLUDES}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall") -#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}") file(GLOB HDRS "*.h") diff --git a/mbricks/brick_math.cpp b/mbricks/brick_math.cpp index 6085870..1e5a5db 100644 --- a/mbricks/brick_math.cpp +++ b/mbricks/brick_math.cpp @@ -185,10 +185,13 @@ bool BrickMathFFT::tick_body(double time) { buffer.resize(t, 0.); t = 0; } - outputs[0] = o[t].real(); + outputs[0] = (t >= 0 && t < o.size_s()) ? o[t].real() : 0.; if (t >= v.size()) { t = 0; - //fft(o.data(), log2((double)v.size()), parameters[1].toInt() > 0.); + if (parameters[1].toInt() > 0.) + o = *fft.calcFFTinverse(v); + else + o = *fft.calcFFT(v); for (uint i = 0; i < buffer.size(); ++i) buffer[i] = abs(o[i]); } else { diff --git a/qad_graphic/graphic.h b/qad_graphic/graphic.h index 9757295..6f01aac 100644 --- a/qad_graphic/graphic.h +++ b/qad_graphic/graphic.h @@ -320,7 +320,7 @@ protected: void setCurrentAction(GraphicAction action); void findGraphicsRect(double start_x = 0., double end_x = 0., double start_y = 0., double end_y = 0.); void tick(int index, bool slide = true, bool update = true); - void repaintCanvas(bool force = false) {if (tm.elapsed() < min_repaint_int && !force) return; tm.restart(); canvas->update();} + void repaintCanvas(bool force = false) {if (tm.elapsed() < min_repaint_int && !force) return; tm.restart(); canvas->repaint();} void drawGraphics(); void drawGrid(); void drawGuides();