[Kst] branches/work/kst/portto4/kst
Peter Kümmel
syntheticpp at gmx.net
Mon Aug 23 09:04:45 CEST 2010
Do you need to pass a SharedPtr? When there is only one thread
you could pass a plain poniter/reference and circumvent this way
the (I assume expensive) synchronization mechanism in the copy
constructor of SharedPtr.
Peter
Am Montag, den 23.08.2010, 06:52 +0200 schrieb Barth Netterfield:
> SVN commit 1166844 by netterfield:
>
> Speedup:
>
> Don't do a qstring keyed hash lookup in the inner loop of drawing images.
>
>
>
> M +0 -17 devel-docs/Kst2Specs/Wishlist
> M +3 -1 src/libkst/matrix.h
> M +5 -3 src/libkstmath/image.cpp
> M +1 -1 src/libkstmath/image.h
>
>
> --- branches/work/kst/portto4/kst/devel-docs/Kst2Specs/Wishlist #1166843:1166844
> @@ -41,25 +41,8 @@
>
> 1.x kst file read compatibility...
>
> -------------
> -
> -DECIDE: absolute or relative file names in kst files?
> - kst1.x uses absolute. This becomes a problem when the directory changes.
> -
> ------------
> -
> -Easier way to specify reversed axis when loading sky images:
> - -can desire to reverse be gleaned from the fits image?
> - -command line option?
> - -new-image (sticky) option?
> -
> ---------
>
> -After the label creation dialog has been applied, attach the label to
> -the mouse, to allow it to be dragged around until placed by a click.
> -
> ----------
> -
> Thread kst2
>
> --------------------
> --- branches/work/kst/portto4/kst/src/libkst/matrix.h #1166843:1166844
> @@ -30,6 +30,9 @@
>
> namespace Kst {
>
> +class Matrix;
> +typedef SharedPtr<Matrix> MatrixPtr;
> +
> class KSTCORE_EXPORT Matrix : public Primitive {
> Q_OBJECT
>
> @@ -185,7 +188,6 @@
>
> };
>
> -typedef SharedPtr<Matrix> MatrixPtr;
> typedef ObjectList<Matrix> MatrixList;
> typedef ObjectMap<Matrix> MatrixMap;
>
> --- branches/work/kst/portto4/kst/src/libkstmath/image.cpp #1166843:1166844
> @@ -144,10 +144,10 @@
> }
>
>
> -QColor Image::getMappedColor(double x, double y) {
> +QColor Image::getMappedColor(MatrixPtr m, double x, double y) {
> bool ok;
>
> - double z = _inputMatrices[THEMATRIX]->value(x, y, &ok);
> + double z = m->value(x, y, &ok);
> if (ok) {
> int index;
> if (_zUpper - _zLower != 0) {
> @@ -526,6 +526,8 @@
>
> // color map
> QColor thisPixel;
> + MatrixPtr m = _inputMatrices.value(THEMATRIX);
> +
> if (image->hasColorMap()) {
> int hXlXDiff = d2i(img_Hx_pix - img_Lx_pix);
> int hYlYDiff = d2i(img_Hy_pix - img_Ly_pix - 1);
> @@ -544,7 +546,7 @@
> } else {
> new_y = (y + 1 + img_Ly_pix - b_Y) / m_Y;
> }
> - thisPixel = image->getMappedColor(new_x, new_y);
> + thisPixel = image->getMappedColor(m, new_x, new_y);
> if (thisPixel.isValid()) {
> scanLine[x] = thisPixel.rgb();
> }
> --- branches/work/kst/portto4/kst/src/libkstmath/image.h #1166843:1166844
> @@ -51,7 +51,7 @@
> virtual QString propertyString() const;
>
> virtual bool getNearestZ(double x, double y, double& z);
> - virtual QColor getMappedColor(double x, double y);
> + virtual QColor getMappedColor(MatrixPtr m, double x, double y);
> virtual void setPalette(const Palette &pal);
> virtual void setUpperThreshold(double z);
> virtual void setLowerThreshold(double z);
> _______________________________________________
> Kst mailing list
> Kst at kde.org
> https://mail.kde.org/mailman/listinfo/kst
More information about the Kst
mailing list