[Libreoffice-commits] core.git: officecfg/registry sc/source
officecfg/registry/schema/org/openoffice/Office/Calc.xcs | 12 sc/source/ui/docshell/datastream.cxx | 15 +-- 2 files changed, 17 insertions(+), 10 deletions(-) New commits: commit fcf953b8ec8ef9652f12a2cc91e9edc6153c1bb1 Author: xukai xu...@multicorewareinc.com Date: Tue Sep 23 21:55:13 2014 -0400 make streamtimeout a config variable instead of an env. var. Change-Id: I6c82142265a0a149206d15fbc267ad61e6b9cf3b diff --git a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs index 85fb9f9..cb16b9b 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs @@ -1807,5 +1807,17 @@ /prop /group /group +group oor:name=DataStream +info + descdata stream/desc +/info +prop oor:name=UpdateTimeout oor:type=xs:int oor:nillable=false + !-- UIHints: Tools - Options - Spreadsheet - Defaults -- + info +descset the Timeout of DataStream updating /desc + /info + value2000/value +/prop +/group /component /oor:component-schema diff --git a/sc/source/ui/docshell/datastream.cxx b/sc/source/ui/docshell/datastream.cxx index 449a992..92f9519 100644 --- a/sc/source/ui/docshell/datastream.cxx +++ b/sc/source/ui/docshell/datastream.cxx @@ -27,6 +27,8 @@ #include documentlinkmgr.hxx #include config_orcus.h +#include officecfg/Office/Calc.hxx + #if ENABLE_ORCUS #if defined WNT @@ -501,18 +503,11 @@ void DataStream::MoveData() default: ; } - if(mbIsFirst mbIsUpdate) { - int nImportTimeout = 0; - static char * cenv = getenv( streamtimeout ); - if(cenv) - { - double nEnv = atof(cenv); - nImportTimeout = 1000 * nEnv; - } - maImportTimer.SetTimeout(nImportTimeout); - mbIsFirst = false; +sal_Int32 nStreamTimeout = officecfg::Office::Calc::DataStream::UpdateTimeout::get(); +maImportTimer.SetTimeout(nStreamTimeout); +mbIsFirst = false; } } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/37/11537/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/20/11620/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/43/11543/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/43/11543/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/43/11543/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/40/11540/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/89/11589/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/41/11541/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/37/11537/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/37/11537/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/43/11543/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/41/11541/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/41/11541/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/40/11540/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/85/11585/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/41/11541/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/05/11505/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/40/11540/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/40/11540/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/89/11589/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/07/11507/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/04/11504/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/36/11536/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/36/11536/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/05/11505/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/05/11505/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/86/11586/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/06/11506/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/06/11506/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/88/11588/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/83/11583/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/38/11538/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/84/11584/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/84/11584/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/03/11503/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/03/11503/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/38/11538/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/83/11583/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/08/11508/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/08/11508/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/08/11508/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/90/11590/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/90/11590/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/35/11535/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/35/11535/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/39/11539/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/35/11535/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/39/11539/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/39/11539/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/79/11579/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/39/11539/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/79/11579/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/35/11535/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/charttypes/GL3DBarChart.cxx |4 ++-- chart2/source/view/main/3DChartObjects.cxx |2 +- 2 files changed, 3 insertions(+), 3 deletions(-) New commits: commit 62deb6d6227105d67e46dbfb89a43dc5e510791a Author: xukai xu...@multicorewareinc.com Date: Wed Sep 24 13:47:53 2014 +0800 Changing the font properties makes it look better Change-Id: I1be1833ef416e5eed1e7edbb1254302e28bacba7 Reviewed-on: https://gerrit.libreoffice.org/11620 Reviewed-by: Caolán McNamara caol...@redhat.com Tested-by: Caolán McNamara caol...@redhat.com diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx old mode 100644 new mode 100755 index 05738d7..45aa0b3 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -1244,7 +1244,7 @@ void GL3DBarChart::addMovementScreenText(sal_uInt32 nBarId) OUString aBarValue = OUString(Value: ) + OUString::number(rBarInfo.mnVal); maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID, true)); const opengl3D::TextCacheItem rTextCache = mpTextCache-getText(aBarValue); -float nRectWidth = (float)rTextCache.maSize.Width() / (float)rTextCache.maSize.Height() * 0.015; +float nRectWidth = (float)rTextCache.maSize.Width() / (float)rTextCache.maSize.Height() * 0.024; opengl3D::ScreenText* pScreenText = static_castopengl3D::ScreenText*(maScreenTextShapes.back()); pScreenText-setPosition(glm::vec2(-nRectWidth / 2, 0.03f), glm::vec2(nRectWidth / 2, -0.03f), aTextPos); } @@ -1441,7 +1441,7 @@ void GL3DBarChart::updateScroll() OUString aBarValue = OUString(Value: ) + OUString::number(aBarInfoList[i].mnVal); maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID, true)); const opengl3D::TextCacheItem rTextCache = mpTextCache-getText(aBarValue); -float nRectWidth = (float)rTextCache.maSize.Width() / (float)rTextCache.maSize.Height() * 0.015; +float nRectWidth = (float)rTextCache.maSize.Width() / (float)rTextCache.maSize.Height() * 0.024; glm::vec3 aTextPos = glm::vec3(aBarInfoList[i].maPos.x + BAR_SIZE_X / 2.0f, aBarInfoList[i].maPos.y + BAR_SIZE_Y / 2.0f, aBarInfoList[i].maPos.z); diff --git a/chart2/source/view/main/3DChartObjects.cxx b/chart2/source/view/main/3DChartObjects.cxx index 13d1fb3..7bf6966 100755 --- a/chart2/source/view/main/3DChartObjects.cxx +++ b/chart2/source/view/main/3DChartObjects.cxx @@ -79,7 +79,7 @@ const TextCacheItem TextCache::getText(OUString const rText, bool bIs3dText) VirtualDevice aDevice(*Application::GetDefaultDevice(), 0, 0); vcl::Font aFont; if(bIs3dText) -aFont = vcl::Font(postoffice Bold,Size(0,0)); +aFont = vcl::Font(Brillante St,Size(0,0)); else aFont = aDevice.GetFont(); aFont.SetSize(Size(0, 96)); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/charttypes/GL3DBarChart.cxx | 45 - chart2/source/view/inc/GL3DBarChart.hxx|2 - 2 files changed, 31 insertions(+), 16 deletions(-) New commits: commit b8c442f2b924b03533c7029af3ad10b79e8a89c3 Author: xukai xu...@multicorewareinc.com Date: Mon Sep 22 16:38:41 2014 +0800 add 50 histories for histroy rendering Change-Id: I26ff4655d682960ef397be27d5a9fc894502cf8a Reviewed-on: https://gerrit.libreoffice.org/11579 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index 6581392..8215158 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -29,7 +29,8 @@ #define DATA_UPDATE_TIME 15 #define FPS_TIME 500 #define DATAUPDATE_FPS_TIME 1000 -#define HISTORY_NUM 5 +#define HISTORY_NUM 51 +#define COLUMNSIZE 25 #define SHOW_VALUE_COUNT 15 #define SHOW_SCROLL_TEXT_DISTANCE 1000 #define FLY_THRESHOLD 20 @@ -1067,7 +1068,7 @@ void GL3DBarChart::updateRenderFPS() osl_getSystemTime(maFPSRenderStartTime); } osl_getSystemTime(maFPSRenderEndTime); -addScreenTextShape(maFPS, glm::vec2(-0.99f, 0.99f), 0.06f, true, +addScreenTextShape(maFPS, glm::vec2(-0.99f, 0.99f), 0.07f, true, glm::vec3(0.0f, 0.0f, 0.0f), glm::vec4(1.0f, 0.0f, 0.0f, 1.0f)); } @@ -1113,8 +1114,7 @@ void GL3DBarChart::updateDataUpdateFPS() osl_getSystemTime(maDataUpdateStartTime); } osl_getSystemTime(maDataUpdateEndTime); -addScreenTextShape(maDataUpdateFPS, glm::vec2(-0.99f, 0.93f), 0.06f, true, -glm::vec3(0.0f, 0.0f, 0.0f), glm::vec4(0.0f, 1.0f, 1.0f, 1.0f)); +addScreenTextShape(maDataUpdateFPS, glm::vec2(-0.99f, 0.92f), 0.07f); } void GL3DBarChart::recordBarHistory(sal_uInt32 nBarID, float nVal) @@ -1130,20 +1130,29 @@ void GL3DBarChart::updateClickEvent() if (maRenderEvent == EVENT_CLICK || maRenderEvent == EVENT_AUTO_FLY || maRenderEvent == EVENT_SHOW_SELECT) { std::listfloat aList = maBarHistory[mnSelectBarId]; -sal_uInt32 aIdex = 0; +sal_uInt32 nIdex = 0; OUString aTitle; OUString aBarValue; +float nXCoordStart; +float nYCoordStart; //write title if (aList.size() 1) { aTitle = OUString(Time ); -addScreenTextShape(aTitle, glm::vec2(0.8f, 0.99f), 0.1f, false); +addScreenTextShape(aTitle, glm::vec2(0.875f, 0.99f), 0.07f, false); aTitle = OUString( Value); -addScreenTextShape(aTitle, glm::vec2(0.8f, 0.99f), 0.1f); +addScreenTextShape(aTitle, glm::vec2(0.875f, 0.99f), 0.07f); +} +if (aList.size() COLUMNSIZE) +{ +aTitle = OUString(Time ); +addScreenTextShape(aTitle, glm::vec2(0.55f, 0.99f), 0.07f, false); +aTitle = OUString( Value); +addScreenTextShape(aTitle, glm::vec2(0.55f, 0.99f), 0.07f); } for (std::listfloat::iterator it = aList.begin();it != aList.end();++it) { -if (aIdex + 1 == aList.size()) +if (nIdex + 1 == aList.size()) { aBarValue = OUString(Value: ) + OUString::number(*it); maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 1.0f), CALC_POS_EVENT_ID)); @@ -1159,20 +1168,26 @@ void GL3DBarChart::updateClickEvent() } else { -aTitle = OUString([Time:) + OUString::number((maHistoryCounter - aList.size() + aIdex)) + ]: ; -if (aIdex == 0) +aTitle = OUString([Time:) + OUString::number((maHistoryCounter - aList.size() + nIdex)) + ]: ; +if (nIdex == 0) { aTitle = OUString(Most Recent) + aTitle; } -else if ((aIdex + 2) == aList.size()) +if (aList.size() COLUMNSIZE) +{ +nXCoordStart = 0.875f; +nYCoordStart = (nIdex + 1) * 0.07f; +} +else { -aTitle = OUString(Least Recent) + aTitle; +nXCoordStart = nIdex COLUMNSIZE ? 0.55f : 0.875f; +nYCoordStart = nIdex COLUMNSIZE ? (nIdex + 1) * 0.07f : (nIdex - 24) * 0.07f; } -addScreenTextShape(aTitle, glm::vec2(0.8f, 0.99f - ((aIdex + 1) * 0.1f)), 0.1f, false); +addScreenTextShape(aTitle, glm::vec2(nXCoordStart, 0.99f - nYCoordStart), 0.07f, false); aBarValue = OUString::number(*it); -addScreenTextShape(aBarValue, glm::vec2(0.8f, 0.99f - ((aIdex
[Libreoffice-commits] core.git: chart2/opengl chart2/source
chart2/opengl/screenTextFragmentShader.glsl|6 +-- chart2/source/view/charttypes/GL3DBarChart.cxx | 49 - chart2/source/view/inc/GL3DBarChart.hxx|4 +- chart2/source/view/main/GL3DRenderer.cxx |6 ++- 4 files changed, 41 insertions(+), 24 deletions(-) New commits: commit 7d833aa8a7e572dd266c1e9f52826cbdbfc95185 Author: xukai xu...@multicorewareinc.com Date: Mon Sep 22 17:40:30 2014 +0800 add translucent balck background for history rendering Change-Id: I9da69bdb29bb780776355e79fab61d5d9bb844a4 Reviewed-on: https://gerrit.libreoffice.org/11583 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/opengl/screenTextFragmentShader.glsl b/chart2/opengl/screenTextFragmentShader.glsl index f76abee..f60b54fd 100644 --- a/chart2/opengl/screenTextFragmentShader.glsl +++ b/chart2/opengl/screenTextFragmentShader.glsl @@ -13,11 +13,11 @@ in vec2 vTexCoord; uniform sampler2D TextTex; uniform vec4 textColor; out vec4 actualColor; - void main() { -vec3 color = texture(TextTex, vTexCoord).rgb; -actualColor = vec4(textColor.rgb, 1.0 - color.r); +vec3 color = texture2D(TextTex, vTexCoord).rgb; +actualColor = ((1.0 - color.r) == 0.0) ? vec4(0.0, 0.0, 0.0, textColor.a) : +vec4(textColor.rgb, 1.0); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index 8215158..5241aa8 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -360,6 +360,9 @@ void RenderBenchMarkThread::MoveToCorner() void RenderBenchMarkThread::ProcessScroll() { //will add other process later +mpChart-mpRenderer-EndClick(); +mnStep = 0; +mnStepsTotal = STEPS; mpChart-maRenderEvent = EVENT_SHOW_SCROLL; } @@ -1019,7 +1022,7 @@ void GL3DBarChart::scroll(long nDelta) SharedResourceAccess(maCond1, maCond2); osl::MutexGuard aGuard(maMutex); if ((maRenderEvent != EVENT_NONE) (maRenderEvent != EVENT_SHOW_SCROLL) -(maRenderEvent != EVENT_AUTO_FLY) (maRenderEvent == EVENT_SHOW_SELECT)) +(maRenderEvent != EVENT_AUTO_FLY) (maRenderEvent != EVENT_SHOW_SELECT)) return; glm::vec3 maDir = glm::normalize(maCameraPosition - maCameraDirection); maCameraPosition -= (float((nDelta/10)) * maDir); @@ -1042,17 +1045,18 @@ void GL3DBarChart::contextDestroyed() mbValidContext = false; } -void GL3DBarChart::addScreenTextShape(OUString nStr, glm::vec2 rLeftOrRightTop, float nTextHeight, bool bLeftTopFlag, -const glm::vec3 rPos, const glm::vec4 rColor, sal_uInt32 nEvent) +float GL3DBarChart::addScreenTextShape(OUString nStr, glm::vec2 aLeftOrRightTop, float nTextHeight, bool bLeftTopFlag, +const glm::vec4 rColor, const glm::vec3 rPos, sal_uInt32 nEvent) { maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, nStr, rColor, nEvent)); const opengl3D::TextCacheItem rTextCache = mpTextCache-getText(nStr); float nRectWidth = (float)rTextCache.maSize.Width() / (float)rTextCache.maSize.Height() * nTextHeight / 2.0f; opengl3D::ScreenText* pScreenText = static_castopengl3D::ScreenText*(maScreenTextShapes.back()); if (bLeftTopFlag) -pScreenText-setPosition(rLeftOrRightTop, glm::vec2(rLeftOrRightTop.x + nRectWidth, rLeftOrRightTop.y - nTextHeight), rPos); +pScreenText-setPosition(aLeftOrRightTop, glm::vec2(aLeftOrRightTop.x + nRectWidth, aLeftOrRightTop.y - nTextHeight), rPos); else -pScreenText-setPosition(glm::vec2(rLeftOrRightTop.x - nRectWidth, rLeftOrRightTop.y), glm::vec2(rLeftOrRightTop.x, rLeftOrRightTop.y - nTextHeight), rPos); +pScreenText-setPosition(glm::vec2(aLeftOrRightTop.x - nRectWidth, aLeftOrRightTop.y), glm::vec2(aLeftOrRightTop.x, aLeftOrRightTop.y - nTextHeight), rPos); +return nRectWidth; } void GL3DBarChart::updateRenderFPS() @@ -1069,7 +1073,7 @@ void GL3DBarChart::updateRenderFPS() } osl_getSystemTime(maFPSRenderEndTime); addScreenTextShape(maFPS, glm::vec2(-0.99f, 0.99f), 0.07f, true, - glm::vec3(0.0f, 0.0f, 0.0f), glm::vec4(1.0f, 0.0f, 0.0f, 1.0f)); + glm::vec4(1.0f, 0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 0.0f, 0.0f)); } int GL3DBarChart::calcTimeInterval(TimeValue startTime, TimeValue endTime) @@ -1133,29 +1137,32 @@ void GL3DBarChart::updateClickEvent() sal_uInt32 nIdex = 0; OUString aTitle; OUString aBarValue; -float nXCoordStart; -float nYCoordStart; +float nXCoordStart, nYCoordStart, nTextWidth, nMaxXCoord = 0.0f, nMinXCoord = 1.0f, nMaxHight = 0.0f; //write title
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/charttypes/GL3DBarChart.cxx |2 ++ 1 file changed, 2 insertions(+) New commits: commit cc2bc03eb619e4016f6dd0e255726cda32a8dee6 Author: xukai xu...@multicorewareinc.com Date: Thu Aug 28 23:22:13 2014 +0800 fix the fly back bug Change-Id: Ie866d02ab2ca3a5372dbeec6805eee42c8e10312 Reviewed-on: https://gerrit.libreoffice.org/11505 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index 5241aa8..96f1019 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -310,6 +310,7 @@ void RenderBenchMarkThread::MoveToBar() maStepDirection = (maTargetDirection - mpChart-maCameraDirection)/((float)mnStepsTotal); mpChart-maClickCond.set(); mbExecuting = true; +mbNeedFlyBack = false; mpChart-mpRenderer-StartClick(mpChart-mnSelectBarId); } MoveCamera(); @@ -339,6 +340,7 @@ void RenderBenchMarkThread::AutoMoveToBar() maStepDirection = (maTargetDirection - mpChart-maCameraDirection)/((float)mnStepsTotal); mpChart-mpRenderer-StartClick(mpChart-mnSelectBarId); mbAutoFlyExecuting = true; +mbNeedFlyBack = false; } MoveCamera(); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/charttypes/GL3DBarChart.cxx | 64 + chart2/source/view/inc/GL3DBarChart.hxx|5 + 2 files changed, 50 insertions(+), 19 deletions(-) New commits: commit 221c2eb24b5eeeadb265cfd010fd6851715b24b5 Author: xukai xu...@multicorewareinc.com Date: Mon Sep 22 18:18:35 2014 +0800 Show values of bars in selected row Change-Id: I18fbdcb05e3c95c20c96b426bf93e85657209f34 Reviewed-on: https://gerrit.libreoffice.org/11584 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index 96f1019..d244c6f 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -34,6 +34,7 @@ #define SHOW_VALUE_COUNT 15 #define SHOW_SCROLL_TEXT_DISTANCE 1000 #define FLY_THRESHOLD 20 +#define DISPLAY_BARS_NUM 3 using namespace com::sun::star; @@ -473,7 +474,8 @@ GL3DBarChart::GL3DBarChart( miDataUpdateCounter(0), mnColorRate(0), mbBenchMarkMode(false), -maHistoryCounter(0) +mnHistoryCounter(0), +mnBarsInRow(0) { maFPSRenderStartTime.Seconds = maFPSRenderStartTime.Nanosec = 0; maFPSRenderEndTime.Seconds = maFPSRenderEndTime.Nanosec = 0; @@ -573,6 +575,8 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vectorVDataSeries rDataSer sal_Int32 nSeriesIndex = 0; sal_Int32 nMaxPointCount = 0; double nMaxVal = findMaxValue(rDataSeriesContainer)/100; +const VDataSeries rFirstRow = *(rDataSeriesContainer.begin()); +mnBarsInRow = rFirstRow.getTotalPointCount(); for (boost::ptr_vectorVDataSeries::const_iterator itr = rDataSeriesContainer.begin(), itrEnd = rDataSeriesContainer.end(); itr != itrEnd; ++itr) { @@ -767,7 +771,7 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vectorVDataSeries rDataSer spawnRenderThread(new RenderBenchMarkThread(this)); } miDataUpdateCounter++; -maHistoryCounter++; +mnHistoryCounter++; mbNeedsNewRender = true; } @@ -1131,12 +1135,45 @@ void GL3DBarChart::recordBarHistory(sal_uInt32 nBarID, float nVal) aList.push_back(nVal); } +void GL3DBarChart::getNeighborBarID(sal_uInt32 nSelectBarId, sal_uInt32 *pNeighborBarId) +{ +sal_uInt32 nSelectRow = (nSelectBarId - SHAPE_START_ID) / ID_STEP / (mnBarsInRow + 1); +for (sal_Int32 i = 0; i DISPLAY_BARS_NUM; i++) +{ +pNeighborBarId[i] = nSelectBarId + (i - DISPLAY_BARS_NUM / 2) * ID_STEP; +if (pNeighborBarId[i] == nSelectBarId) +continue; +if ((pNeighborBarId[i] - SHAPE_START_ID) / ID_STEP / (mnBarsInRow + 1) != nSelectRow) +pNeighborBarId[i] = 0; +} +} + +void GL3DBarChart::addMovementScreenText(sal_uInt32 nBarId) +{ +if (nBarId == 0) +return; +std::mapsal_uInt32, const BarInformation::const_iterator itr = maBarMap.find(nBarId); +if (itr == maBarMap.end()) +return; +const BarInformation rBarInfo = itr-second; +glm::vec3 aTextPos = glm::vec3(rBarInfo.maPos.x + BAR_SIZE_X / 2.0f, + rBarInfo.maPos.y + BAR_SIZE_Y / 2.0f, + rBarInfo.maPos.z); +OUString aBarValue = OUString(Value: ) + OUString::number(rBarInfo.mnVal); +maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID)); +const opengl3D::TextCacheItem rTextCache = mpTextCache-getText(aBarValue); +float nRectWidth = (float)rTextCache.maSize.Width() / (float)rTextCache.maSize.Height() * 0.03; +opengl3D::ScreenText* pScreenText = static_castopengl3D::ScreenText*(maScreenTextShapes.back()); +pScreenText-setPosition(glm::vec2(-nRectWidth / 2, 0.03f), glm::vec2(nRectWidth / 2, -0.03f), aTextPos); +} + void GL3DBarChart::updateClickEvent() { if (maRenderEvent == EVENT_CLICK || maRenderEvent == EVENT_AUTO_FLY || maRenderEvent == EVENT_SHOW_SELECT) { std::listfloat aList = maBarHistory[mnSelectBarId]; sal_uInt32 nIdex = 0; +sal_uInt32 nBarIdArray[DISPLAY_BARS_NUM] = {0}; OUString aTitle; OUString aBarValue; float nXCoordStart, nYCoordStart, nTextWidth, nMaxXCoord = 0.0f, nMinXCoord = 1.0f, nMaxHight = 0.0f; @@ -1159,25 +1196,12 @@ void GL3DBarChart::updateClickEvent() nTextWidth = addScreenTextShape(aTitle, glm::vec2(0.55f, 0.99f), 0.07f, true, glm::vec4(0.0f, 1.0f, 1.0f, 0.5f)); nMaxXCoord = std::max(nMaxXCoord, 0.55f + nTextWidth); } +getNeighborBarID(mnSelectBarId, nBarIdArray); for (std::listfloat::iterator it = aList.begin();it != aList.end();++it) { -if (nIdex + 1 == aList.size()) +if (nIdex + 1 aList.size()) { -aBarValue = OUString(Value
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/charttypes/GL3DBarChart.cxx | 14 +- 1 file changed, 9 insertions(+), 5 deletions(-) New commits: commit 35d4c21bf0faaffb87c5197f6d0b3d798aca33bd Author: xukai xu...@multicorewareinc.com Date: Tue Sep 2 16:04:36 2014 +0800 Update the color of FPS text Change-Id: Ic6f5889e24f98101426fc215c0313122797400b7 Reviewed-on: https://gerrit.libreoffice.org/11507 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index d244c6f..0604f0e 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -1073,12 +1073,14 @@ void GL3DBarChart::updateRenderFPS() osl_getSystemTime(maFPSRenderEndTime); nDeltaMs = calcTimeInterval(maFPSRenderStartTime, maFPSRenderEndTime); int iFPS = miFrameCount * 1000 / nDeltaMs; -maFPS = OUString(Render FPS: ) + OUString::number(iFPS); +maFPS = OUString::number(iFPS); miFrameCount = 0; osl_getSystemTime(maFPSRenderStartTime); } osl_getSystemTime(maFPSRenderEndTime); -addScreenTextShape(maFPS, glm::vec2(-0.99f, 0.99f), 0.07f, true, +OUString aFPS = OUString(Render FPS: ); +addScreenTextShape(aFPS, glm::vec2(-0.77f, 0.99f), 0.07f, false, glm::vec4(0.0f, 1.0f, 1.0f, 0.0f)); +addScreenTextShape(maFPS, glm::vec2(-0.77f, 0.99f), 0.07f, true, glm::vec4(1.0f, 0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 0.0f, 0.0f)); } @@ -1113,18 +1115,20 @@ void GL3DBarChart::updateDataUpdateFPS() int iFPS = miDataUpdateCounter * 1000 / nDeltaMs; if (iFPS) { -maDataUpdateFPS = OUString(Data Update Rate: ) + OUString::number(iFPS); +maDataUpdateFPS = OUString::number(iFPS); } else { float fFPS = (float)miDataUpdateCounter * 1000 / (float)nDeltaMs; -maDataUpdateFPS = OUString(Data Update Rate: ) + OUString::number(fFPS); +maDataUpdateFPS = OUString::number(fFPS); } miDataUpdateCounter = 0; osl_getSystemTime(maDataUpdateStartTime); } osl_getSystemTime(maDataUpdateEndTime); -addScreenTextShape(maDataUpdateFPS, glm::vec2(-0.99f, 0.92f), 0.07f); +OUString aDataUpdateFPS = OUString(Data Update Rate: ); +addScreenTextShape(aDataUpdateFPS, glm::vec2(-0.77, 0.92f), 0.07f, false, glm::vec4(0.0f, 1.0f, 1.0f, 0.0f)); +addScreenTextShape(maDataUpdateFPS, glm::vec2(-0.77f, 0.92f), 0.07f, true, glm::vec4(1.0f, 0.0f, 0.0f, 0.0f)); } void GL3DBarChart::recordBarHistory(sal_uInt32 nBarID, float nVal) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/inc/3DChartObjects.hxx |6 +++--- chart2/source/view/main/3DChartObjects.cxx | 12 2 files changed, 11 insertions(+), 7 deletions(-) New commits: commit 98cb400d08a35d26e211fffda24e5b7c6e6672bf Author: xukai xu...@multicorewareinc.com Date: Mon Sep 22 19:01:31 2014 +0800 3D fonts suport Change-Id: Id8142586e8ace4ba91a30b2f78d1216f89f22148 Reviewed-on: https://gerrit.libreoffice.org/11585 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/inc/3DChartObjects.hxx b/chart2/source/view/inc/3DChartObjects.hxx old mode 100644 new mode 100755 index 49b21a3..39d09b4 --- a/chart2/source/view/inc/3DChartObjects.hxx +++ b/chart2/source/view/inc/3DChartObjects.hxx @@ -37,7 +37,7 @@ struct TextCacheItem class TextCache { public: -const TextCacheItem getText(OUString const rText); +const TextCacheItem getText(OUString const rText, bool bIs3dText = false); private: typedef boost::ptr_mapOUString const, TextCacheItem TextCacheType; @@ -108,8 +108,8 @@ private: class ScreenText : public Renderable3DObject { public: -ScreenText(OpenGL3DRenderer* pRenderer, TextCache rTextCache, const OUString rStr, -const glm::vec4 rColor, sal_uInt32 nId); +ScreenText(OpenGL3DRenderer* pRenderer, TextCache rTextCache, +const OUString rStr, glm::vec4 rColor, sal_uInt32 nId, bool bIs3dText = false); virtual void render() SAL_OVERRIDE; void setPosition(const glm::vec2 rTopLeft, const glm::vec2 rBottomRight, diff --git a/chart2/source/view/main/3DChartObjects.cxx b/chart2/source/view/main/3DChartObjects.cxx old mode 100644 new mode 100755 index c0992e4..13d1fb3 --- a/chart2/source/view/main/3DChartObjects.cxx +++ b/chart2/source/view/main/3DChartObjects.cxx @@ -70,14 +70,18 @@ void Line::setLineColor(const Color rColor) maLineColor = rColor; } -const TextCacheItem TextCache::getText(OUString const rText) +const TextCacheItem TextCache::getText(OUString const rText, bool bIs3dText) { TextCacheType::const_iterator itr = maTextCache.find(rText); if(itr != maTextCache.end()) return *itr-second; VirtualDevice aDevice(*Application::GetDefaultDevice(), 0, 0); -vcl::Font aFont = aDevice.GetFont(); +vcl::Font aFont; +if(bIs3dText) +aFont = vcl::Font(postoffice Bold,Size(0,0)); +else +aFont = aDevice.GetFont(); aFont.SetSize(Size(0, 96)); static bool bOldRender = getenv(OLDRENDER); if (bOldRender) @@ -129,9 +133,9 @@ void Text::setPosition(const glm::vec3 rTopLeft, const glm::vec3 rTopRight, co } ScreenText::ScreenText(OpenGL3DRenderer* pRenderer, TextCache rTextCache, -const OUString rStr, const glm::vec4 rColor, sal_uInt32 nId): +const OUString rStr, glm::vec4 rColor, sal_uInt32 nId, bool bIs3dText): Renderable3DObject(pRenderer, nId), -maText(rTextCache.getText(rStr)), +maText(rTextCache.getText(rStr,bIs3dText)), maColor(rColor) { } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/charttypes/GL3DBarChart.cxx |8 1 file changed, 4 insertions(+), 4 deletions(-) New commits: commit 57cc338ddfd2fcca35641ef9f49f13caac932754 Author: xukai xu...@multicorewareinc.com Date: Fri Sep 19 13:10:57 2014 +0800 Using 3D fonts Change-Id: If6cdece9f100f51b7a69ac4be4e316fb9c9928d5 Reviewed-on: https://gerrit.libreoffice.org/11535 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index 0604f0e..b863dee 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -1164,9 +1164,9 @@ void GL3DBarChart::addMovementScreenText(sal_uInt32 nBarId) rBarInfo.maPos.y + BAR_SIZE_Y / 2.0f, rBarInfo.maPos.z); OUString aBarValue = OUString(Value: ) + OUString::number(rBarInfo.mnVal); -maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID)); +maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID, true)); const opengl3D::TextCacheItem rTextCache = mpTextCache-getText(aBarValue); -float nRectWidth = (float)rTextCache.maSize.Width() / (float)rTextCache.maSize.Height() * 0.03; +float nRectWidth = (float)rTextCache.maSize.Width() / (float)rTextCache.maSize.Height() * 0.015; opengl3D::ScreenText* pScreenText = static_castopengl3D::ScreenText*(maScreenTextShapes.back()); pScreenText-setPosition(glm::vec2(-nRectWidth / 2, 0.03f), glm::vec2(nRectWidth / 2, -0.03f), aTextPos); } @@ -1361,9 +1361,9 @@ void GL3DBarChart::updateScroll() for(size_t i = 0; i aBarInfoList.size(); i++) { OUString aBarValue = OUString(Value: ) + OUString::number(aBarInfoList[i].mnVal); -maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID)); +maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), CALC_POS_EVENT_ID, true)); const opengl3D::TextCacheItem rTextCache = mpTextCache-getText(aBarValue); -float nRectWidth = (float)rTextCache.maSize.Width() / (float)rTextCache.maSize.Height() * 0.03; +float nRectWidth = (float)rTextCache.maSize.Width() / (float)rTextCache.maSize.Height() * 0.015; glm::vec3 aTextPos = glm::vec3(aBarInfoList[i].maPos.x + BAR_SIZE_X / 2.0f, aBarInfoList[i].maPos.y + BAR_SIZE_Y / 2.0f, aBarInfoList[i].maPos.z); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/charttypes/GL3DBarChart.cxx |6 -- 1 file changed, 4 insertions(+), 2 deletions(-) New commits: commit e975f78a306df35663319d03c882cb679c12e20c Author: xukai xu...@multicorewareinc.com Date: Sat Sep 13 10:31:42 2014 +0800 instead of a top view a 45 degree view Change-Id: Iaf922b998552778c527440c4b3a83cb8c05d2a6e Reviewed-on: https://gerrit.libreoffice.org/11536 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index b863dee..3474de3 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -304,10 +304,11 @@ void RenderBenchMarkThread::MoveToBar() glm::vec3 maTargetPosition = rBarInfo.maPos; maTargetPosition.z += 240; maTargetPosition.x += BAR_SIZE_X / 2.0f; -maStep = (maTargetPosition - mpChart-maCameraPosition)/((float)mnStepsTotal); glm::vec3 maTargetDirection = rBarInfo.maPos; maTargetDirection.x += BAR_SIZE_X / 2.0f; maTargetDirection.y += BAR_SIZE_Y / 2.0f; +maTargetPosition.y = maTargetDirection.y - 240; +maStep = (maTargetPosition - mpChart-maCameraPosition)/((float)mnStepsTotal); maStepDirection = (maTargetDirection - mpChart-maCameraDirection)/((float)mnStepsTotal); mpChart-maClickCond.set(); mbExecuting = true; @@ -334,10 +335,11 @@ void RenderBenchMarkThread::AutoMoveToBar() glm::vec3 maTargetPosition = rBarInfo.maPos; maTargetPosition.z += 240; maTargetPosition.x += BAR_SIZE_X / 2.0f; -maStep = (maTargetPosition - mpChart-maCameraPosition)/((float)mnStepsTotal); glm::vec3 maTargetDirection = rBarInfo.maPos; maTargetDirection.x += BAR_SIZE_X / 2.0f; maTargetDirection.y += BAR_SIZE_Y / 2.0f; +maTargetPosition.y = maTargetDirection.y - 240; +maStep = (maTargetPosition - mpChart-maCameraPosition)/((float)mnStepsTotal); maStepDirection = (maTargetDirection - mpChart-maCameraDirection)/((float)mnStepsTotal); mpChart-mpRenderer-StartClick(mpChart-mnSelectBarId); mbAutoFlyExecuting = true; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/inc/GL3DRenderer.hxx |4 chart2/source/view/main/GL3DRenderer.cxx | 23 +++ 2 files changed, 27 insertions(+) New commits: commit 080bab41b64d9531c9d2ae9e5125fd4876bca0bb Author: xukai xu...@multicorewareinc.com Date: Mon Sep 22 19:50:26 2014 +0800 Add function:GetDiffOfTwoCameras Change-Id: I3b3f4e8e18d5970d408adcf0457bfdd4e064e37c Reviewed-on: https://gerrit.libreoffice.org/11588 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/inc/GL3DRenderer.hxx b/chart2/source/view/inc/GL3DRenderer.hxx index fe3e96d..655120c 100644 --- a/chart2/source/view/inc/GL3DRenderer.hxx +++ b/chart2/source/view/inc/GL3DRenderer.hxx @@ -282,6 +282,9 @@ private: void SetHighLightBar(BatchBarInfo barInfo); void DisableHighLightBar(BatchBarInfo barInfo); void CalcScrollMoveMatrix(bool bNewScene); +glm::mat4 GetDiffOfTwoCameras(const glm::vec3 rBeginPos, const glm::vec3 rEndPos, const glm::vec3 rBeginDirection, const glm::vec3 rEndDirection); +void AddMatrixDiff(const glm::mat4 aMat); +void ResetMatrixDiff(); private: struct ShaderResources @@ -478,6 +481,7 @@ private: float m_fCurDistance; glm::mat4 m_ScrollMoveMatrix; bool m_bUndrawFlag; +glm::mat4 m_matDiff; }; } diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index 5991a3f..c3397a4 100644 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -96,6 +96,7 @@ OpenGL3DRenderer::OpenGL3DRenderer(): , m_fCurDistance(0.0f) , m_ScrollMoveMatrix(glm::mat4(1.0)) , m_bUndrawFlag(false) +, m_matDiff(glm::mat4(0.0)) { m_Polygon3DInfo.lineOnly = false; m_Polygon3DInfo.twoSidesLighting = false; @@ -2138,6 +2139,17 @@ void OpenGL3DRenderer::CreateSceneBoxView() m_3DView = glm::lookAt(m_CameraInfo.cameraPos, m_CameraInfo.cameraOrg, m_CameraInfo.cameraUp); +m_3DView = m_3DView + m_matDiff; +} + +void OpenGL3DRenderer::AddMatrixDiff(const glm::mat4 aMat) +{ +m_matDiff = m_matDiff + aMat; +} + +void OpenGL3DRenderer::ResetMatrixDiff() +{ +m_matDiff = glm::mat4(0.0); } void OpenGL3DRenderer::ClearBuffer() @@ -2440,6 +2452,17 @@ void OpenGL3DRenderer::CalcScrollMoveMatrix(bool bNewScene) m_bUndrawFlag = m_fCurDistance = m_fScrollDistance ? true : false; } +glm::mat4 OpenGL3DRenderer::GetDiffOfTwoCameras(const glm::vec3 rBeginPos, const glm::vec3 rEndPos, const glm::vec3 rBeginDirection, const glm::vec3 rEndDirection) +{ +glm::mat4 aBegin = glm::lookAt(glm::vec3(m_GlobalScaleMatrix * glm::vec4(rBeginPos, 1.0)), + glm::vec3(m_GlobalScaleMatrix * glm::vec4(rBeginDirection, 1.0)), + glm::vec3(0, 0, 1)); +glm::mat4 aEnd = glm::lookAt(glm::vec3(m_GlobalScaleMatrix * glm::vec4(rEndPos, 1.0)), + glm::vec3(m_GlobalScaleMatrix * glm::vec4(rEndDirection, 1.0)), + glm::vec3(0, 0, 1)); +return aEnd - aBegin; +} + glm::mat4 OpenGL3DRenderer::GetProjectionMatrix() { return m_3DProjection; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/inc/GL3DRenderer.hxx |7 --- chart2/source/view/main/GL3DRenderer.cxx |7 +++ 2 files changed, 11 insertions(+), 3 deletions(-) New commits: commit 192b360cfb1bf422f282f4c93e7d0fc0fe83f7db Author: xukai xu...@multicorewareinc.com Date: Mon Sep 22 20:06:32 2014 +0800 overloaded function GetDiffOfTwoCameras Change-Id: Ic195c846364ddf9c798d019eed23c27200713017 Reviewed-on: https://gerrit.libreoffice.org/11589 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/inc/GL3DRenderer.hxx b/chart2/source/view/inc/GL3DRenderer.hxx old mode 100644 new mode 100755 index 655120c..b4597a1 --- a/chart2/source/view/inc/GL3DRenderer.hxx +++ b/chart2/source/view/inc/GL3DRenderer.hxx @@ -220,6 +220,10 @@ public: glm::mat4 GetProjectionMatrix(); glm::mat4 GetViewMatrix(); glm::mat4 GetGlobalScaleMatrix(); +glm::mat4 GetDiffOfTwoCameras(const glm::vec3 rBeginPos, const glm::vec3 rEndPos, const glm::vec3 rBeginDirection, const glm::vec3 rEndDirection); +glm::mat4 GetDiffOfTwoCameras(const glm::vec3 rEndPos, const glm::vec3 rEndDirection); +void AddMatrixDiff(const glm::mat4 aMat); +void ResetMatrixDiff(); private: void MoveModelf( const PosVecf3 trans, const PosVecf3 angle, const PosVecf3 scale); @@ -282,9 +286,6 @@ private: void SetHighLightBar(BatchBarInfo barInfo); void DisableHighLightBar(BatchBarInfo barInfo); void CalcScrollMoveMatrix(bool bNewScene); -glm::mat4 GetDiffOfTwoCameras(const glm::vec3 rBeginPos, const glm::vec3 rEndPos, const glm::vec3 rBeginDirection, const glm::vec3 rEndDirection); -void AddMatrixDiff(const glm::mat4 aMat); -void ResetMatrixDiff(); private: struct ShaderResources diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx old mode 100644 new mode 100755 index c3397a4..6b0004f --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -2463,6 +2463,13 @@ glm::mat4 OpenGL3DRenderer::GetDiffOfTwoCameras(const glm::vec3 rBeginPos, cons return aEnd - aBegin; } +glm::mat4 OpenGL3DRenderer::GetDiffOfTwoCameras(const glm::vec3 rEndPos, const glm::vec3 rEndDirection) +{ +glm::mat4 aEnd = glm::lookAt(glm::vec3(m_GlobalScaleMatrix * glm::vec4(rEndPos, 1.0)), + glm::vec3(m_GlobalScaleMatrix * glm::vec4(rEndDirection, 1.0)),glm::vec3(0, 0, 1)); +return aEnd - m_3DView; +} + glm::mat4 OpenGL3DRenderer::GetProjectionMatrix() { return m_3DProjection; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: 2 commits - chart2/source
chart2/source/view/charttypes/GL3DBarChart.cxx | 74 + 1 file changed, 52 insertions(+), 22 deletions(-) New commits: commit 5c9ca2fb863e84ae2328f6b0186e137cd5f02ed6 Author: xukai xu...@multicorewareinc.com Date: Fri Sep 19 15:18:41 2014 +0800 update effect of bar click Change-Id: Ibb09537d418e78c7fc9b6760988abd56505268b3 Reviewed-on: https://gerrit.libreoffice.org/11539 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index d07653f..9b44421 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -567,6 +567,19 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vectorVDataSeries rDataSer { SharedResourceAccess(maCond1, maCond2); osl::MutexGuard aGuard(maMutex); +mnPreSelectBarId = mnSelectBarId; +mnSelectBarId -= 10; +sal_uInt32 nSelectRow = (mnSelectBarId - SHAPE_START_ID) / ID_STEP / (mnBarsInRow + 1); +sal_uInt32 nPreSelectRow = (mnPreSelectBarId - SHAPE_START_ID) / ID_STEP / (mnBarsInRow + 1); +if(nSelectRow != nPreSelectRow) +{ +mnSelectBarId = mnPreSelectBarId; +} +else +{ +mpRenderer-EndClick(); +mpRenderer-StartClick(mnSelectBarId); +} mpRenderer-ReleaseShapes(); // Each series of data flows from left to right, and multiple series are // stacked vertically along y axis. commit 32d267f556634d3bbceba4978efc4d8cb62b148c Author: xukai xu...@multicorewareinc.com Date: Mon Sep 22 20:08:26 2014 +0800 make Camera flythrough looks more smooth Change-Id: I46f79bb6ede2da133fe8971319fc4b7257848382 Reviewed-on: https://gerrit.libreoffice.org/11590 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index 3474de3..d07653f 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -209,6 +209,7 @@ protected: private: void ProcessMouseEvent(); void MoveCamera(); +void MoveCameraToBar(); void MoveToBar(); void MoveToDefault(); void MoveToCorner(); @@ -224,11 +225,14 @@ private: bool mbNeedFlyBack; glm::vec3 maStep; glm::vec3 maStepDirection; +glm::mat4 maMatrixStep; size_t mnStep; size_t mnStepsTotal; TimeValue maClickFlyBackStartTime; TimeValue maClickFlyBackEndTime; OUString maFPS; +glm::vec3 maTargetPosition; +glm::vec3 maTargetDirection; }; void RenderBenchMarkThread::MoveCamera() @@ -246,21 +250,36 @@ void RenderBenchMarkThread::MoveCamera() mnStep = 0; mbExecuting = false; mbAutoFlyExecuting = false; -if ((mpChart-maRenderEvent == EVENT_CLICK) || (mpChart-maRenderEvent == EVENT_AUTO_FLY)) -{ -mbNeedFlyBack = true; -osl_getSystemTime(maClickFlyBackStartTime); -osl_getSystemTime(maClickFlyBackEndTime); -mpChart-maRenderEvent = EVENT_SHOW_SELECT; -} -else -{ -mbNeedFlyBack = false; -mpChart-maRenderEvent = EVENT_NONE; -} +mbNeedFlyBack = false; +mpChart-maRenderEvent = EVENT_NONE; +} +} + +void RenderBenchMarkThread::MoveCameraToBar() +{ +if(mnStep mnStepsTotal) +{ +++mnStep; +mpChart-mpRenderer-AddMatrixDiff(maMatrixStep); +} +else +{ +mpChart-maCameraPosition = maTargetPosition; +mpChart-maCameraDirection = maTargetDirection; +mpChart-mpCamera-setPosition(maTargetPosition); +mpChart-mpCamera-setDirection(maTargetDirection); +mpChart-mpRenderer-ResetMatrixDiff(); +mnStep = 0; +mbExecuting = false; +mbAutoFlyExecuting = false; +mbNeedFlyBack = true; +osl_getSystemTime(maClickFlyBackStartTime); +osl_getSystemTime(maClickFlyBackEndTime); +mpChart-maRenderEvent = EVENT_SHOW_SELECT; } } + void RenderBenchMarkThread::MoveToDefault() { if ((mpChart-maCameraPosition == mpChart-maDefaultCameraDirection) @@ -301,21 +320,20 @@ void RenderBenchMarkThread::MoveToBar() const GL3DBarChart::BarInformation rBarInfo = itr-second; mnStep = 0; mnStepsTotal = STEPS; -glm::vec3 maTargetPosition = rBarInfo.maPos; +maTargetPosition = rBarInfo.maPos; maTargetPosition.z += 240; maTargetPosition.x += BAR_SIZE_X / 2.0f; -glm::vec3 maTargetDirection = rBarInfo.maPos; +maTargetDirection = rBarInfo.maPos; maTargetDirection.x += BAR_SIZE_X / 2.0f; maTargetDirection.y += BAR_SIZE_Y / 2.0f; maTargetPosition.y = maTargetDirection.y - 240
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/charttypes/GL3DBarChart.cxx | 11 +-- chart2/source/view/inc/GL3DBarChart.hxx|1 + 2 files changed, 10 insertions(+), 2 deletions(-) New commits: commit bc1b8dd63e74c255a989ac51a92d7db0bba75bc3 Author: xukai xu...@multicorewareinc.com Date: Fri Sep 19 15:26:34 2014 +0800 use environment AUTO_FLY to control if autofly Change-Id: Ie47dfdc5f3b07f6e1a6336fc235ac6ccd5d53cab Reviewed-on: https://gerrit.libreoffice.org/11540 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index 9b44421..7eefac6 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -494,7 +494,8 @@ GL3DBarChart::GL3DBarChart( mnColorRate(0), mbBenchMarkMode(false), mnHistoryCounter(0), -mnBarsInRow(0) +mnBarsInRow(0), +mbAutoFly(false) { maFPSRenderStartTime.Seconds = maFPSRenderStartTime.Nanosec = 0; maFPSRenderEndTime.Seconds = maFPSRenderEndTime.Nanosec = 0; @@ -518,6 +519,11 @@ GL3DBarChart::GL3DBarChart( mpRenderer-SetScroll(); } } +char *aAutoFly = getenv(AUTO_FLY); +if (aAutoFly) +{ +mbAutoFly = atoi(aAutoFly); +} maTimer.SetTimeout(DATA_UPDATE_TIME); maTimer.SetTimeoutHdl(LINK(this, GL3DBarChart, updateTimer)); maTimer.Start(); @@ -676,7 +682,8 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vectorVDataSeries rDataSer } else { -processAutoFly(nId, nColor); +if(mbAutoFly) +processAutoFly(nId, nColor); } } maShapes.push_back(new opengl3D::Bar(mpRenderer.get(), aBarPosition, nColor, nId)); diff --git a/chart2/source/view/inc/GL3DBarChart.hxx b/chart2/source/view/inc/GL3DBarChart.hxx index bebca58..4ae2385 100644 --- a/chart2/source/view/inc/GL3DBarChart.hxx +++ b/chart2/source/view/inc/GL3DBarChart.hxx @@ -192,6 +192,7 @@ private: bool mbBenchMarkMode; sal_uInt32 mnHistoryCounter; sal_uInt32 mnBarsInRow; +bool mbAutoFly; // these form a pair: ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/charttypes/GL3DBarChart.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 9d97b1a7b1c7f3258335513518c762bd16745f17 Author: xukai xu...@multicorewareinc.com Date: Fri Sep 19 15:53:20 2014 +0800 fdo#84001: update environment name BENCHMARK_MODE to UNLOCK_FPS_MODE Change-Id: I7837b2b2639cd003931227f3eb957ef90b905fd0 diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index 7eefac6..cf05724 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -502,7 +502,7 @@ GL3DBarChart::GL3DBarChart( maDataUpdateStartTime.Seconds = maDataUpdateStartTime.Nanosec = 0; maDataUpdateEndTime.Seconds = maDataUpdateEndTime.Nanosec = 0; -static const char *aBenchMark = getenv(UNLOCKED_FRAMERATE); +static const char *aBenchMark = getenv(UNLOCK_FPS_MODE); if (aBenchMark) { mbBenchMarkMode = atoi(aBenchMark); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/charttypes/GL3DBarChart.cxx | 68 +++-- chart2/source/view/inc/GL3DBarChart.hxx|5 + 2 files changed, 57 insertions(+), 16 deletions(-) New commits: commit 7f895dfbf5fb084d747e52db678d75e3273cd825 Author: xukai xu...@multicorewareinc.com Date: Fri Sep 19 15:38:19 2014 +0800 update camera when bar is clicked Change-Id: Icf397070d1b17a282a07e166d1387881b854b337 Reviewed-on: https://gerrit.libreoffice.org/11541 Reviewed-by: Kohei Yoshida libreoff...@kohei.us Tested-by: Kohei Yoshida libreoff...@kohei.us diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index cf05724..5a05323 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -42,7 +42,7 @@ using namespace com::sun::star; namespace chart { const size_t STEPS = 200; - +const size_t STEPS_UPDATE = 100; namespace { const float TEXT_HEIGHT = 10.0f; @@ -211,6 +211,7 @@ private: void MoveCamera(); void MoveCameraToBar(); void MoveToBar(); +void MoveToSelectedBar(); void MoveToDefault(); void MoveToCorner(); void ProcessScroll(); @@ -336,6 +337,36 @@ void RenderBenchMarkThread::MoveToBar() MoveCameraToBar(); } +void RenderBenchMarkThread::MoveToSelectedBar() +{ +mpChart-mnSelectBarId = mpChart-mnUpdateBarId; +std::mapsal_uInt32, const GL3DBarChart::BarInformation::const_iterator itr = mpChart-maBarMap.find(mpChart-mnSelectBarId); +if(itr == mpChart-maBarMap.end()) +{ +mpChart-mnSelectBarId = mpChart-mnPreSelectBarId; +mpChart-maRenderEvent = mpChart-maPreRenderEvent; +mpChart-maClickCond.set(); +return; +} +mpChart-mpRenderer-EndClick(); +const GL3DBarChart::BarInformation rBarInfo = itr-second; +mnStep = 0; +mnStepsTotal = STEPS_UPDATE; +maTargetPosition = rBarInfo.maPos; +maTargetPosition.z += 240; +maTargetPosition.x += BAR_SIZE_X / 2.0f; +maTargetDirection = rBarInfo.maPos; +maTargetDirection.x += BAR_SIZE_X / 2.0f; +maTargetDirection.y += BAR_SIZE_Y / 2.0f; +maTargetPosition.y = maTargetDirection.y - 240; +maMatrixStep = mpChart-mpRenderer-GetDiffOfTwoCameras( maTargetPosition, maTargetDirection)/((float)mnStepsTotal); +mpChart-maClickCond.set(); +mbExecuting = true; +mbNeedFlyBack = false; +mpChart-mpRenderer-StartClick(mpChart-mnSelectBarId); +mpChart-maRenderEvent = EVENT_CLICK; +} + void RenderBenchMarkThread::AutoMoveToBar() { if (!mbAutoFlyExecuting) @@ -403,7 +434,11 @@ void RenderBenchMarkThread::ProcessClickFlyBack() void RenderBenchMarkThread::ProcessMouseEvent() { ProcessClickFlyBack(); -if (mpChart-maRenderEvent == EVENT_CLICK) +if (mpChart-maRenderEvent == EVENT_SELECTBAR_UPDEDATE) +{ +MoveToSelectedBar(); +} +else if (mpChart-maRenderEvent == EVENT_CLICK) { MoveToBar(); } @@ -495,7 +530,8 @@ GL3DBarChart::GL3DBarChart( mbBenchMarkMode(false), mnHistoryCounter(0), mnBarsInRow(0), -mbAutoFly(false) +mbAutoFly(false), +mnUpdateBarId(0) { maFPSRenderStartTime.Seconds = maFPSRenderStartTime.Nanosec = 0; maFPSRenderEndTime.Seconds = maFPSRenderEndTime.Nanosec = 0; @@ -573,18 +609,22 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vectorVDataSeries rDataSer { SharedResourceAccess(maCond1, maCond2); osl::MutexGuard aGuard(maMutex); -mnPreSelectBarId = mnSelectBarId; -mnSelectBarId -= 10; -sal_uInt32 nSelectRow = (mnSelectBarId - SHAPE_START_ID) / ID_STEP / (mnBarsInRow + 1); -sal_uInt32 nPreSelectRow = (mnPreSelectBarId - SHAPE_START_ID) / ID_STEP / (mnBarsInRow + 1); -if(nSelectRow != nPreSelectRow) -{ -mnSelectBarId = mnPreSelectBarId; -} -else +if(mnSelectBarId) { -mpRenderer-EndClick(); -mpRenderer-StartClick(mnSelectBarId); +int nSelectBarId = mnSelectBarId; +int nPreSelectBarId = nSelectBarId; +nSelectBarId -= 10; +sal_uInt32 nSelectRow = (nSelectBarId - SHAPE_START_ID) / ID_STEP / (mnBarsInRow + 1); +sal_uInt32 nPreSelectRow = (nPreSelectBarId - SHAPE_START_ID) / ID_STEP / (mnBarsInRow + 1); +if(nSelectRow == nPreSelectRow) +{ +std::mapsal_uInt32, const GL3DBarChart::BarInformation::const_iterator itr = maBarMap.find(nSelectBarId); +if((maRenderEvent == EVENT_CLICK || maRenderEvent == EVENT_SHOW_SELECT || maRenderEvent == EVENT_AUTO_FLY)(itr != maBarMap.end())) +{ +mnUpdateBarId = nSelectBarId; +maRenderEvent = EVENT_SELECTBAR_UPDEDATE; +} +} } mpRenderer-ReleaseShapes(); // Each series of data flows from left to right, and multiple series are diff --git a/chart2/source/view/inc/GL3DBarChart.hxx b/chart2/source/view/inc
[Libreoffice-commits] core.git: 10 commits - chart2/opengl chart2/Package_opengl.mk chart2/source
chart2/Package_opengl.mk |2 chart2/opengl/shape3DFragmentShader.glsl | 111 + chart2/opengl/shape3DVertexShader.glsl | 30 + chart2/source/view/inc/3DChartObjects.hxx | 12 ++ chart2/source/view/inc/GL3DRenderer.hxx| 11 +- chart2/source/view/main/3DChartObjects.cxx | 34 ++ chart2/source/view/main/GL3DRenderer.cxx | 148 +++-- 7 files changed, 254 insertions(+), 94 deletions(-) New commits: commit e0dc3c8a0a69bb44a583b42d6fb823efbc311dc5 Author: xukai xu...@multicorewareinc.com Date: Mon May 5 14:05:08 2014 +0800 add codes to Line::render() Change-Id: I6510f486707b08ea8f611105f40cc4c7e1581a7f diff --git a/chart2/source/view/inc/3DChartObjects.hxx b/chart2/source/view/inc/3DChartObjects.hxx index 54b6a24..b1f8de4 100644 --- a/chart2/source/view/inc/3DChartObjects.hxx +++ b/chart2/source/view/inc/3DChartObjects.hxx @@ -54,6 +54,8 @@ class Line : public Renderable3DObject public: Line( sal_uInt32 nId ); +virtual void render() SAL_OVERRIDE; + private: glm::vec3 maPosBegin; glm::vec3 maPosEnd; @@ -87,7 +89,7 @@ class Camera : public Renderable3DObject { public: Camera(); -virtual void render(); +virtual void render() SAL_OVERRIDE; private: glm::vec3 maPos; glm::vec3 maUp; diff --git a/chart2/source/view/main/3DChartObjects.cxx b/chart2/source/view/main/3DChartObjects.cxx index 38279a3..045107b 100644 --- a/chart2/source/view/main/3DChartObjects.cxx +++ b/chart2/source/view/main/3DChartObjects.cxx @@ -54,6 +54,14 @@ Line::Line(sal_uInt32 nId): { } +void Line::render() +{ +getRender()-AddShapePolygon3DObject(0, true, (sal_Int32)maLineColor.GetColor(), 0, 0); +getRender()-AddPolygon3DObjectPoint(maPosBegin.x, maPosBegin.y, maPosBegin.z); +getRender()-AddPolygon3DObjectPoint(maPosEnd.x, maPosEnd.y, maPosEnd.z); +getRender()-EndAddShapePolygon3DObject(); +} + Text::Text(sal_uInt32 nId): Renderable3DObject(nId) { commit 461aa03c95e3297041de4eec8b3d44da348f60e8 Author: xukai xu...@multicorewareinc.com Date: Mon May 5 13:00:46 2014 +0800 remove the codes of set camera info to render() Change-Id: I9c2aecd5dea617e7cd69c1fc005b6a9ee237f202 diff --git a/chart2/source/view/inc/3DChartObjects.hxx b/chart2/source/view/inc/3DChartObjects.hxx index 1fa9402..54b6a24 100644 --- a/chart2/source/view/inc/3DChartObjects.hxx +++ b/chart2/source/view/inc/3DChartObjects.hxx @@ -87,6 +87,7 @@ class Camera : public Renderable3DObject { public: Camera(); +virtual void render(); private: glm::vec3 maPos; glm::vec3 maUp; diff --git a/chart2/source/view/main/3DChartObjects.cxx b/chart2/source/view/main/3DChartObjects.cxx index 6148f03..38279a3 100644 --- a/chart2/source/view/main/3DChartObjects.cxx +++ b/chart2/source/view/main/3DChartObjects.cxx @@ -70,9 +70,14 @@ Camera::Camera(): maUp(0, 1, 0), maDirection(glm::vec3(0,0,0)-maPos) { +} + +void Camera::render() +{ getRender()-SetCameraInfo(maPos, maDirection, maUp, true); } + namespace temporary { TemporaryContext::TemporaryContext(): commit 4e8a9d669f835cb2f1df3efc9b41d86d51af90d7 Author: xukai xu...@multicorewareinc.com Date: Mon May 5 12:25:42 2014 +0800 add codes to set camera info Change-Id: Id6bac3a8dd46d7994c9e64c9e0c16e8c7ac036ac diff --git a/chart2/source/view/inc/3DChartObjects.hxx b/chart2/source/view/inc/3DChartObjects.hxx index e3165e2..1fa9402 100644 --- a/chart2/source/view/inc/3DChartObjects.hxx +++ b/chart2/source/view/inc/3DChartObjects.hxx @@ -89,6 +89,7 @@ public: Camera(); private: glm::vec3 maPos; +glm::vec3 maUp; glm::vec3 maDirection; }; diff --git a/chart2/source/view/inc/GL3DRenderer.hxx b/chart2/source/view/inc/GL3DRenderer.hxx index b31a5ac..5f66203 100644 --- a/chart2/source/view/inc/GL3DRenderer.hxx +++ b/chart2/source/view/inc/GL3DRenderer.hxx @@ -109,6 +109,7 @@ typedef struct Extrude3DInfo typedef struct CameraInfo { +bool useDefault; glm::vec3 cameraPos; glm::vec3 cameraOrg; glm::vec3 cameraUp; @@ -179,7 +180,7 @@ public: void SetClickPos(Point aMPos); void RenderClickPos(Point aMPos); void SetSize(const Size rSize); - +void SetCameraInfo(glm::vec3 pos, glm::vec3 direction, glm::vec3 up, bool useDefalut); private: void MoveModelf(PosVecf3 trans,PosVecf3 angle,PosVecf3 scale); diff --git a/chart2/source/view/main/3DChartObjects.cxx b/chart2/source/view/main/3DChartObjects.cxx index f7e0eb7..6148f03 100644 --- a/chart2/source/view/main/3DChartObjects.cxx +++ b/chart2/source/view/main/3DChartObjects.cxx @@ -67,8 +67,10 @@ Rectangle::Rectangle(sal_uInt32 nId): Camera::Camera(): Renderable3DObject(0), maPos(10,10,-10), +maUp(0, 1, 0), maDirection(glm::vec3(0,0,0)-maPos) { +getRender()-SetCameraInfo(maPos, maDirection, maUp, true); } namespace temporary { diff --git a/chart2/source
[Libreoffice-commits] core.git: chart2/source
chart2/source/view/inc/GL3DRenderer.hxx | 58 - chart2/source/view/main/GL3DRenderer.cxx | 138 +++ 2 files changed, 127 insertions(+), 69 deletions(-) New commits: commit 489b472d26d8ae080f4ba2c02c473952a006f47c Author: xukai xu...@multicorewareinc.com Date: Tue Apr 29 17:44:16 2014 +0800 Format GL3DRenderer code Add function Dynamic calculation of view matrix Change-Id: I927cf9a8124ddf81830d8fef4508dae8697d7fc6 diff --git a/chart2/source/view/inc/GL3DRenderer.hxx b/chart2/source/view/inc/GL3DRenderer.hxx index 09c904b..cc86bee 100644 --- a/chart2/source/view/inc/GL3DRenderer.hxx +++ b/chart2/source/view/inc/GL3DRenderer.hxx @@ -141,6 +141,17 @@ struct PackedVertex{ }; }; +typedef struct SceneBox +{ +float maxXCoord; +float minXCoord; +float maxYCoord; +float minYCoord; +float maxZCoord; +float minZCoord; +}SceneBox; + + class OpenGL3DRenderer : public IOpenGLInfoProvider { public: @@ -167,34 +178,34 @@ public: double GetTime(); void SetFPS(float fps); void SetClickPos(Point aMPos); -int RenderClickPos(Point aMPos); +void RenderClickPos(Point aMPos); private: -int MoveModelf(PosVecf3 trans, PosVecf3 angle, PosVecf3 scale); +void MoveModelf(PosVecf3 trans,PosVecf3 angle,PosVecf3 scale); void GetFreq(); -int RenderPolygon3DObject(); -int RenderLine3D(Polygon3DInfo polygon); -int RenderPolygon3D(Polygon3DInfo polygon); -int Init3DUniformBlock(); -int Update3DUniformBlock(); -int RenderExtrude3DObject(); -int RenderFPS(float fps); -int RenderText(const ::rtl::OUString string, com::sun::star::awt::Point aPos); -int RenderExtrudeSurface(const Extrude3DInfo extrude3D); -int RenderExtrudeTopSurface(const Extrude3DInfo extrude3D); -int RenderExtrudeMiddleSurface(const Extrude3DInfo extrude3D); -int RenderExtrudeBottomSurface(const Extrude3DInfo extrude3D); -int RenderExtrudeFlatSurface(const Extrude3DInfo extrude3D, int surIndex); -int ProcessUnrenderedShape(); +void RenderPolygon3DObject(); +void RenderLine3D(Polygon3DInfo polygon); +void RenderPolygon3D(Polygon3DInfo polygon); +void Init3DUniformBlock(); +void Update3DUniformBlock(); +void RenderExtrude3DObject(); +void RenderFPS(float fps); +void RenderText(const ::rtl::OUString string, com::sun::star::awt::Point aPos); +void RenderExtrudeSurface(const Extrude3DInfo extrude3D); +void RenderExtrudeTopSurface(const Extrude3DInfo extrude3D); +void RenderExtrudeMiddleSurface(const Extrude3DInfo extrude3D); +void RenderExtrudeBottomSurface(const Extrude3DInfo extrude3D); +void RenderExtrudeFlatSurface(const Extrude3DInfo extrude3D, int surIndex); +void ProcessUnrenderedShape(); glm::vec4 GetColorByIndex(int index); sal_uInt32 GetIndexByColor(sal_uInt32 r, sal_uInt32 g, sal_uInt32 b); -int ProcessPickingBox(); +void ProcessPickingBox(); int ProcessExtrude3DPickingBox(); void RenderCoordinateAxis(); -int AddVertexData(GLuint vertexBuf); -int AddNormalData(GLuint normalBuf); -int AddIndexData(GLuint indexBuf); +void AddVertexData(GLuint vertexBuf); +void AddNormalData(GLuint normalBuf); +void AddIndexData(GLuint indexBuf); bool GetSimilarVertexIndex(PackedVertex packed, std::mapPackedVertex,unsigned short VertexToOutIndex, unsigned short result @@ -207,6 +218,7 @@ private: void CreateActualRoundedCube(float fRadius, int iSubDivY, int iSubDivZ, float width, float height, float depth); int GenerateRoundCornerBar(std::vectorglm::vec3 vertices, std::vectorglm::vec3 normals, float fRadius, int iSubDivY, int iSubDivZ, float width, float height, float depth); +void CreateSceneBoxView(); private: // Projection matrix : default 45 degree Field of View, 4:3 ratio, display range : 0.1 unit - 100 units glm::mat4 m_Projection; @@ -316,6 +328,12 @@ private: //TODO: moggi: kill the following parts // don't add anything below or I will remove it size_t m_iPointNum; + +SceneBox m_SenceBox; + +float m_fViewAngle; + +float m_fHeightWeight; }; } diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index e89ff49..b977654 100644 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -87,8 +87,15 @@ OpenGL3DRenderer::OpenGL3DRenderer(): m_Extrude3DInfo.startIndex[i] = m_RoundBarMesh.iElementStartIndices[i]; m_Extrude3DInfo.size[i] = m_RoundBarMesh.iElementSizes[i]; } - +m_fViewAngle = 30.0f; +m_SenceBox.maxXCoord = -1.0 * FLT_MAX; +m_SenceBox.minXCoord = FLT_MAX; +m_SenceBox.maxYCoord = -1.0 * FLT_MAX; +m_SenceBox.minYCoord = FLT_MAX; +m_SenceBox.maxZCoord = -1.0 * FLT_MAX; +m_SenceBox.minZCoord = FLT_MAX
[Libreoffice-commits] core.git: Branch 'feature/calc-group-interpreter-4' - sc/source
sc/source/core/opencl/formulagroupcl.cxx | 21 sc/source/core/opencl/formulagroupcl_finacial.hxx | 31 sc/source/core/opencl/op_financial.cxx|9 +++ sc/source/core/opencl/op_financial.hxx|1 sc/source/core/opencl/opbase.hxx |6 ++ sc/source/core/opencl/opinlinefun_finacial.cxx| 53 ++ 6 files changed, 89 insertions(+), 32 deletions(-) New commits: commit d3f16e81ffb66d89d3954fd624c1a2e764d62415 Author: Xukai Liu xu...@multicorewareinc.com Date: Thu Oct 31 20:20:37 2013 -0500 GPU Calc: refactor code generation for inlined library routines Refactored two library functions: Round and approxEqual. Generate them only when corresponding Calc spreadsheet functions are used. Change-Id: Ibf532d551ba0d99a117cedd4a0f3397acb5e017d Signed-off-by: I-Jui (Ray) Sung r...@multicorewareinc.com diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx index d1ece4c..ed186b3 100644 --- a/sc/source/core/opencl/formulagroupcl.cxx +++ b/sc/source/core/opencl/formulagroupcl.cxx @@ -823,6 +823,13 @@ public: t = t + mvSubArguments[i]-DumpOpName(); return t; } +virtual void DumpInlineFun(std::setstd::string decls, +std::setstd::string funs) const +{ +mpCodeGen-BinInlineFun(decls,funs); +for (unsigned i = 0; i mvSubArguments.size(); i++) +mvSubArguments[i]-DumpInlineFun(decls,funs); +} private: SubArgumentsType mvSubArguments; boost::scoped_ptrSlidingFunctionBase mpCodeGen; @@ -1181,6 +1188,18 @@ public: // preambles decl publicFunc; decl finacialFunc; +DK-DumpInlineFun(inlineDecl,inlineFun); +for(std::setstd::string::iterator set_iter=inlineDecl.begin(); + set_iter!=inlineDecl.end();set_iter++) +{ +decl*set_iter; +} + +for(std::setstd::string::iterator set_iter=inlineFun.begin(); + set_iter!=inlineFun.end();set_iter++) +{ +decl*set_iter; +} mSyms.DumpSlidingWindowFunctions(decl); mKernelSignature = DK-DumpOpName(); decl __kernel void DynamicKernel mKernelSignature; @@ -1256,6 +1275,8 @@ private: cl_program mpProgram; cl_kernel mpKernel; cl_mem mpResClmem; // Results +std::setstd::string inlineDecl; +std::setstd::string inlineFun; }; DynamicKernel::~DynamicKernel() diff --git a/sc/source/core/opencl/formulagroupcl_finacial.hxx b/sc/source/core/opencl/formulagroupcl_finacial.hxx index a8db8e9..da09168 100644 --- a/sc/source/core/opencl/formulagroupcl_finacial.hxx +++ b/sc/source/core/opencl/formulagroupcl_finacial.hxx @@ -9,38 +9,7 @@ #ifndef SC_OPENCL_FORMULAGROUPCL_FINACIAL_HXX #define SC_OPENCL_FORMULAGROUPCL_FINACIAL_HXX - const char* finacialFunc = -bool approxEqual(double a, double b)\n -{\n -\tif (a == b)\n -\t\treturn true;\n -\tdouble x = a - b;\n -\treturn (x 0.0 ? -x : x) ((a 0.0 ? -a : a) * (1.0 / (16777216.0 * -16777216.0)));\n -}\n -double constant nKorrVal[] = {0, 9e-1, 9e-2, 9e-3, 9e-4, 9e-5, 9e-6, 9e-7, -9e-8,9e-9, 9e-10, 9e-11, 9e-12, 9e-13, 9e-14, 9e-15};\n -constant double SCdEpsilon = 1.0E-7;\n -double Round(double fValue)\n -{\n -\tif (fValue == 0.0)\n -\t\treturn fValue;\n -\tdouble fFac = 0;\n -\tint nExp;\n -\tif (fValue 0.0)\n -\t\tnExp = (floor(log10(fValue)));\n -\telse\n -\t\tnExp = 0;\n -\tint nIndex = 15 - nExp;\n -\tif (nIndex 15)\n -\t\tnIndex = 15;\n -\telse if (nIndex = 1)\n -\t\tnIndex = 0;\n -\tfValue = floor(fValue + 0.5 + nKorrVal[nIndex]);\n -\treturn fValue;\n -}\n -void RateIteration(){\n\tdouble tmp = Round(3.0);\n\treturn;\n}\n double GetRmz( double fZins, double fZzr, double fBw, double fZw, int nF )\n {\n \tdouble fRmz;\n diff --git a/sc/source/core/opencl/op_financial.cxx b/sc/source/core/opencl/op_financial.cxx index 5ae04ff..da4845c 100644 --- a/sc/source/core/opencl/op_financial.cxx +++ b/sc/source/core/opencl/op_financial.cxx @@ -21,6 +21,8 @@ using namespace formula; namespace sc { namespace opencl { +// Definitions of inline functions +#include opinlinefun_finacial.cxx void RRI::GenSlidingWindowFunction( std::stringstream ss, const std::string sSymName, SubArguments vSubArguments) @@ -2513,6 +2515,13 @@ void OpTbillprice::GenSlidingWindowFunction( ss return tmp;\n; ss }\n; } + void RATE::BinInlineFun(std::setstd::string decls, +std::setstd::string funs) +{ +decls.insert(approxEqualDecl);decls.insert(nKorrValDecl); +decls.insert(SCdEpsilonDecl);decls.insert(RoundDecl); +funs.insert(approxEqual);funs.insert(Round); +} void RATE::GenSlidingWindowFunction( std::stringstream ss
[Libreoffice-commits] core.git: sc/source
sc/source/core/opencl/formulagroupcl.cxx | 21 sc/source/core/opencl/formulagroupcl_finacial.hxx | 31 sc/source/core/opencl/op_financial.cxx|9 +++ sc/source/core/opencl/op_financial.hxx|1 sc/source/core/opencl/opbase.hxx |6 ++ sc/source/core/opencl/opinlinefun_finacial.cxx| 53 ++ 6 files changed, 89 insertions(+), 32 deletions(-) New commits: commit 7abfae3622fc952ecac8ebacb1d70650ef773619 Author: Xukai Liu xu...@multicorewareinc.com Date: Thu Oct 31 20:20:37 2013 -0500 GPU Calc: refactor code generation for inlined library routines Refactored two library functions: Round and approxEqual. Generate them only when corresponding Calc spreadsheet functions are used. Change-Id: Ibf532d551ba0d99a117cedd4a0f3397acb5e017d Signed-off-by: I-Jui (Ray) Sung r...@multicorewareinc.com diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx index c40c289..2dfc0cf 100644 --- a/sc/source/core/opencl/formulagroupcl.cxx +++ b/sc/source/core/opencl/formulagroupcl.cxx @@ -823,6 +823,13 @@ public: t = t + mvSubArguments[i]-DumpOpName(); return t; } +virtual void DumpInlineFun(std::setstd::string decls, +std::setstd::string funs) const +{ +mpCodeGen-BinInlineFun(decls,funs); +for (unsigned i = 0; i mvSubArguments.size(); i++) +mvSubArguments[i]-DumpInlineFun(decls,funs); +} private: SubArgumentsType mvSubArguments; boost::scoped_ptrSlidingFunctionBase mpCodeGen; @@ -1181,6 +1188,18 @@ public: // preambles decl publicFunc; decl finacialFunc; +DK-DumpInlineFun(inlineDecl,inlineFun); +for(std::setstd::string::iterator set_iter=inlineDecl.begin(); + set_iter!=inlineDecl.end();set_iter++) +{ +decl*set_iter; +} + +for(std::setstd::string::iterator set_iter=inlineFun.begin(); + set_iter!=inlineFun.end();set_iter++) +{ +decl*set_iter; +} mSyms.DumpSlidingWindowFunctions(decl); mKernelSignature = DK-DumpOpName(); decl __kernel void DynamicKernel mKernelSignature; @@ -1255,6 +1274,8 @@ private: cl_program mpProgram; cl_kernel mpKernel; cl_mem mpResClmem; // Results +std::setstd::string inlineDecl; +std::setstd::string inlineFun; }; DynamicKernel::~DynamicKernel() diff --git a/sc/source/core/opencl/formulagroupcl_finacial.hxx b/sc/source/core/opencl/formulagroupcl_finacial.hxx index a8db8e9..da09168 100644 --- a/sc/source/core/opencl/formulagroupcl_finacial.hxx +++ b/sc/source/core/opencl/formulagroupcl_finacial.hxx @@ -9,38 +9,7 @@ #ifndef SC_OPENCL_FORMULAGROUPCL_FINACIAL_HXX #define SC_OPENCL_FORMULAGROUPCL_FINACIAL_HXX - const char* finacialFunc = -bool approxEqual(double a, double b)\n -{\n -\tif (a == b)\n -\t\treturn true;\n -\tdouble x = a - b;\n -\treturn (x 0.0 ? -x : x) ((a 0.0 ? -a : a) * (1.0 / (16777216.0 * -16777216.0)));\n -}\n -double constant nKorrVal[] = {0, 9e-1, 9e-2, 9e-3, 9e-4, 9e-5, 9e-6, 9e-7, -9e-8,9e-9, 9e-10, 9e-11, 9e-12, 9e-13, 9e-14, 9e-15};\n -constant double SCdEpsilon = 1.0E-7;\n -double Round(double fValue)\n -{\n -\tif (fValue == 0.0)\n -\t\treturn fValue;\n -\tdouble fFac = 0;\n -\tint nExp;\n -\tif (fValue 0.0)\n -\t\tnExp = (floor(log10(fValue)));\n -\telse\n -\t\tnExp = 0;\n -\tint nIndex = 15 - nExp;\n -\tif (nIndex 15)\n -\t\tnIndex = 15;\n -\telse if (nIndex = 1)\n -\t\tnIndex = 0;\n -\tfValue = floor(fValue + 0.5 + nKorrVal[nIndex]);\n -\treturn fValue;\n -}\n -void RateIteration(){\n\tdouble tmp = Round(3.0);\n\treturn;\n}\n double GetRmz( double fZins, double fZzr, double fBw, double fZw, int nF )\n {\n \tdouble fRmz;\n diff --git a/sc/source/core/opencl/op_financial.cxx b/sc/source/core/opencl/op_financial.cxx index 5ae04ff..da4845c 100644 --- a/sc/source/core/opencl/op_financial.cxx +++ b/sc/source/core/opencl/op_financial.cxx @@ -21,6 +21,8 @@ using namespace formula; namespace sc { namespace opencl { +// Definitions of inline functions +#include opinlinefun_finacial.cxx void RRI::GenSlidingWindowFunction( std::stringstream ss, const std::string sSymName, SubArguments vSubArguments) @@ -2513,6 +2515,13 @@ void OpTbillprice::GenSlidingWindowFunction( ss return tmp;\n; ss }\n; } + void RATE::BinInlineFun(std::setstd::string decls, +std::setstd::string funs) +{ +decls.insert(approxEqualDecl);decls.insert(nKorrValDecl); +decls.insert(SCdEpsilonDecl);decls.insert(RoundDecl); +funs.insert(approxEqual);funs.insert(Round); +} void RATE::GenSlidingWindowFunction( std::stringstream ss