INTEGRATION: CWS cowfixes01 (1.8.12); FILE MERGED

2006/03/21 13:36:25 thb 1.8.12.3: #i63310# Removed silly self-referentiality for the static default objects (causing infinite loops)
2006/03/17 23:16:34 thb 1.8.12.2: #i63310# Moved BxD(Poly)Polygon to cow_wrapper; added makeUnique() to all classes using COW internally (to at least facilitate deliberate unsharing in multi-threaded uses)
2006/03/17 17:41:31 thb 1.8.12.1: #i63310# Added COW to B2DMultiRange (wasn't there before); moved BxDHomMatrix to cow_wrapper; added o3tl build dependency
This commit is contained in:
Oliver Bolte 2006-07-13 08:54:28 +00:00
parent 053fdb6c0d
commit 77ad33de69
2 changed files with 26 additions and 26 deletions

View file

@ -4,9 +4,9 @@
*
* $RCSfile: b2dhommatrix.hxx,v $
*
* $Revision: 1.8 $
* $Revision: 1.9 $
*
* last change: $Author: kz $ $Date: 2005-11-02 13:52:50 $
* last change: $Author: obo $ $Date: 2006-07-13 09:54:16 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@ -40,26 +40,31 @@
#include <sal/types.h>
#endif
#ifndef INCLUDED_O3TL_COW_WRAPPER_HXX
#include <o3tl/cow_wrapper.hxx>
#endif
namespace basegfx
{
// predeclaration
class B2DTuple;
// forward declaration
class Impl2DHomMatrix;
class B2DHomMatrix
{
private:
Impl2DHomMatrix* mpM;
public:
typedef o3tl::cow_wrapper< Impl2DHomMatrix > ImplType;
void implPrepareChange();
private:
ImplType mpImpl;
public:
B2DHomMatrix();
B2DHomMatrix(const B2DHomMatrix& rMat);
~B2DHomMatrix();
/// unshare this matrix with all internally shared instances
void makeUnique();
double get(sal_uInt16 nRow, sal_uInt16 nColumn) const;
void set(sal_uInt16 nRow, sal_uInt16 nColumn, double fValue);

View file

@ -4,9 +4,9 @@
*
* $RCSfile: b3dhommatrix.hxx,v $
*
* $Revision: 1.8 $
* $Revision: 1.9 $
*
* last change: $Author: kz $ $Date: 2005-11-02 13:53:02 $
* last change: $Author: obo $ $Date: 2006-07-13 09:54:28 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@ -40,26 +40,31 @@
#include <sal/types.h>
#endif
#ifndef INCLUDED_O3TL_COW_WRAPPER_HXX
#include <o3tl/cow_wrapper.hxx>
#endif
namespace basegfx
{
// predeclaration
class B3DTuple;
// forward declaration
class Impl3DHomMatrix;
class B3DHomMatrix
{
private:
Impl3DHomMatrix* mpM;
public:
typedef o3tl::cow_wrapper< Impl3DHomMatrix > ImplType;
void implPrepareChange();
private:
ImplType mpImpl;
public:
B3DHomMatrix();
B3DHomMatrix(const B3DHomMatrix& rMat);
~B3DHomMatrix();
/// unshare this matrix with all internally shared instances
void makeUnique();
double get(sal_uInt16 nRow, sal_uInt16 nColumn) const;
void set(sal_uInt16 nRow, sal_uInt16 nColumn, double fValue);
@ -102,16 +107,6 @@ namespace basegfx
void shearYZ(double fSy, double fSz);
void shearXZ(double fSx, double fSz);
// Projection matrices, used for converting between eye and
// clip coordinates
// void frustum(double fLeft = -1.0, double fRight = 1.0,
// double fBottom = -1.0, double fTop = 1.0,
// double fNear = 0.001, double fFar = 1.0);
// void ortho(double fLeft = -1.0, double fRight = 1.0,
// double fBottom = -1.0, double fTop = 1.0,
// double fNear = 0.0, double fFar = 1.0);
// addition, subtraction
B3DHomMatrix& operator+=(const B3DHomMatrix& rMat);
B3DHomMatrix& operator-=(const B3DHomMatrix& rMat);