summaryrefslogtreecommitdiff
path: root/svx/inc/svx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/inc/svx')
-rw-r--r--svx/inc/svx/cube3d.hxx16
-rw-r--r--svx/inc/svx/def3d.hxx7
-rw-r--r--svx/inc/svx/deflt3d.hxx41
-rw-r--r--svx/inc/svx/dlgctl3d.hxx360
-rw-r--r--svx/inc/svx/e3dsceneupdater.hxx77
-rw-r--r--svx/inc/svx/extrud3d.hxx13
-rw-r--r--svx/inc/svx/float3d.hxx7
-rw-r--r--svx/inc/svx/helperhittest3d.hxx113
-rw-r--r--svx/inc/svx/lathe3d.hxx18
-rw-r--r--svx/inc/svx/obj3d.hxx280
-rw-r--r--svx/inc/svx/polygn3d.hxx8
-rw-r--r--svx/inc/svx/scene3d.hxx115
-rw-r--r--svx/inc/svx/sdr/contact/viewcontactofe3d.hxx19
-rw-r--r--svx/inc/svx/sdr/contact/viewcontactofe3dscene.hxx4
-rw-r--r--svx/inc/svx/sdr/contact/viewobjectcontactofgraphic.hxx5
-rw-r--r--svx/inc/svx/sdr/contact/viewobjectcontactofpageobj.hxx6
-rw-r--r--svx/inc/svx/sdr/contact/viewobjectcontactofsdrmediaobj.hxx9
-rw-r--r--svx/inc/svx/sdr/primitive2d/sdrattributecreator.hxx5
-rw-r--r--svx/inc/svx/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx15
-rw-r--r--svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx5
-rw-r--r--svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx7
-rw-r--r--svx/inc/svx/sdr/properties/e3dsceneproperties.hxx6
-rw-r--r--svx/inc/svx/sphere3d.hxx10
-rw-r--r--svx/inc/svx/svdoashp.hxx4
-rw-r--r--svx/inc/svx/svdobj.hxx13
-rw-r--r--svx/inc/svx/svdocapt.hxx16
-rw-r--r--svx/inc/svx/svdocirc.hxx14
-rw-r--r--svx/inc/svx/svdoedge.hxx14
-rw-r--r--svx/inc/svx/svdograf.hxx6
-rw-r--r--svx/inc/svx/svdogrp.hxx4
-rw-r--r--svx/inc/svx/svdomeas.hxx14
-rw-r--r--svx/inc/svx/svdopath.hxx4
-rw-r--r--svx/inc/svx/svdorect.hxx14
-rw-r--r--svx/inc/svx/svdotable.hxx4
-rw-r--r--svx/inc/svx/svdotext.hxx4
-rw-r--r--svx/inc/svx/svdovirt.hxx4
-rw-r--r--svx/inc/svx/svx3ditems.hxx44
-rw-r--r--svx/inc/svx/viewpt3d.hxx9
-rw-r--r--svx/inc/svx/volume3d.hxx53
39 files changed, 490 insertions, 877 deletions
diff --git a/svx/inc/svx/cube3d.hxx b/svx/inc/svx/cube3d.hxx
index 3c32d9f870..b280128fc8 100644
--- a/svx/inc/svx/cube3d.hxx
+++ b/svx/inc/svx/cube3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: cube3d.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -60,12 +60,12 @@ private:
virtual sdr::contact::ViewContact* CreateObjectSpecificViewContact();
// Parameter
- basegfx::B3DPoint aCubePos;
- basegfx::B3DVector aCubeSize;
- UINT16 nSideFlags;
+ basegfx::B3DPoint aCubePos;
+ basegfx::B3DVector aCubeSize;
+ UINT16 nSideFlags;
// BOOLeans
- unsigned bPosIsCenter : 1;
+ unsigned bPosIsCenter : 1;
protected:
void SetDefaultAttributes(E3dDefaultAttributes& rDefault);
@@ -80,12 +80,6 @@ public:
virtual void operator=(const SdrObject&);
- // Geometrieerzeugung
- virtual void CreateGeometry();
-
- // Give out simple line geometry
- virtual basegfx::B3DPolyPolygon Get3DLineGeometry() const;
-
// Lokale Parameter setzen mit Geometrieneuerzeugung
void SetCubePos(const basegfx::B3DPoint& rNew);
const basegfx::B3DPoint& GetCubePos() { return aCubePos; }
diff --git a/svx/inc/svx/def3d.hxx b/svx/inc/svx/def3d.hxx
index 1c167a87be..76f28b5782 100644
--- a/svx/inc/svx/def3d.hxx
+++ b/svx/inc/svx/def3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: def3d.hxx,v $
- * $Revision: 1.3 $
+ * $Revision: 1.3.226.1 $
*
* This file is part of OpenOffice.org.
*
@@ -31,8 +31,6 @@
#ifndef _SVX_DEF3D_HXX
#define _SVX_DEF3D_HXX
-class Vector3D;
-
#ifndef _INC_MATH
#include <math.h>
#endif
@@ -47,9 +45,6 @@ const double EPSILON = 1e-06;
//+++ 3D-Hilfsfunktionen +++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-FASTBOOL Do3DEdgesIntersect(const Vector3D& rV1a, const Vector3D& rV1b,
- const Vector3D& rV2a, const Vector3D& rV2b);
-
enum E3dDragConstraint { E3DDRAG_CONSTR_X = 0x0001,
E3DDRAG_CONSTR_Y = 0x0002,
E3DDRAG_CONSTR_Z = 0x0004,
diff --git a/svx/inc/svx/deflt3d.hxx b/svx/inc/svx/deflt3d.hxx
index 3b3e90c601..244eb81381 100644
--- a/svx/inc/svx/deflt3d.hxx
+++ b/svx/inc/svx/deflt3d.hxx
@@ -31,10 +31,10 @@
#ifndef _E3D_DEFLT3D_HXX
#define _E3D_DEFLT3D_HXX
-#include <goodies/matril3d.hxx>
#include <basegfx/point/b3dpoint.hxx>
#include <basegfx/vector/b3dvector.hxx>
#include "svx/svxdllapi.h"
+#include <tools/color.hxx>
/*************************************************************************
|*
@@ -47,39 +47,34 @@ class SVX_DLLPUBLIC E3dDefaultAttributes
private:
// Compound-Objekt
Color aDefaultAmbientColor;
- B3dMaterial aDefaultBackMaterial;
- BOOL bDefaultCreateNormals ;
- BOOL bDefaultCreateTexture ;
- BOOL bDefaultUseDifferentBackMaterial ;
+ BOOL bDefaultCreateNormals;
+ BOOL bDefaultCreateTexture;
// Cube-Objekt
- basegfx::B3DPoint aDefaultCubePos;
- basegfx::B3DVector aDefaultCubeSize;
+ basegfx::B3DPoint aDefaultCubePos;
+ basegfx::B3DVector aDefaultCubeSize;
UINT16 nDefaultCubeSideFlags;
- BOOL bDefaultCubePosIsCenter ;
+ BOOL bDefaultCubePosIsCenter;
// Sphere-Objekt
- basegfx::B3DPoint aDefaultSphereCenter;
- basegfx::B3DVector aDefaultSphereSize;
+ basegfx::B3DPoint aDefaultSphereCenter;
+ basegfx::B3DVector aDefaultSphereSize;
// Lathe-Objekt
long nDefaultLatheEndAngle;
- BOOL bDefaultLatheSmoothed ;
- BOOL bDefaultLatheSmoothFrontBack ;
- BOOL bDefaultLatheCharacterMode ;
+ BOOL bDefaultLatheSmoothed;
+ BOOL bDefaultLatheSmoothFrontBack;
+ BOOL bDefaultLatheCharacterMode;
BOOL bDefaultLatheCloseFront;
BOOL bDefaultLatheCloseBack;
// Extrude-Objekt
- BOOL bDefaultExtrudeSmoothed ;
- BOOL bDefaultExtrudeSmoothFrontBack ;
- BOOL bDefaultExtrudeCharacterMode ;
+ BOOL bDefaultExtrudeSmoothed;
+ BOOL bDefaultExtrudeSmoothFrontBack;
+ BOOL bDefaultExtrudeCharacterMode;
BOOL bDefaultExtrudeCloseFront;
BOOL bDefaultExtrudeCloseBack;
- // Scene-Objekt
- BOOL bDefaultDither ;
-
public:
// Konstruktor
E3dDefaultAttributes();
@@ -92,14 +87,10 @@ public:
const Color& GetDefaultAmbientColor() { return aDefaultAmbientColor; }
void SetDefaultAmbientColor(const Color& rNew) { aDefaultAmbientColor = rNew; }
- const B3dMaterial& GetDefaultBackMaterial() { return aDefaultBackMaterial; }
- void SetDefaultBackMaterial(const B3dMaterial& rNew) { aDefaultBackMaterial = rNew; }
BOOL GetDefaultCreateNormals() const { return bDefaultCreateNormals; }
void SetDefaultCreateNormals(const BOOL bNew) { bDefaultCreateNormals = bNew; }
BOOL GetDefaultCreateTexture() const { return bDefaultCreateTexture; }
void SetDefaultCreateTexture(const BOOL bNew) { bDefaultCreateTexture = bNew; }
- BOOL GetDefaultUseDifferentBackMaterial() const { return bDefaultUseDifferentBackMaterial; }
- void SetDefaultUseDifferentBackMaterial(const BOOL bNew) { bDefaultUseDifferentBackMaterial = bNew; }
// Cube-Objekt
const basegfx::B3DPoint& GetDefaultCubePos() { return aDefaultCubePos; }
@@ -142,10 +133,6 @@ public:
void SetDefaultExtrudeCloseFront(const BOOL bNew) { bDefaultExtrudeCloseFront = bNew; }
BOOL GetDefaultExtrudeCloseBack() const { return bDefaultExtrudeCloseBack; }
void SetDefaultExtrudeCloseBack(const BOOL bNew) { bDefaultExtrudeCloseBack = bNew; }
-
- // Scene-Objekt
- BOOL GetDefaultDither() const { return bDefaultDither; }
- void SetDefaultDither(const BOOL bNew) { bDefaultDither = bNew; }
};
#endif // _E3D_DEFLT3D_HXX
diff --git a/svx/inc/svx/dlgctl3d.hxx b/svx/inc/svx/dlgctl3d.hxx
index 3b19bab4f4..8b70601dc8 100644
--- a/svx/inc/svx/dlgctl3d.hxx
+++ b/svx/inc/svx/dlgctl3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: dlgctl3d.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.226.1 $
*
* This file is part of OpenOffice.org.
*
@@ -31,320 +31,169 @@
#ifndef _SVX_DLGCTL3D_HXX
#define _SVX_DLGCTL3D_HXX
-// includes --------------------------------------------------------------
-
-#include <tools/poly.hxx>
#include <vcl/ctrl.hxx>
-#include <goodies/b3dgeom.hxx>
-#include <goodies/b3dtrans.hxx>
-#include <goodies/matril3d.hxx>
-#include <goodies/b3dlight.hxx>
#include <vcl/scrbar.hxx>
-
-#ifndef _SV_BUTTON_HXX
#include <vcl/button.hxx>
-#endif
#include <svtools/itemset.hxx>
+#include "svx/svxdllapi.h"
+#include <basegfx/vector/b3dvector.hxx>
+
+//////////////////////////////////////////////////////////////////////////////
class FmFormModel;
class FmFormPage;
class E3dView;
class E3dPolyScene;
class E3dObject;
-class Base3D;
-/*************************************************************************
-|*
-|* Control zur Darstellung einer 3D-Scene
-|*
-\************************************************************************/
+//////////////////////////////////////////////////////////////////////////////
#define PREVIEW_OBJECTTYPE_SPHERE 0x0000
#define PREVIEW_OBJECTTYPE_CUBE 0x0001
-class Svx3DPreviewControl : public Control
-{
-protected:
- FmFormModel* pModel;
- FmFormPage* pFmPage;
- E3dView* p3DView;
- E3dPolyScene* pScene;
- E3dObject* p3DObj;
- UINT16 nObjectType;
-
- void Construct();
-
-public:
- Svx3DPreviewControl( Window* pParent, const ResId& rResId );
- Svx3DPreviewControl( Window* pParent, WinBits nStyle = 0 );
- ~Svx3DPreviewControl();
-
- virtual void Paint( const Rectangle& rRect );
- virtual void MouseButtonDown( const MouseEvent& rMEvt );
- virtual void Resize();
-
- void Reset();
-
- void SetObjectType( UINT16 nType );
- UINT16 GetObjectType() const { return( nObjectType ); }
+//////////////////////////////////////////////////////////////////////////////
- SfxItemSet Get3DAttributes() const;
- void Set3DAttributes( const SfxItemSet& rAttr );
-
- void Set3DObject( const E3dObject* pObj );
-};
-
-/*************************************************************************
-|*
-|* 3D Preview Control
-|*
-\************************************************************************/
-
-// Defines fuer NormalMode
-#define PREVIEW_NORMAL_MODE_OBJECT 0x0000
-#define PREVIEW_NORMAL_MODE_FLAT 0x0001
-#define PREVIEW_NORMAL_MODE_SPHERE 0x0002
-
-// Defines fuer ShadeMode
-#define PREVIEW_SHADEMODE_FLAT 0x0000
-#define PREVIEW_SHADEMODE_PHONG 0x0001
-#define PREVIEW_SHADEMODE_GOURAUD 0x0002
-#define PREVIEW_SHADEMODE_DRAFT 0x0003
-
-class SvxPreviewCtl3D : public Control
+class SVX_DLLPUBLIC Svx3DPreviewControl : public Control
{
protected:
- // Geometrie des Objektes
- B3dGeometry aGeometry;
+ FmFormModel* mpModel;
+ FmFormPage* mpFmPage;
+ E3dView* mp3DView;
+ E3dPolyScene* mpScene;
+ E3dObject* mp3DObj;
+ sal_uInt16 mnObjectType;
- // Kameraset
- B3dCamera aCameraSet;
- double fDistance;
- double fDeviceSize;
-
- // Rotation der Geometrie (bei Cube)
- double fRotateX;
- double fRotateY;
- double fRotateZ;
-
- // Farben des Objektes
- B3dMaterial aObjectMaterial;
-
- // Lichtquellen
- B3dLightGroup aLights;
-
- // Segmentierung, wird bei Kugel verwendet
- UINT16 nHorSegs;
- UINT16 nVerSegs;
-
- // Modus fuer Normalen
- UINT16 nNormalMode;
-
- // Zeichenmodus
- UINT16 nShadeMode;
-
- // Art der Geometrie, Cube oder Sphere
- BOOL bGeometryCube;
+ void Construct();
public:
- SvxPreviewCtl3D( Window* pParent, const ResId& rResId);
- SvxPreviewCtl3D( Window* pParent, WinBits nStyle = 0);
- ~SvxPreviewCtl3D();
+ Svx3DPreviewControl(Window* pParent, const ResId& rResId);
+ Svx3DPreviewControl(Window* pParent, WinBits nStyle = 0);
+ ~Svx3DPreviewControl();
- // Zeichenmethode
virtual void Paint( const Rectangle& rRect );
- void DrawGeometryClip(Base3D* pBase3D);
- virtual void DrawGeometry(Base3D* pBase3D);
-
- // Art der Geometrie setzen
- void SetGeometry(BOOL bGeomCube);
-
- // Rotation setzen
- void SetRotation(double fRotX, double fRotY, double fRotZ);
- void GetRotation(double& rRotX, double& rRotY, double& rRotZ);
-
- // Zugriffsfunktionen Materialien
- void SetMaterial(Color rNew,
- Base3DMaterialValue=Base3DMaterialAmbient);
- Color GetMaterial(Base3DMaterialValue=Base3DMaterialAmbient);
- void SetShininess(UINT16 nNew);
- UINT16 GetShininess();
-
- // Lichtquellen setzen
- void SetLightGroup(B3dLightGroup* pNew=0L);
- B3dLightGroup* GetLightGroup() { return &aLights; }
-
- // View-Einstellungen
- void SetUserDistance(double fNew);
- double GetUserDistance() { return fDistance; }
- void SetDeviceSize(double fNew);
- double GetDeviceSize() { return fDeviceSize; }
-
- // Zugriffsfunktionen Segmentierung
- UINT16 GetHorizontalSegments() { return nHorSegs; }
- UINT16 GetVerticalSegments() { return nVerSegs; }
- void SetHorizontalSegments(UINT16 nNew);
- void SetVerticalSegments(UINT16 nNew);
- void SetSegments(UINT16 nNewHor, UINT16 nNewVer);
-
- // Zugriff Normalenmodus
- UINT16 GetNormalMode() { return nNormalMode; }
- void SetNormalMode(UINT16 nNew);
-
- // Zugriff auf ShadeMode
- UINT16 GetShadeMode() { return nShadeMode; }
- void SetShadeMode(UINT16 nNew);
-
-protected:
-
- // Geometrieerzeugung
- void CreateGeometry();
-
- // Lokale Parameter Initialisieren
- void Init();
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void Resize();
+
+ void Reset();
+ virtual void SetObjectType(sal_uInt16 nType);
+ sal_uInt16 GetObjectType() const { return( mnObjectType ); }
+ SfxItemSet Get3DAttributes() const;
+ virtual void Set3DAttributes(const SfxItemSet& rAttr);
};
-/*************************************************************************
-|*
-|* 3D Light Preview Control
-|*
-\************************************************************************/
+//////////////////////////////////////////////////////////////////////////////
-class SVX_DLLPUBLIC SvxLightPrevievCtl3D : public SvxPreviewCtl3D
+class SVX_DLLPUBLIC Svx3DLightControl : public Svx3DPreviewControl
{
-private:
- // Geometrie eines Lichtobjektes
- B3dGeometry aLightGeometry;
-
- Base3DLightNumber eSelectedLight;
-
- // Werte fuer Rendering
- double fObjectRadius;
- double fDistanceToObject;
- double fScaleSizeSelected;
- double fLampSize;
-
- // Callback bei interaktiven Aenderungen
- Link aChangeCallback;
- Link aSelectionChangeCallback;
-
- // Sichern der Interaktion
- double fSaveActionStartHor;
- double fSaveActionStartVer;
- double fSaveActionStartRotZ;
- Point aActionStartPoint;
-
- // Mindestentfernung fuer Interaktionsstart
- INT32 nInteractionStartDistance;
-
- // Maus-Status
- unsigned bMouseMoved : 1;
- unsigned bGeometrySelected : 1;
+ // Callback for interactive changes
+ Link maUserInteractiveChangeCallback;
+ Link maUserSelectionChangeCallback;
+ Link maChangeCallback;
+ Link maSelectionChangeCallback;
+
+ // lights
+ sal_uInt32 maSelectedLight;
+
+ // extra objects for light control
+ E3dObject* mpExpansionObject;
+ E3dObject* mpLampBottomObject;
+ E3dObject* mpLampShaftObject;
+ std::vector< E3dObject* > maLightObjects;
+
+ // 3d rotations of object
+ double mfRotateX;
+ double mfRotateY;
+ double mfRotateZ;
+
+ // interaction parameters
+ Point maActionStartPoint;
+ sal_Int32 mnInteractionStartDistance;
+ double mfSaveActionStartHor;
+ double mfSaveActionStartVer;
+ double mfSaveActionStartRotZ;
+
+ // bitfield
+ unsigned mbMouseMoved : 1;
+ unsigned mbGeometrySelected : 1;
+
+ void Construct2();
+ void ConstructLightObjects();
+ void AdaptToSelectedLight();
+ void TrySelection(Point aPosPixel);
public:
- SvxLightPrevievCtl3D( Window* pParent, const ResId& rResId);
- SvxLightPrevievCtl3D( Window* pParent, WinBits nStyle = 0);
- ~SvxLightPrevievCtl3D();
-
- void SelectLight(Base3DLightNumber=Base3DLightNone);
- Base3DLightNumber GetSelectedLight() { return eSelectedLight; }
-
- void SelectGeometry();
- BOOL IsGeometrySelected() { return bGeometrySelected; }
-
- void SetObjectRadius(double fNew);
- double GetObjectRadius() { return fObjectRadius; }
-
- void SetDistanceToObject(double fNew);
- double GetDistanceToObject() { return fDistanceToObject; }
+ Svx3DLightControl(Window* pParent, const ResId& rResId);
+ Svx3DLightControl(Window* pParent, WinBits nStyle = 0);
+ ~Svx3DLightControl();
- void SetScaleSizeSelected(double fNew);
- double GetScaleSizeSelected() { return fScaleSizeSelected; }
+ virtual void Paint(const Rectangle& rRect);
+ virtual void MouseButtonDown(const MouseEvent& rMEvt);
+ virtual void Tracking( const TrackingEvent& rTEvt );
+ virtual void Resize();
- void SetLampSize(double fNew);
- double GetLampSize() { return fLampSize; }
+ virtual void SetObjectType(sal_uInt16 nType);
- // Zeichenmethode
- virtual void DrawGeometry(Base3D* pBase3D);
- void DrawLightGeometry(Base3DLightNumber eLightNum, Base3D* pBase3D);
+ // User Callback eintragen
+ void SetUserInteractiveChangeCallback(Link aNew) { maUserInteractiveChangeCallback = aNew; }
+ void SetUserSelectionChangeCallback(Link aNew) { maUserSelectionChangeCallback = aNew; }
+ void SetChangeCallback(Link aNew) { maChangeCallback = aNew; }
+ void SetSelectionChangeCallback(Link aNew) { maSelectionChangeCallback = aNew; }
- // Selektion gueltig
- BOOL IsSelectionValid();
+ // selection checks
+ bool IsSelectionValid();
+ bool IsGeometrySelected() { return mbGeometrySelected; }
- // Selektierte Lampe Position in Polarkoordinaten holen/setzen
- // dabei geht Hor:[0..360.0[ und Ver:[-90..90] Grad
+ // get/set position of selected lamp in polar coordinates, Hor:[0..360.0[ and Ver:[-90..90] degrees
void GetPosition(double& rHor, double& rVer);
void SetPosition(double fHor, double fVer);
- // Callback eintragen
- void SetChangeCallback(Link aNew) { aChangeCallback = aNew; }
- void SetSelectionChangeCallback(Link aNew) { aSelectionChangeCallback = aNew; }
-
- // Interaktion
- virtual void MouseButtonDown( const MouseEvent& rMEvt );
- virtual void Tracking( const TrackingEvent& rTEvt );
-
-protected:
-
- // Geometrieerzeugung Lampe
- void CreateLightGeometry();
+ // get/set rotation of 3D object
+ void SetRotation(double fRotX, double fRotY, double fRotZ);
+ void GetRotation(double& rRotX, double& rRotY, double& rRotZ);
- // Selektion einer Lampe
- void TrySelection(Point aPosPixel);
+ void SelectLight(sal_uInt32 nLightNumber);
+ virtual void Set3DAttributes(const SfxItemSet& rAttr);
+ sal_uInt32 GetSelectedLight() { return maSelectedLight; }
- // Lokale Parameter Initialisieren
- void Init();
+ // light data access
+ bool GetLightOnOff(sal_uInt32 nNum) const;
+ Color GetLightColor(sal_uInt32 nNum) const;
+ basegfx::B3DVector GetLightDirection(sal_uInt32 nNum) const;
};
-/*************************************************************************
-|*
-|* 3D Light Control
-|*
-\************************************************************************/
+//////////////////////////////////////////////////////////////////////////////
class SVX_DLLPUBLIC SvxLightCtl3D : public Control
{
private:
- // Lokale Controls
- SvxLightPrevievCtl3D aLightControl;
- ScrollBar aHorScroller;
- ScrollBar aVerScroller;
- PushButton aSwitcher;
- basegfx::B3DVector aVector;
-
-// Callback bei interaktiven Aenderungen
- Link aUserInteractiveChangeCallback;
- Link aUserSelectionChangeCallback;
+ // local controls
+ Svx3DLightControl maLightControl;
+ ScrollBar maHorScroller;
+ ScrollBar maVerScroller;
+ PushButton maSwitcher;
- // Flags
- unsigned bVectorValid : 1;
- unsigned bSphereUsed : 1;
+ // Callback bei interaktiven Aenderungen
+ Link maUserInteractiveChangeCallback;
+ Link maUserSelectionChangeCallback;
public:
SvxLightCtl3D( Window* pParent, const ResId& rResId);
SvxLightCtl3D( Window* pParent, WinBits nStyle = 0);
~SvxLightCtl3D();
- // Altes Interface
- void SetVector(const basegfx::B3DVector& rNew);
- const basegfx::B3DVector& GetVector();
- BOOL GetVectorValid() { return bVectorValid; }
-
// Reagiere auf Groessenaenderungen
- virtual void Resize();
+ virtual void Resize();
void NewLayout();
// Selektion auf Gueltigkeit pruefen
void CheckSelection();
// Um weitere Einstellungen nach Aussen zu bringen...
- SvxLightPrevievCtl3D& GetPreviewControl() { return aLightControl; }
+ Svx3DLightControl& GetSvx3DLightControl() { return maLightControl; }
// User Callback eintragen
- void SetUserInteractiveChangeCallback(Link aNew)
- { aUserInteractiveChangeCallback = aNew; }
- void SetUserSelectionChangeCallback(Link aNew)
- { aUserSelectionChangeCallback = aNew; }
+ void SetUserInteractiveChangeCallback(Link aNew) { maUserInteractiveChangeCallback = aNew; }
+ void SetUserSelectionChangeCallback(Link aNew) { maUserSelectionChangeCallback = aNew; }
virtual void KeyInput( const KeyEvent& rKEvt );
virtual void GetFocus();
@@ -363,6 +212,7 @@ protected:
void move( double fDeltaHor, double fDeltaVer );
};
-
#endif // _SCH_DLGCTL3D_HXX
+//////////////////////////////////////////////////////////////////////////////
+// eof
diff --git a/svx/inc/svx/e3dsceneupdater.hxx b/svx/inc/svx/e3dsceneupdater.hxx
new file mode 100644
index 0000000000..ecc413a47e
--- /dev/null
+++ b/svx/inc/svx/e3dsceneupdater.hxx
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: e3dsceneupdater.hxx,v $
+ * $Revision: 1.1.2.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _E3D_SCENEUPDATER_HXX
+#define _E3D_SCENEUPDATER_HXX
+
+#include <svx/svxdllapi.h>
+
+//////////////////////////////////////////////////////////////////////////////
+// predeclarations
+
+class SdrObject;
+class E3dScene;
+namespace drawinglayer { namespace geometry {
+ class ViewInformation3D;
+}}
+
+//////////////////////////////////////////////////////////////////////////////
+// This class is a helper to encapsulate 3D object changes which shall change the
+// scene's 2D geometry. E.g. when moving one 3D object in a scene, the visualisation
+// would not change since the scene's 2D attributes are defined by it's 2D object
+// transformation and the changed content would be projected to the same 2D bounds
+// as before. To reflect the fact that the 2D positions may 'change' for the user's
+// imagination, it is necessary to calculate a new 2D object transformation of the scene
+// (the SnapRect) using the old 3D transformation stack and the eventually changed
+// 3D content and tu use it. This is only wanted if changes to the scene's
+// content are intended to change the scene's 2D geometry attributes
+
+class SVX_DLLPUBLIC E3DModifySceneSnapRectUpdater
+{
+ // the scene which may be changed. This gets set to the outmost scene
+ // of the to-be-changed 3D object when the scene has a 3d transformation
+ // stack at construction time. In all other cases it's set to zero and
+ // no action needs to be taken
+ E3dScene* mpScene;
+
+ // the 3d transformation stack at the time of construction, valid when
+ // mpScene is not zero
+ drawinglayer::geometry::ViewInformation3D* mpViewInformation3D;
+
+public:
+ // the constructor evaluates and sets the members at construction time
+ E3DModifySceneSnapRectUpdater(const SdrObject* pObject);
+
+ // the destructor will take action if mpScene is not zero and modify the
+ // 2D geomeztry of the target scene
+ ~E3DModifySceneSnapRectUpdater();
+};
+
+#endif // _E3D_SCENEUPDATER_HXX
diff --git a/svx/inc/svx/extrud3d.hxx b/svx/inc/svx/extrud3d.hxx
index 41f91fc5ad..4d5d62e145 100644
--- a/svx/inc/svx/extrud3d.hxx
+++ b/svx/inc/svx/extrud3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: extrud3d.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -54,13 +54,8 @@ private:
// Geometrie, die dieses Objekt bestimmt
basegfx::B2DPolyPolygon maExtrudePolygon;
- // #78972#
- basegfx::B3DPolyPolygon maLinePolyPolygon;
-
protected:
void SetDefaultAttributes(E3dDefaultAttributes& rDefault);
- basegfx::B3DPolyPolygon GetFrontSide();
- basegfx::B3DPolyPolygon GetBackSide(const basegfx::B3DPolyPolygon& rFrontSide);
public:
TYPEINFO();
@@ -108,12 +103,6 @@ public:
virtual void TakeObjNameSingul(String& rName) const;
virtual void TakeObjNamePlural(String& rName) const;
- // Geometrieerzeugung
- virtual void CreateGeometry();
-
- // Give out simple line geometry
- virtual basegfx::B3DPolyPolygon Get3DLineGeometry() const;
-
// Lokale Parameter setzen/lesen mit Geometrieneuerzeugung
void SetExtrudePolygon(const basegfx::B2DPolyPolygon &rNew);
const basegfx::B2DPolyPolygon &GetExtrudePolygon() { return maExtrudePolygon; }
diff --git a/svx/inc/svx/float3d.hxx b/svx/inc/svx/float3d.hxx
index 99941f4303..bf7d49545f 100644
--- a/svx/inc/svx/float3d.hxx
+++ b/svx/inc/svx/float3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: float3d.hxx,v $
- * $Revision: 1.3 $
+ * $Revision: 1.3.226.1 $
*
* This file is part of OpenOffice.org.
*
@@ -61,8 +61,6 @@ enum ViewType3D
};
class SdrModel;
-class B3dLightGroup;
-
class FmFormModel;
class FmFormPage;
class VirtualDevice;
@@ -201,10 +199,9 @@ private:
ImageButton aBtnLatheObject;
ImageButton aBtnPerspective;
Svx3DPreviewControl aCtlPreview;
- SvxLightCtl3D aCtlLightPreview; // <-- Probleme mit Select/Change-Hdl, wenn ueberladen
+ SvxLightCtl3D aCtlLightPreview;
// der Rest ...
- B3dLightGroup* pLightGroup;
Image aImgLightOn;
Image aImgLightOff;
BOOL bUpdate;
diff --git a/svx/inc/svx/helperhittest3d.hxx b/svx/inc/svx/helperhittest3d.hxx
new file mode 100644
index 0000000000..8561618d57
--- /dev/null
+++ b/svx/inc/svx/helperhittest3d.hxx
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: helperhittest3d.hxx,v $
+ * $Revision: 1.1.2.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_SVX_HELPERHITTEST_HXX
+#define INCLUDED_SVX_HELPERHITTEST_HXX
+
+#include "svx/svxdllapi.h"
+#include <sal/types.h>
+#include <vector>
+
+//////////////////////////////////////////////////////////////////////////////
+// predefines
+
+namespace basegfx {
+ class B2DPoint;
+}
+
+namespace drawinglayer { namespace geometry {
+ class ViewInformation3D;
+}}
+
+class E3dCompoundObject;
+class E3dScene;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/** support for getting a ViewInformation3D for a given CompoudObject3D
+ with correct ObjectTransformation filled out
+
+ @param o_rViewInformation3D
+ The ViewInformation3D created which will be overwritten
+
+ @param rCandidate
+ The E3dCompoundObject for which the ViewInformation3D shall be
+ prepared
+
+ @return
+ A pointer to the found and used root scene. This is also a hint
+ if the operation succeeded or not, since when object has no root
+ scene (is not inserted to a model), an empty ViewInformation3D
+ will be used
+*/
+E3dScene* fillViewInformation3DForCompoundObject(
+ drawinglayer::geometry::ViewInformation3D& o_rViewInformation3D,
+ const E3dCompoundObject& rCandidate);
+
+/** support for getting all from a 2d position hit objects in a 3d scene
+ in a depth sorted array
+
+ @param rPoint
+ 2D Point in view coordinates
+
+ @param rScene
+ The 3D Scene for HitTest
+
+ @param o_rResult
+ Output parameter which contains all hit 3D objects inside rScene. This
+ vector will be changed in any case. If it's empty, no hit exists. If it's
+ not empty, the first object is the object closest to the viewer
+
+*/
+SVX_DLLPUBLIC void getAllHit3DObjectsSortedFrontToBack(
+ const basegfx::B2DPoint& rPoint,
+ const E3dScene& rScene,
+ ::std::vector< const E3dCompoundObject* >& o_rResult);
+
+/** support for checking if the single given 3d object is hit at position
+
+ @param rPoint
+ 2D Point in view coordinates
+
+ @param rCandidate
+ The 3D Object which needs checking
+
+ @return
+ true if hit, false if not
+*/
+bool checkHitSingle3DObject(
+ const basegfx::B2DPoint& rPoint,
+ const E3dCompoundObject& rCandidate);
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif // INCLUDED_SVX_HELPERHITTEST_HXX
+
+// eof
diff --git a/svx/inc/svx/lathe3d.hxx b/svx/inc/svx/lathe3d.hxx
index 0a445aa01a..c87e6f1983 100644
--- a/svx/inc/svx/lathe3d.hxx
+++ b/svx/inc/svx/lathe3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: lathe3d.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -32,10 +32,6 @@
#define _E3D_LATHE3D_HXX
#include <svx/obj3d.hxx>
-
-//#ifndef _E3D_POLY3D_HXX
-//#include <svx/poly3d.hxx>
-//#endif
#include "svx/svxdllapi.h"
/*************************************************************************
@@ -60,15 +56,9 @@ private:
enum { LATHE_PART_STD = 1, LATHE_PART_COVER = 2 };
basegfx::B2DPolyPolygon maPolyPoly2D;
- // #78972#
- basegfx::B3DPolyPolygon maLinePolyPolygon;
-
protected:
void SetDefaultAttributes(E3dDefaultAttributes& rDefault);
- basegfx::B2DPolyPolygon CreateLathePolyPoly(const basegfx::B2DPolyPolygon& rPolyPoly2D, sal_uInt32 nVSegs);
- basegfx::B2DPolygon CreateLathePoly(const basegfx::B2DPolygon& rPoly2D, sal_uInt32 nVSegs);
-
public:
TYPEINFO();
E3dLatheObj(E3dDefaultAttributes& rDefault, const basegfx::B2DPolyPolygon rPoly2D);
@@ -121,12 +111,6 @@ private:
virtual SdrObject* DoConvertToPolyObj(BOOL bBezier) const;
- // Geometrieerzeugung
- virtual void CreateGeometry();
-
- // Give out simple line geometry
- virtual basegfx::B3DPolyPolygon Get3DLineGeometry() const;
-
// TakeObjName...() ist fuer die Anzeige in der UI, z.B. "3 Rahmen selektiert".
virtual void TakeObjNameSingul(String& rName) const;
virtual void TakeObjNamePlural(String& rName) const;
diff --git a/svx/inc/svx/obj3d.hxx b/svx/inc/svx/obj3d.hxx
index 119e29518a..20727b0d87 100644
--- a/svx/inc/svx/obj3d.hxx
+++ b/svx/inc/svx/obj3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: obj3d.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -34,18 +34,10 @@
#include <svx/svdoattr.hxx>
#include <svx/svdobj.hxx>
#include <svx/volume3d.hxx>
-
-#ifndef _DEF3D_HXX
#include <svx/def3d.hxx>
-#endif
#include <svx/svdpage.hxx>
#include <svx/deflt3d.hxx>
#include <vcl/bitmap.hxx>
-#include <goodies/b3dgeom.hxx>
-#include <goodies/matril3d.hxx>
-#include <goodies/b3dtex.hxx>
-#include <goodies/b3dlight.hxx>
-#include <goodies/base3d.hxx>
#include <svx/svx3ditems.hxx>
#include <svx/xflclit.hxx>
#include <svtools/itemset.hxx>
@@ -63,21 +55,16 @@ class SfxPoolItem;
class Viewport3D;
class E3dScene;
class E3dPolyScene;
-class Base3D;
-namespace basegfx { class B3DPolyPolygon; }
-namespace sdr
-{
- namespace properties
- {
- class BaseProperties;
- class E3dProperties;
- class E3dCompoundProperties;
- class E3dExtrudeProperties;
- class E3dLatheProperties;
- class E3dSphereProperties;
- } // end of namespace properties
-} // end of namespace sdr
+namespace basegfx { class B3DPolyPolygon; }
+namespace sdr { namespace properties {
+ class BaseProperties;
+ class E3dProperties;
+ class E3dCompoundProperties;
+ class E3dExtrudeProperties;
+ class E3dLatheProperties;
+ class E3dSphereProperties;
+}}
/*************************************************************************
|*
@@ -88,8 +75,8 @@ namespace sdr
class E3DObjGeoData : public SdrObjGeoData
{
public:
- Volume3D aLocalBoundVol; // umschliessendes Volumen des Objekts
- basegfx::B3DHomMatrix aTfMatrix; // lokale Transformation
+ basegfx::B3DRange maLocalBoundVol; // umschliessendes Volumen des Objekts
+ basegfx::B3DHomMatrix maTransformation; // lokale Transformation
E3DObjGeoData() {}
};
@@ -104,12 +91,12 @@ class E3dObjList : public SdrObjList
{
public:
TYPEINFO();
- E3dObjList(SdrModel* pNewModel, SdrPage* pNewPage, E3dObjList* pNewUpList=NULL);
+ E3dObjList(SdrModel* pNewModel = 0, SdrPage* pNewPage = 0, E3dObjList* pNewUpList = 0);
E3dObjList(const E3dObjList& rSrcList);
virtual ~E3dObjList();
- virtual void NbcInsertObject(SdrObject* pObj, ULONG nPos=CONTAINER_APPEND,
- const SdrInsertReason* pReason=NULL);
+ virtual void NbcInsertObject(SdrObject* pObj, ULONG nPos=CONTAINER_APPEND, const SdrInsertReason* pReason=NULL);
+ virtual void InsertObject(SdrObject* pObj, ULONG nPos=CONTAINER_APPEND, const SdrInsertReason* pReason=NULL);
virtual SdrObject* NbcRemoveObject(ULONG nObjNum);
virtual SdrObject* RemoveObject(ULONG nObjNum);
};
@@ -132,28 +119,24 @@ class SVX_DLLPUBLIC E3dObject : public SdrAttrObj
friend class E3dDragMethod;
protected:
- E3dObjList* pSub; // Subliste (Childobjekte)
+ E3dObjList maSubList; // Subliste (Childobjekte)
- Volume3D aBoundVol; // umschliessendes Volumen mit allen Childs
- Volume3D aLocalBoundVol; // umschliessendes Volumen des Objekts
- basegfx::B3DHomMatrix aTfMatrix; // lokale Transformation
- basegfx::B3DHomMatrix aFullTfMatrix; // globale Transformation (inkl. Parents)
+ basegfx::B3DRange maLocalBoundVol; // umschliessendes Volumen des Objekts (aus geometrieerzeugung)
+ basegfx::B3DHomMatrix maTransformation; // lokale Transformation
+ basegfx::B3DHomMatrix maFullTransform; // globale Transformation (inkl. Parents)
// Flags
- unsigned bTfHasChanged : 1;
- unsigned bBoundVolValid : 1;
- unsigned bIsSelected : 1;
+ unsigned mbTfHasChanged : 1;
+ unsigned mbIsSelected : 1;
public:
- virtual void SetBoundVolInvalid();
+ void SetBoundVolInvalid();
protected:
- virtual void SetTransformChanged();
+ void SetTransformChanged();
virtual void NewObjectInserted(const E3dObject* p3DObj);
- virtual void StructureChanged(const E3dObject* p3DObj);
- virtual void RecalcBoundVolume();
-
- basegfx::B2DPolyPolygon ImpCreateWireframePoly() const;
+ virtual void StructureChanged();
+ basegfx::B3DRange RecalcBoundVolume() const;
protected:
// E3dObject is only a helper class (for E3DScene and E3DCompoundObject)
@@ -181,14 +164,8 @@ public:
virtual void SetModel(SdrModel* pNewModel);
virtual void NbcMove(const Size& rSize);
virtual void NbcResize(const Point& rRef, const Fraction& xFact, const Fraction& yFact);
-
virtual SdrObjList* GetSubList() const;
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
- virtual sal_uInt32 GetHdlCount() const;
- virtual void AddToHdlList(SdrHdlList& rHdlList) const;
- virtual FASTBOOL HasSpecialDrag() const;
-
// 3D-Objekt in die Gruppe einfuegen; Eigentumsuebergang!
virtual void Insert3DObj(E3dObject* p3DObj);
void Remove3DObj(E3dObject* p3DObj);
@@ -196,56 +173,24 @@ public:
E3dObject* GetParentObj() const;
virtual E3dScene* GetScene() const;
- const Volume3D& GetLocalBoundVolume() { return aLocalBoundVol; }
- virtual const Volume3D& GetBoundVolume() const;
- basegfx::B3DPoint GetCenter();
+ const basegfx::B3DRange& GetBoundVolume() const;
+ void InvalidateBoundVolume();
// komplette Transformation inklusive aller Parents berechnen
const basegfx::B3DHomMatrix& GetFullTransform() const;
// Transformationsmatrix abfragen bzw. (zurueck)setzen
- virtual const basegfx::B3DHomMatrix& GetTransform() const;
+ const basegfx::B3DHomMatrix& GetTransform() const;
virtual void NbcSetTransform(const basegfx::B3DHomMatrix& rMatrix);
- virtual void NbcResetTransform();
virtual void SetTransform(const basegfx::B3DHomMatrix& rMatrix);
- virtual void ResetTransform();
-
- // Translation
- virtual void NbcTranslate(const basegfx::B3DVector& rTrans);
- virtual void Translate(const basegfx::B3DVector& rTrans);
- // Skalierung
- virtual void NbcScaleX (double fSx);
- virtual void NbcScaleY (double fSy);
- virtual void NbcScaleZ (double fSz);
- virtual void NbcScale (double fSx, double fSy, double fSz);
- virtual void NbcScale (double fS);
-
- virtual void ScaleX (double fSx);
- virtual void ScaleY (double fSy);
- virtual void ScaleZ (double fSz);
- virtual void Scale (double fSx, double fSy, double fSz);
- virtual void Scale (double fS);
-
- // Rotation mit Winkel in Radiant
- virtual void NbcRotateX(double fAng);
- virtual void NbcRotateY(double fAng);
- virtual void NbcRotateZ(double fAng);
-
- virtual void RotateX(double fAng);
- virtual void RotateY(double fAng);
- virtual void RotateZ(double fAng);
// [FG] 2D-Rotationen, werden hier als Rotationen um die Z-Achse, die in den Bildschirm zeigt,
// implementiert plus eine Verschiebung der Scene. Dies bedeutet auch die Scene (E3dScene)
// muss diese Routine in der Klasse als virtual definieren.
virtual void NbcRotate(const Point& rRef, long nWink, double sn, double cs);
- // Transformation auf die Koordinaten (nicht auf die lokale Matrix)
- // eines Objekts und seiner Childs anwenden; Objekte, die eigene
- // Koordinaten speichern, muessen diese Methode implementieren
- // Wireframe-Darstellung des Objekts erzeugen und die Linien als
- // Punkt-Paare in rPoly3D ablegen
- void CreateWireframe(basegfx::B3DPolygon& rWirePoly, const basegfx::B3DHomMatrix* pTf = 0L) const;
+ // get wireframe polygon for local object. No transform is applied.
+ basegfx::B3DPolyPolygon CreateWireframe() const;
// TakeObjName...() ist fuer die Anzeige in der UI, z.B. "3 Rahmen selektiert".
virtual void TakeObjNameSingul(String& rName) const;
@@ -258,8 +203,8 @@ public:
virtual void RestGeoData(const SdrObjGeoData& rGeo);
// Selektion Setzen/Lesen
- BOOL GetSelected() const { return bIsSelected; }
- void SetSelected(BOOL bNew);
+ bool GetSelected() const { return mbIsSelected; }
+ void SetSelected(bool bNew);
// Aufbrechen
virtual BOOL IsBreakObjPossible();
@@ -286,129 +231,15 @@ class SVX_DLLPUBLIC E3dCompoundObject : public E3dObject
friend class sdr::properties::E3dLatheProperties;
friend class sdr::properties::E3dSphereProperties;
- // for access from E3dCompoundProperties only
- void InvalidateGeometry() { bGeometryValid = sal_False; }
-
protected:
- // Die Darstellungsgeometrie dieses Objektes
- B3dGeometry aDisplayGeometry;
-
// Material des Objektes
Color aMaterialAmbientColor;
- B3dMaterial aBackMaterial;
// Attribute zur Geometrieerzeugung
unsigned bCreateNormals : 1;
unsigned bCreateTexture : 1;
- // Wird zwischen Vorder- und Hintergrundmaterial unterschieden
- unsigned bUseDifferentBackMaterial : 1;
-
- // Geometrie gueltig?
- unsigned bGeometryValid : 1;
-
- // THB: Temporary fix for SJ's flipping problem
- // TODO: Clarify with AW
- unsigned bFullTfIsPositive : 1;
-
protected:
- // Hilfsfunktionen zur Geometrieerzeugung
- basegfx::B3DPolyPolygon ImpGrowPoly(
- const basegfx::B3DPolyPolygon& rPolyPolyGrow,
- const basegfx::B3DPolyPolygon& rPolyPolyNormals,
- double fFactor);
- basegfx::B2VectorOrientation ImpGetOrientationInPoint(
- const basegfx::B3DPolygon& rPolygon,
- sal_uInt32 nIndex);
- basegfx::B3DPolyPolygon ImpCorrectGrownPoly(
- const basegfx::B3DPolyPolygon& aToBeCorrected,
- const basegfx::B3DPolyPolygon& aOriginal);
-
- basegfx::B3DPolyPolygon ImpScalePoly(
- const basegfx::B3DPolyPolygon& rPolyPolyScale,
- double fFactor);
-
- void ImpCreateFront(
- const basegfx::B3DPolyPolygon& rPolyPoly3D,
- const basegfx::B3DPolyPolygon& rFrontNormals,
- BOOL bCreateNormals = TRUE,
- BOOL bCreateTexture = TRUE);
- void ImpCreateBack(
- const basegfx::B3DPolyPolygon& rPolyPoly3D,
- const basegfx::B3DPolyPolygon& rBackNormals,
- BOOL bCreateNormals = TRUE,
- BOOL bCreateTexture = TRUE);
-
- basegfx::B3DPolyPolygon ImpCreateByPattern(const basegfx::B3DPolyPolygon& rPattern);
- basegfx::B3DPolyPolygon ImpAddFrontNormals(
- const basegfx::B3DPolyPolygon& rNormalsFront,
- const basegfx::B3DPoint& rOffset);
- basegfx::B3DPolyPolygon ImpAddBackNormals(
- const basegfx::B3DPolyPolygon& rNormalsBack,
- const basegfx::B3DPoint& rOffset);
-
- basegfx::B3DPolyPolygon ImpAddInBetweenNormals(
- const basegfx::B3DPolyPolygon& rPolyPolyFront,
- const basegfx::B3DPolyPolygon& rPolyPolyBack,
- const basegfx::B3DPolyPolygon& rNormals,
- BOOL bSmoothed = TRUE);
- void ImpCreateInBetween(
- const basegfx::B3DPolyPolygon& rPolyPolyFront,
- const basegfx::B3DPolyPolygon& rPolyPolyBack,
- const basegfx::B3DPolyPolygon& rFrontNormals,
- const basegfx::B3DPolyPolygon& rBackNormals,
- BOOL bCreateNormals = TRUE,
- double fSurroundFactor=1.0,
- double fTextureStart=0.0,
- double fTextureDepth=1.0,
- BOOL bRotateTexture90=FALSE);
-
- // Geometrieerzeugung
- void AddGeometry(
- const basegfx::B3DPolyPolygon& rPolyPolygon,
- BOOL bHintIsComplex=TRUE,
- BOOL bOutline=FALSE);
- void AddGeometry(
- const basegfx::B3DPolyPolygon& rPolyPolygon,
- const basegfx::B3DPolyPolygon& rPolyPolygonNormal,
- BOOL bHintIsComplex=TRUE,
- BOOL bOutline=FALSE);
- void AddGeometry(
- const basegfx::B3DPolyPolygon& rPolyPolygon,
- const basegfx::B3DPolyPolygon& rPolyPolygonNormal,
- const basegfx::B2DPolyPolygon& rPolyPolygonTexture,
- BOOL bHintIsComplex=TRUE,
- BOOL bOutline=FALSE);
- void StartCreateGeometry();
-
- // Segmenterzeugung
- void ImpCreateSegment(
- const basegfx::B3DPolyPolygon& rFront, // vorderes Polygon
- const basegfx::B3DPolyPolygon& rBack, // hinteres Polygon
- const basegfx::B3DPolyPolygon* pPrev = 0L, // smooth uebergang zu Vorgaenger
- const basegfx::B3DPolyPolygon* pNext = 0L, // smooth uebergang zu Nachfolger
- BOOL bCreateFront = TRUE, // vorderen Deckel erzeugen
- BOOL bCreateBack = TRUE, // hinteren Deckel erzeugen
- double fPercentDiag = 0.05, // Anteil des Deckels an der Tiefe
- BOOL bSmoothLeft = TRUE, // Glaetten der umlaufenden Normalen links
- BOOL bSmoothRight = TRUE, // Glaetten der umlaufenden Normalen rechts
- BOOL bSmoothFrontBack = FALSE, // Glaetten der Abschlussflaechen
- double fSurroundFactor = 1.0, // Wertebereich der Texturkoordinaten im Umlauf
- double fTextureStart = 0.0, // TexCoor ueber Extrude-Tiefe
- double fTextureDepth = 1.0, // TexCoor ueber Extrude-Tiefe
- BOOL bCreateTexture = TRUE,
- BOOL bCreateNormals = TRUE,
- BOOL bCharacterExtrude = FALSE, // FALSE=exakt, TRUE=ohne Ueberschneidungen
- BOOL bRotateTexture90 = FALSE, // Textur der Seitenflaechen um 90 Grad kippen
- // #i28528#
- basegfx::B3DPolyPolygon* pLineGeometryFront = 0L, // For creation of line geometry front parts
- basegfx::B3DPolyPolygon* pLineGeometryBack = 0L, // For creation of line geometry back parts
- basegfx::B3DPolyPolygon* pLineGeometry = 0L // For creation of line geometry in-betweens
- );
-
- // #i28528#
- basegfx::B3DPolyPolygon ImpCompleteLinePolygon(const basegfx::B3DPolyPolygon& rLinePolyPoly, sal_uInt32 nPolysPerRun, sal_Bool bClosed);
-
void SetDefaultAttributes(E3dDefaultAttributes& rDefault);
// convert given basegfx::B3DPolyPolygon to screen coor
@@ -421,6 +252,11 @@ public :
E3dCompoundObject(E3dDefaultAttributes& rDefault);
virtual ~E3dCompoundObject();
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
+ virtual sal_uInt32 GetHdlCount() const;
+ virtual void AddToHdlList(SdrHdlList& rHdlList) const;
+ virtual FASTBOOL HasSpecialDrag() const;
+
// DoubleSided: TRUE/FALSE
BOOL GetDoubleSided() const
{ return ((const Svx3DDoubleSidedItem&)GetObjectItemSet().Get(SDRATTR_3DOBJ_DOUBLE_SIDED)).GetValue(); }
@@ -461,14 +297,6 @@ public :
sal_uInt16 GetMaterialSpecularIntensity() const
{ return ((const Svx3DMaterialSpecularIntensityItem&)GetObjectItemSet().Get(SDRATTR_3DOBJ_MAT_SPECULAR_INTENSITY)).GetValue(); }
- // TextureKind: 1 == Base3DTextureLuminance, 2 == Base3DTextureIntensity, 3 == Base3DTextureColor
- Base3DTextureKind GetTextureKind() const
- { return (Base3DTextureKind)((const Svx3DTextureKindItem&)GetObjectItemSet().Get(SDRATTR_3DOBJ_TEXTURE_KIND)).GetValue(); }
-
- // TextureMode: 1 == Base3DTextureReplace, 2 == Base3DTextureModulate, 3 == Base3DTextureBlend
- Base3DTextureMode GetTextureMode() const
- { return (Base3DTextureMode)((const Svx3DTextureModeItem&)GetObjectItemSet().Get(SDRATTR_3DOBJ_TEXTURE_MODE)).GetValue(); }
-
// TextureFilter: TRUE/FALSE
BOOL GetTextureFilter() const
{ return ((const Svx3DTextureFilterItem&)GetObjectItemSet().Get(SDRATTR_3DOBJ_TEXTURE_FILTER)).GetValue(); }
@@ -480,23 +308,10 @@ public :
virtual UINT16 GetObjIdentifier() const;
virtual void RecalcSnapRect();
- virtual const Volume3D& GetBoundVolume() const;
// Hittest, wird an Geometrie weitergegeben
virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const;
- // #110988# test if given hit candidate point is inside bound volume of object. Used
- // from CheckHit.
- sal_Bool ImpIsInsideBoundVolume(const basegfx::B3DPoint& rFront, const basegfx::B3DPoint& rBack, const Point& rPnt) const;
-
- // Geometrieerzeugung
- void DestroyGeometry();
- virtual void CreateGeometry();
- void ReCreateGeometry();
-
- // Give out simple line geometry
- virtual basegfx::B3DPolyPolygon Get3DLineGeometry() const;
-
// Parameter Geometrieerzeugung setzen/lesen
BOOL GetCreateNormals() const { return bCreateNormals; }
void SetCreateNormals(BOOL bNew);
@@ -507,32 +322,11 @@ public :
// Copy-Operator
virtual void operator=(const SdrObject&);
- // DisplayGeometry rausruecken
- const B3dGeometry& GetDisplayGeometry() const;
-
- // Schattenattribute holen
- Color GetShadowColor() const;
- BOOL DrawShadowAsOutline() const;
- INT32 GetShadowXDistance() const;
- INT32 GetShadowYDistance() const;
- BOOL DoDrawShadow();
-
- // Nromalen invertiert benutzen
-private:
- SVX_DLLPRIVATE void SetInvertNormals(BOOL bNew);
-public:
-
// Material des Objektes
const Color& GetMaterialAmbientColor() const { return aMaterialAmbientColor; }
void SetMaterialAmbientColor(const Color& rColor);
- const B3dMaterial& GetBackMaterial() const { return aBackMaterial; }
- void SetBackMaterial(const B3dMaterial& rNew);
- BOOL GetUseDifferentBackMaterial() const { return bUseDifferentBackMaterial; }
- void SetUseDifferentBackMaterial(BOOL bNew);
-
// #110988#
- double GetMinimalDepthInViewCoor(E3dScene& rScene) const;
sal_Bool IsAOrdNumRemapCandidate(E3dScene*& prScene) const;
};
diff --git a/svx/inc/svx/polygn3d.hxx b/svx/inc/svx/polygn3d.hxx
index 9087ab2d7f..63ceee30cc 100644
--- a/svx/inc/svx/polygn3d.hxx
+++ b/svx/inc/svx/polygn3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: polygn3d.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -84,12 +84,6 @@ public:
virtual void operator=(const SdrObject&);
- // Geometrieerzeugung
- virtual void CreateGeometry();
-
- // Give out simple line geometry
- virtual basegfx::B3DPolyPolygon Get3DLineGeometry() const;
-
// LineOnly?
BOOL GetLineOnly() { return bLineOnly; }
void SetLineOnly(BOOL bNew);
diff --git a/svx/inc/svx/scene3d.hxx b/svx/inc/svx/scene3d.hxx
index c995ed40d2..ccccf1ded4 100644
--- a/svx/inc/svx/scene3d.hxx
+++ b/svx/inc/svx/scene3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: scene3d.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -32,20 +32,19 @@
#define _E3D_SCENE3D_HXX
#include <svx/camera3d.hxx>
-#include <goodies/base3d.hxx>
#include <goodies/b3dtrans.hxx>
#include <tools/time.hxx>
#include <svx/svxdllapi.h>
#include <svx/obj3d.hxx>
-namespace sdr
-{
- namespace properties
- {
- class BaseProperties;
- class E3dSceneProperties;
- } // end of namespace properties
-} // end of namespace sdr
+namespace sdr { namespace properties {
+ class BaseProperties;
+ class E3dSceneProperties;
+}}
+
+namespace drawinglayer { namespace geometry {
+ class ViewInformation3D;
+}}
/*************************************************************************
|*
@@ -85,38 +84,16 @@ private:
protected:
// Transformationen
B3dCamera aCameraSet;
-
- // Beleuchtung
- B3dLightGroup aLightGroup;
-
Camera3D aCamera;
- // Zeit, die der letzte Paint() benoetigte
- Time aPaintTime;
-
- // Darstellungsqualitaet, wird in Base3D verwendet
- UINT8 nDisplayQuality;
-
// #110988#
Imp3DDepthRemapper* mp3DDepthRemapper;
- // BOOLean Flags
- unsigned bDoubleBuffered : 1;
- unsigned bClipping : 1;
- unsigned bFitInSnapRect : 1;
- unsigned bDither : 1;
-
- // Merker, ob die Szene urspruenglich selektiert war
- unsigned bWasSelectedWhenCopy : 1;
-
// Flag to determine if only selected objects should be drawn
unsigned bDrawOnlySelected : 1;
- // #i71618#
- double mfPolygonOffset;
-
virtual void NewObjectInserted(const E3dObject* p3DObj);
- virtual void StructureChanged(const E3dObject* p3DObj);
+ virtual void StructureChanged();
void RebuildLists();
@@ -134,21 +111,10 @@ public:
E3dScene(E3dDefaultAttributes& rDefault);
virtual ~E3dScene();
- // #i71618#
- // support for value for PolygonOffset. Value is relative to Z-Buffer depth. Used
- // for 3d rendering. See Base3D for more info
- void setPolygonOffset(double fNew)
- {
- if(fNew != mfPolygonOffset)
- {
- mfPolygonOffset = fNew;
- }
- }
-
- double getPolygonOffset() const
- {
- return mfPolygonOffset;
- }
+ // access to cleanup of depth mapper
+ void Cleanup3DDepthMapper() { ImpCleanup3DDepthMapper(); }
+
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
// #110988#
sal_uInt32 RemapOrdNum(sal_uInt32 nOrdNum) const;
@@ -237,16 +203,9 @@ public:
// set flag to draw only selected
void SetDrawOnlySelected(BOOL bNew) { bDrawOnlySelected = bNew; }
- BOOL DoDrawOnlySelected() const { return bDrawOnlySelected; }
-
- virtual basegfx::B3DRange FitInSnapRect();
-
+ bool GetDrawOnlySelected() const { return bDrawOnlySelected; }
virtual UINT16 GetObjIdentifier() const;
- virtual sal_uInt32 GetHdlCount() const;
- virtual void AddToHdlList(SdrHdlList& rHdlList) const;
- virtual FASTBOOL HasSpecialDrag() const;
-
virtual void NbcSetSnapRect(const Rectangle& rRect);
virtual void NbcMove(const Size& rSize);
virtual void NbcResize(const Point& rRef, const Fraction& rXFact,
@@ -254,38 +213,19 @@ public:
virtual void RecalcSnapRect();
virtual E3dScene* GetScene() const;
-
- // TransformationSet vorbereiten
- void InitTransformationSet();
-
- Time GetLastPaintTime() { return aPaintTime; }
-
- // Darstellungsqualitaet
- void SetDisplayQuality(UINT8 nNew) { nDisplayQuality = nNew; }
- UINT8 GetDisplayQuality() { return nDisplayQuality; }
-
void SetCamera(const Camera3D& rNewCamera);
const Camera3D& GetCamera() const { return aCamera; }
+ void removeAllNonSelectedObjects();
- void SetDoubleBuffered(FASTBOOL bBuff = TRUE);
- FASTBOOL IsDoubleBuffered() const { return bDoubleBuffered; }
-
- // Clipping auf umschliessendes Rechteck der Szene
- // (Double Buffering ist immer geclipt!)
- void SetClipping(FASTBOOL bClip = TRUE);
- FASTBOOL IsClipping() const { return bClipping; }
-
- void SetFitInSnapRect(FASTBOOL bFit = TRUE);
- void CorrectSceneDimensions();
- FASTBOOL IsFitInSnapRect() const { return bFitInSnapRect; }
-
- void FitSnapRectToBoundVol();
virtual void operator=(const SdrObject&);
virtual SdrObjGeoData *NewGeoData() const;
virtual void SaveGeoData(SdrObjGeoData& rGeo) const;
virtual void RestGeoData(const SdrObjGeoData& rGeo);
+ virtual void NbcSetTransform(const basegfx::B3DHomMatrix& rMatrix);
+ virtual void SetTransform(const basegfx::B3DHomMatrix& rMatrix);
+
virtual void NbcRotate(const Point& rRef, long nWink, double sn, double cs);
void RotateScene(const Point& rRef, long nWink, double sn, double cs);
@@ -296,29 +236,12 @@ public:
// Transformationen rausgeben
B3dCamera& GetCameraSet() { return aCameraSet; }
- // Beleuchtung rausgeben
- B3dLightGroup& GetLightGroup() { return aLightGroup; }
-
- // Dithering
- BOOL GetDither() { return bDither; }
- void SetDither(BOOL bNew) { bDither = bNew; }
-
- // Marker fuer WasSelectedWhenCopy
- BOOL GetWasSelectedWhenCopy() { return bWasSelectedWhenCopy; }
- void SetWasSelectedWhenCopy(BOOL bNew) { bWasSelectedWhenCopy = bNew; }
-
// Aufbrechen
virtual BOOL IsBreakObjPossible();
basegfx::B3DVector GetShadowPlaneDirection() const;
void SetShadowPlaneDirection(const basegfx::B3DVector& rVec);
- // #115662#
- // For new chart, calculate the number of hit contained 3D objects at given point,
- // give back the count and a depth-sorted list of SdrObjects (a Vector). The vector will be
- // changed, at least cleared.
- sal_uInt32 HitTest(const Point& rHitTestPosition, ::std::vector< SdrObject* >& o_rResult);
-
// Polygon das waehrend des Erzeugens aufgezogen wird
virtual basegfx::B2DPolyPolygon TakeCreatePoly(const SdrDragStat& rDrag) const;
diff --git a/svx/inc/svx/sdr/contact/viewcontactofe3d.hxx b/svx/inc/svx/sdr/contact/viewcontactofe3d.hxx
index a3d1c54e87..ad92d5afd5 100644
--- a/svx/inc/svx/sdr/contact/viewcontactofe3d.hxx
+++ b/svx/inc/svx/sdr/contact/viewcontactofe3d.hxx
@@ -8,7 +8,7 @@
*
* $RCSfile: viewcontactofe3d.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.2.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -48,6 +48,7 @@ namespace drawinglayer { namespace attribute {
namespace basegfx {
class BColor;
+ class B3DHomMatrix;
}
class E3dObject;
@@ -79,19 +80,19 @@ namespace sdr
// public helpers
drawinglayer::primitive2d::Primitive2DSequence impCreateWithGivenPrimitive3DSequence(
const drawinglayer::primitive3d::Primitive3DSequence& rxContent3D) const;
- const ViewContactOfE3dScene* tryToFindVCOfE3DScene() const;
//////////////////////////////////////////////////////////////////////////////
// primitive stuff
protected:
- // Primitive2DSequence of the ViewContact. This contains all necessary information
+ // Primitive3DSequence of the ViewContact. This contains all necessary information
// for the graphical visualisation and needs to be supported by all 3D VCs which
- // can be visualized.
+ // can be visualized. It does NOT contain the object transformation to be able to
+ // buffer for all possible usages
drawinglayer::primitive3d::Primitive3DSequence mxViewIndependentPrimitive3DSequence;
// This method is responsible for creating the graphical visualisation data which is
- // stored in mxViewIndependentPrimitive3DSequence
+ // stored in mxViewIndependentPrimitive3DSequence, but without object transformation
virtual drawinglayer::primitive3d::Primitive3DSequence createViewIndependentPrimitive3DSequence() const = 0;
// This method is responsible for creating the graphical visualisation data derived ONLY from
@@ -103,8 +104,14 @@ namespace sdr
drawinglayer::attribute::SdrLineAttribute* impCreateFallbackLineAttribute(const basegfx::BColor& rBColor) const;
public:
+ // access to the local primitive without the object's local 3D transform. This is e.g. needed
+ // to get the not-yet transformed BoundVolume for e.g. interactions
+ drawinglayer::primitive3d::Primitive3DSequence getVIP3DSWithoutObjectTransform() const;
+
// access to the local primitive. This will ensure that the list is
- // current in comparing the local list content with a fresh created incarnation
+ // current in comparing the local list content with a fresh created incarnation. It will
+ // use getVIP3DSWithoutObjectTransform and embed to 3d transform primitive when object's
+ // local 3d transform is used
drawinglayer::primitive3d::Primitive3DSequence getViewIndependentPrimitive3DSequence() const;
};
} // end of namespace contact
diff --git a/svx/inc/svx/sdr/contact/viewcontactofe3dscene.hxx b/svx/inc/svx/sdr/contact/viewcontactofe3dscene.hxx
index 8f2d47f5b4..aec9d8df54 100644
--- a/svx/inc/svx/sdr/contact/viewcontactofe3dscene.hxx
+++ b/svx/inc/svx/sdr/contact/viewcontactofe3dscene.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: viewcontactofe3dscene.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -59,7 +59,7 @@ namespace sdr
{
namespace contact
{
- class ViewContactOfE3dScene : public ViewContactOfSdrObj
+ class SVX_DLLPUBLIC ViewContactOfE3dScene : public ViewContactOfSdrObj
{
protected:
// Create a Object-Specific ViewObjectContact, set ViewContact and
diff --git a/svx/inc/svx/sdr/contact/viewobjectcontactofgraphic.hxx b/svx/inc/svx/sdr/contact/viewobjectcontactofgraphic.hxx
index f6d5a20dc5..84c7c35d4c 100644
--- a/svx/inc/svx/sdr/contact/viewobjectcontactofgraphic.hxx
+++ b/svx/inc/svx/sdr/contact/viewobjectcontactofgraphic.hxx
@@ -8,7 +8,7 @@
*
* $RCSfile: viewobjectcontactofgraphic.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.2.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -60,7 +60,8 @@ namespace sdr
// async graphics loading helpers. Only to be used internally or from the
// event helper class (in .cxx file)
- bool impPrepareForPaint();
+ bool impPrepareGraphicWithAsynchroniousLoading();
+ bool impPrepareGraphicWithSynchroniousLoading();
void doAsynchGraphicLoading();
void forgetAsynchGraphicLoadingEvent(sdr::event::AsynchGraphicLoadingEvent* pEvent);
diff --git a/svx/inc/svx/sdr/contact/viewobjectcontactofpageobj.hxx b/svx/inc/svx/sdr/contact/viewobjectcontactofpageobj.hxx
index ba9c63aa57..444820cc5c 100644
--- a/svx/inc/svx/sdr/contact/viewobjectcontactofpageobj.hxx
+++ b/svx/inc/svx/sdr/contact/viewobjectcontactofpageobj.hxx
@@ -8,7 +8,7 @@
*
* $RCSfile: viewobjectcontactofpageobj.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.2.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -37,9 +37,9 @@
//////////////////////////////////////////////////////////////////////////////
// predeclarations
-namespace {
+namespace sdr { namespace contact {
class PagePrimitiveExtractor;
-}
+}}
class SdrPage;
diff --git a/svx/inc/svx/sdr/contact/viewobjectcontactofsdrmediaobj.hxx b/svx/inc/svx/sdr/contact/viewobjectcontactofsdrmediaobj.hxx
index f665a0e2a2..505bc25791 100644
--- a/svx/inc/svx/sdr/contact/viewobjectcontactofsdrmediaobj.hxx
+++ b/svx/inc/svx/sdr/contact/viewobjectcontactofsdrmediaobj.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: viewobjectcontactofsdrmediaobj.hxx,v $
- * $Revision: 1.9 $
+ * $Revision: 1.9.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -66,13 +66,6 @@ namespace sdr
::sdr::contact::SdrMediaWindow* mpMediaWindow;
- //////////////////////////////////////////////////////////////////////////////
- // primitive stuff
- public:
- // process this primitive: ask for isPrimitiveVisible() and take necessary actions
- // to give useful data to the processor in DisplayInfo. Eventually also
- // recursively travel a existing hierarchy, e.g. for group objects
- virtual drawinglayer::primitive2d::Primitive2DSequence getPrimitive2DSequenceHierarchy(DisplayInfo& rDisplayInfo) const;
};
} // end of namespace contact
} // end of namespace sdr
diff --git a/svx/inc/svx/sdr/primitive2d/sdrattributecreator.hxx b/svx/inc/svx/sdr/primitive2d/sdrattributecreator.hxx
index bff9814426..3f60816060 100644
--- a/svx/inc/svx/sdr/primitive2d/sdrattributecreator.hxx
+++ b/svx/inc/svx/sdr/primitive2d/sdrattributecreator.hxx
@@ -8,7 +8,7 @@
*
* $RCSfile: sdrattributecreator.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.2.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -38,7 +38,6 @@
// predefines
class SfxItemSet;
class SdrText;
-class B3dLightGroup;
namespace drawinglayer { namespace attribute {
class SdrLineAttribute;
@@ -80,7 +79,7 @@ namespace drawinglayer
attribute::SdrLineFillShadowTextAttribute* createNewSdrLineFillShadowTextAttribute(const SfxItemSet& rSet, const SdrText& rText);
attribute::SdrLineFillShadowAttribute* createNewSdrLineFillShadowAttribute(const SfxItemSet& rSet, bool bSuppressFill);
attribute::SdrSceneAttribute* createNewSdrSceneAttribute(const SfxItemSet& rSet);
- attribute::SdrLightingAttribute* createNewSdrLightingAttribute(const SfxItemSet& rSet, const B3dLightGroup& rLightGroup);
+ attribute::SdrLightingAttribute* createNewSdrLightingAttribute(const SfxItemSet& rSet);
attribute::SdrFillTextAttribute* createNewSdrFillTextAttribute(const SfxItemSet& rSet, const SdrText* pSdrText);
// helpers
diff --git a/svx/inc/svx/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx b/svx/inc/svx/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx
index 4714b3394e..00d98e9dcf 100644
--- a/svx/inc/svx/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx
+++ b/svx/inc/svx/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx
@@ -8,7 +8,7 @@
*
* $RCSfile: sdrcustomshapeprimitive2d.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.2.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -50,7 +50,12 @@ namespace drawinglayer
private:
attribute::SdrShadowTextAttribute maSdrSTAttribute;
Primitive2DSequence maSubPrimitives;
- ::basegfx::B2DHomMatrix maTextBox;
+ basegfx::B2DHomMatrix maTextBox;
+
+ // bitfield
+ // defines if SdrTextWordWrapItem was set at SdrObjCustomShape which means
+ // that the text needs to be block formatted
+ unsigned mbWordWrap : 1;
protected:
// local decomposition.
@@ -60,12 +65,14 @@ namespace drawinglayer
SdrCustomShapePrimitive2D(
const attribute::SdrShadowTextAttribute& rSdrSTAttribute,
const Primitive2DSequence& rSubPrimitives,
- const ::basegfx::B2DHomMatrix& rTextBox);
+ const basegfx::B2DHomMatrix& rTextBox,
+ bool bWordWrap);
// data access
const attribute::SdrShadowTextAttribute& getSdrSTAttribute() const { return maSdrSTAttribute; }
const Primitive2DSequence& getSubPrimitives() const { return maSubPrimitives; }
- const ::basegfx::B2DHomMatrix& getTextBox() const { return maTextBox; }
+ const basegfx::B2DHomMatrix& getTextBox() const { return maTextBox; }
+ bool getWordWrap() const { return mbWordWrap; }
// compare operator
virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
diff --git a/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx b/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx
index 9bdaf31da4..118c368ab6 100644
--- a/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx
+++ b/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx
@@ -8,7 +8,7 @@
*
* $RCSfile: sdrdecompositiontools.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.2.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -74,7 +74,8 @@ namespace drawinglayer
const ::basegfx::B2DHomMatrix& rObjectTransform,
const attribute::SdrTextAttribute& rText,
const attribute::SdrLineAttribute* pStroke,
- bool bCellText);
+ bool bCellText,
+ bool bWordWrap);
Primitive2DReference createShadowPrimitive(
const Primitive2DSequence& rSource,
diff --git a/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx b/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
index b8b21f0ff5..e277dea965 100644
--- a/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
+++ b/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
@@ -8,7 +8,7 @@
*
* $RCSfile: sdrtextprimitive2d.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.2.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -182,6 +182,7 @@ namespace drawinglayer
// bitfield
unsigned mbUnlimitedPage : 1; // force layout with no text break
unsigned mbCellText : 1; // this is a cell text as block text
+ unsigned mbWordWrap : 1; // for CustomShapes text layout
protected:
// local decomposition.
@@ -192,12 +193,14 @@ namespace drawinglayer
const SdrText& rSdrText,
const ::basegfx::B2DHomMatrix& rTextRangeTransform,
bool bUnlimitedPage,
- bool bCellText);
+ bool bCellText,
+ bool bWordWrap);
// get data
const basegfx::B2DHomMatrix& getTextRangeTransform() const { return maTextRangeTransform; }
bool getUnlimitedPage() const { return mbUnlimitedPage; }
bool getCellText() const { return mbCellText; }
+ bool getWordWrap() const { return mbWordWrap; }
// compare operator
virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
diff --git a/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx b/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx
index 77824c0659..c5fdbdb581 100644
--- a/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx
+++ b/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: e3dsceneproperties.hxx,v $
- * $Revision: 1.6 $
+ * $Revision: 1.6.226.1 $
*
* This file is part of OpenOffice.org.
*
@@ -33,9 +33,6 @@
#include <svx/sdr/properties/e3dproperties.hxx>
-// predeclarations
-class B3dLightGroup;
-
//////////////////////////////////////////////////////////////////////////////
namespace sdr
@@ -90,7 +87,6 @@ namespace sdr
virtual void MoveToItemPool(SfxItemPool* pSrcPool, SfxItemPool* pDestPool, SdrModel* pNewModel = 0L);
// Special for scene:
- void SetLightItemsFromLightGroup(B3dLightGroup& rLightGroup);
void SetSceneItemsFromCamera();
};
} // end of namespace properties
diff --git a/svx/inc/svx/sphere3d.hxx b/svx/inc/svx/sphere3d.hxx
index 6bdeddde20..38f78eca52 100644
--- a/svx/inc/svx/sphere3d.hxx
+++ b/svx/inc/svx/sphere3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: sphere3d.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -49,7 +49,7 @@ private:
virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties();
- basegfx::B3DPoint aCenter;
+ basegfx::B3DPoint aCenter;
basegfx::B3DVector aSize;
protected:
@@ -82,12 +82,6 @@ public:
const basegfx::B3DPoint& Center() const { return aCenter; }
const basegfx::B3DVector& Size() const { return aSize; }
- // Geometrieerzeugung
- virtual void CreateGeometry();
-
- // Give out simple line geometry
- virtual basegfx::B3DPolyPolygon Get3DLineGeometry() const;
-
// Lokale Parameter setzen mit Geometrieneuerzeugung
void SetCenter(const basegfx::B3DPoint& rNew);
void SetSize(const basegfx::B3DVector& rNew);
diff --git a/svx/inc/svx/svdoashp.hxx b/svx/inc/svx/svdoashp.hxx
index 1d196924bf..c52da4226f 100644
--- a/svx/inc/svx/svdoashp.hxx
+++ b/svx/inc/svx/svdoashp.hxx
@@ -32,9 +32,7 @@
#define _SVDOASHP_HXX
#include <svx/svdobj.hxx>
-#ifndef _SVDOATTR_HXX
#include <svx/svdotext.hxx>
-#endif
#include <svx/svdhdl.hxx>
#include <vector>
#include <com/sun/star/uno/Reference.h>
@@ -236,7 +234,7 @@ public:
virtual basegfx::B2DPolyPolygon TakeCreatePoly( const SdrDragStat& rDrag) const;
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual basegfx::B2DPolyPolygon TakeContour() const;
virtual void NbcSetOutlinerParaObject(OutlinerParaObject* pTextObject);
diff --git a/svx/inc/svx/svdobj.hxx b/svx/inc/svx/svdobj.hxx
index 2fe7cc1c84..71a6d866b4 100644
--- a/svx/inc/svx/svdobj.hxx
+++ b/svx/inc/svx/svdobj.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdobj.hxx,v $
- * $Revision: 1.9 $
+ * $Revision: 1.9.16.1 $
*
* This file is part of OpenOffice.org.
*
@@ -33,10 +33,7 @@
#include <memory>
#include <cppuhelper/weakref.hxx>
-
-#ifndef _MAPMOD_HXX //autogen
#include <vcl/mapmod.hxx>
-#endif
#include <tools/weakbase.hxx>
#include <svtools/lstner.hxx>
#include <vcl/timer.hxx>
@@ -45,13 +42,7 @@
#include <svx/svdglue.hxx> // Klebepunkte
#include <svx/xdash.hxx>
#include <svx/xpoly.hxx>
-
-//#ifndef _POLY3D_HXX
-//#include <svx/poly3d.hxx>
-//#endif
#include <svx/xenum.hxx>
-
-// #111096#
#include <vcl/bitmapex.hxx>
#include <svx/sdrobjectuser.hxx>
#include "svx/svxdllapi.h"
@@ -712,7 +703,7 @@ public:
// Das Xor-Polygon wird von der View zu Draggen des Objektes benoetigt.
// Alle Polygone innerhalb des PolyPolygon werden als PolyLine interpretiert.
// Moechte man ein geschlossenes Polygon, so muss man es explizit schliessen.
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
// Die Kontur fuer TextToContour
virtual basegfx::B2DPolyPolygon TakeContour() const;
diff --git a/svx/inc/svx/svdocapt.hxx b/svx/inc/svx/svdocapt.hxx
index 73691d17d4..e294151fc0 100644
--- a/svx/inc/svx/svdocapt.hxx
+++ b/svx/inc/svx/svdocapt.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdocapt.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -40,13 +40,9 @@
class ImpCaptParams;
-namespace sdr
-{
- namespace properties
- {
- class CaptionProperties;
- } // end of namespace properties
-} // end of namespace sdr
+namespace sdr { namespace properties {
+ class CaptionProperties;
+}}
#define SDRSETITEM_CAPTION_ATTR SDRSETITEM_ATTR_COUNT
@@ -83,7 +79,7 @@ private:
Polygon aTailPoly; // das ganze Polygon des Schwanzes
sal_Bool mbSpecialTextBoxShadow; // for calc special shadow, default FALSE
sal_Bool mbFixedTail; // for calc note box fixed tail, default FALSE
- Point maFixedTailPos; // for calc note box fixed tail position.
+ Point maFixedTailPos; // for calc note box fixed tail position.
private:
SVX_DLLPRIVATE void ImpGetCaptParams(ImpCaptParams& rPara) const;
@@ -116,7 +112,7 @@ public:
virtual void TakeObjNameSingul(String& rName) const;
virtual void TakeObjNamePlural(String& rName) const;
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual void SetModel(SdrModel* pNewModel);
virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint);
diff --git a/svx/inc/svx/svdocirc.hxx b/svx/inc/svx/svdocirc.hxx
index c40906ed95..138448abb9 100644
--- a/svx/inc/svx/svdocirc.hxx
+++ b/svx/inc/svx/svdocirc.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdocirc.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -38,13 +38,9 @@
// Vorausdeklarationen
//************************************************************
-namespace sdr
-{
- namespace properties
- {
- class CircleProperties;
- } // end of namespace properties
-} // end of namespace sdr
+namespace sdr { namespace properties {
+ class CircleProperties;
+}}
//************************************************************
// Hilfsklasse SdrCircObjGeoData
@@ -125,7 +121,7 @@ public:
virtual void operator=(const SdrObject& rObj);
virtual void RecalcSnapRect();
virtual void NbcSetSnapRect(const Rectangle& rRect);
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual sal_uInt32 GetSnapPointCount() const;
virtual Point GetSnapPoint(sal_uInt32 i) const;
diff --git a/svx/inc/svx/svdoedge.hxx b/svx/inc/svx/svdoedge.hxx
index e84cc1c5b8..d40773c3f5 100644
--- a/svx/inc/svx/svdoedge.hxx
+++ b/svx/inc/svx/svdoedge.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdoedge.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -42,13 +42,9 @@
class SdrDragMethod;
class SdrPageView;
-namespace sdr
-{
- namespace properties
- {
- class ConnectorProperties;
- } // end of namespace properties
-} // end of namespace sdr
+namespace sdr { namespace properties {
+ class ConnectorProperties;
+}}
//************************************************************
// Hilfsklasse SdrObjConnection
@@ -264,7 +260,7 @@ public:
void SetEdgeTrackPath( const basegfx::B2DPolyPolygon& rPoly );
basegfx::B2DPolyPolygon GetEdgeTrackPath() const;
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual sal_uInt32 GetHdlCount() const;
virtual SdrHdl* GetHdl(sal_uInt32 nHdlNum) const;
diff --git a/svx/inc/svx/svdograf.hxx b/svx/inc/svx/svdograf.hxx
index 5d912c1f7a..dac8273bb3 100644
--- a/svx/inc/svx/svdograf.hxx
+++ b/svx/inc/svx/svdograf.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdograf.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.18.2 $
*
* This file is part of OpenOffice.org.
*
@@ -142,7 +142,7 @@ public:
virtual ~SdrGrafObj();
void SetGraphicObject( const GraphicObject& rGrfObj );
- const GraphicObject& GetGraphicObject() const;
+ const GraphicObject& GetGraphicObject( bool bForceSwapIn = false) const;
void SetGraphic(const Graphic& rGrf);
const Graphic& GetGraphic() const;
@@ -186,7 +186,7 @@ public:
virtual void TakeObjNamePlural(String& rName) const;
// #i25616#
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual void operator=(const SdrObject& rObj);
virtual FASTBOOL HasSpecialDrag() const;
diff --git a/svx/inc/svx/svdogrp.hxx b/svx/inc/svx/svdogrp.hxx
index cc9a0bb2ae..4d6a49377c 100644
--- a/svx/inc/svx/svdogrp.hxx
+++ b/svx/inc/svx/svdogrp.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdogrp.hxx,v $
- * $Revision: 1.3 $
+ * $Revision: 1.3.226.1 $
*
* This file is part of OpenOffice.org.
*
@@ -91,7 +91,7 @@ public:
virtual void TakeObjNamePlural(String& rName) const;
virtual void RecalcSnapRect();
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual FASTBOOL BegDrag(SdrDragStat& rDrag) const;
virtual FASTBOOL BegCreate(SdrDragStat& rStat);
diff --git a/svx/inc/svx/svdomeas.hxx b/svx/inc/svx/svdomeas.hxx
index 5e06ac6533..b3c521e741 100644
--- a/svx/inc/svx/svdomeas.hxx
+++ b/svx/inc/svx/svdomeas.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdomeas.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -42,13 +42,9 @@ class SdrOutliner;
struct ImpMeasureRec;
struct ImpMeasurePoly;
-namespace sdr
-{
- namespace properties
- {
- class MeasureProperties;
- } // end of namespace properties
-} // end of namespace sdr
+namespace sdr { namespace properties {
+ class MeasureProperties;
+}}
//************************************************************
// Hilfsklasse SdrMeasureObjGeoData
@@ -115,7 +111,7 @@ public:
virtual void TakeObjNameSingul(String& rName) const;
virtual void TakeObjNamePlural(String& rName) const;
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual sal_uInt32 GetHdlCount() const;
virtual SdrHdl* GetHdl(sal_uInt32 nHdlNum) const;
virtual FASTBOOL HasSpecialDrag() const;
diff --git a/svx/inc/svx/svdopath.hxx b/svx/inc/svx/svdopath.hxx
index ce96d1457a..b3cd9ee839 100644
--- a/svx/inc/svx/svdopath.hxx
+++ b/svx/inc/svx/svdopath.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdopath.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -104,7 +104,7 @@ public:
virtual void TakeObjNameSingul(String& rName) const;
virtual void TakeObjNamePlural(String& rName) const;
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual void RecalcSnapRect();
virtual void NbcSetSnapRect(const Rectangle& rRect);
virtual sal_uInt32 GetHdlCount() const;
diff --git a/svx/inc/svx/svdorect.hxx b/svx/inc/svx/svdorect.hxx
index dcf685fda3..d70cef1c55 100644
--- a/svx/inc/svx/svdorect.hxx
+++ b/svx/inc/svx/svdorect.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdorect.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -40,13 +40,9 @@
class XPolygon;
-namespace sdr
-{
- namespace properties
- {
- class RectangleProperties;
- } // end of namespace properties
-} // end of namespace sdr
+namespace sdr { namespace properties {
+ class RectangleProperties;
+}}
//************************************************************
// SdrRectObj
@@ -116,7 +112,7 @@ public:
virtual void RecalcSnapRect();
virtual void NbcSetSnapRect(const Rectangle& rRect);
virtual void NbcSetLogicRect(const Rectangle& rRect);
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual sal_uInt32 GetHdlCount() const;
virtual SdrHdl* GetHdl(sal_uInt32 nHdlNum) const;
diff --git a/svx/inc/svx/svdotable.hxx b/svx/inc/svx/svdotable.hxx
index 6f9aef4eb5..b91c42ae9c 100644
--- a/svx/inc/svx/svdotable.hxx
+++ b/svx/inc/svx/svdotable.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdotable.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -230,7 +230,7 @@ public:
virtual void TakeObjNameSingul(String& rName) const;
virtual void TakeObjNamePlural(String& rName) const;
virtual void operator=(const SdrObject& rObj);
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual basegfx::B2DPolyPolygon TakeContour() const;
virtual void RecalcSnapRect();
virtual const Rectangle& GetSnapRect() const;
diff --git a/svx/inc/svx/svdotext.hxx b/svx/inc/svx/svdotext.hxx
index 3c40f588ae..88430005c3 100644
--- a/svx/inc/svx/svdotext.hxx
+++ b/svx/inc/svx/svdotext.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdotext.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -434,7 +434,7 @@ public:
virtual void TakeObjNameSingul(String& rName) const;
virtual void TakeObjNamePlural(String& rName) const;
virtual void operator=(const SdrObject& rObj);
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual basegfx::B2DPolyPolygon TakeContour() const;
virtual void RecalcSnapRect();
virtual void NbcSetSnapRect(const Rectangle& rRect);
diff --git a/svx/inc/svx/svdovirt.hxx b/svx/inc/svx/svdovirt.hxx
index 79ab364d70..b351ff90b3 100644
--- a/svx/inc/svx/svdovirt.hxx
+++ b/svx/inc/svx/svdovirt.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svdovirt.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -90,7 +90,7 @@ public:
virtual void TakeObjNameSingul(String& rName) const;
virtual void TakeObjNamePlural(String& rName) const;
- virtual basegfx::B2DPolyPolygon TakeXorPoly(sal_Bool bDetail) const;
+ virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
virtual sal_uInt32 GetHdlCount() const;
virtual SdrHdl* GetHdl(sal_uInt32 nHdlNum) const;
virtual sal_uInt32 GetPlusHdlCount(const SdrHdl& rHdl) const;
diff --git a/svx/inc/svx/svx3ditems.hxx b/svx/inc/svx/svx3ditems.hxx
index 1296636a61..558c1904cf 100644
--- a/svx/inc/svx/svx3ditems.hxx
+++ b/svx/inc/svx/svx3ditems.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svx3ditems.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.226.1 $
*
* This file is part of OpenOffice.org.
*
@@ -196,7 +196,7 @@ public:
Svx3DTwoSidedLightingItem(BOOL bVal = 0);
};
-class Svx3DLightcolor1Item : public SvxColorItem {
+class SVX_DLLPUBLIC Svx3DLightcolor1Item : public SvxColorItem {
public:
Svx3DLightcolor1Item(const Color& rCol = Color(0xffcccccc));
};
@@ -206,37 +206,37 @@ public:
Svx3DLightcolor2Item(const Color& rCol = Color(0x00000000));
};
-class Svx3DLightcolor3Item : public SvxColorItem {
+class SVX_DLLPUBLIC Svx3DLightcolor3Item : public SvxColorItem {
public:
Svx3DLightcolor3Item(const Color& rCol = Color(0x00000000));
};
-class Svx3DLightcolor4Item : public SvxColorItem {
+class SVX_DLLPUBLIC Svx3DLightcolor4Item : public SvxColorItem {
public:
Svx3DLightcolor4Item(const Color& rCol = Color(0x00000000));
};
-class Svx3DLightcolor5Item : public SvxColorItem {
+class SVX_DLLPUBLIC Svx3DLightcolor5Item : public SvxColorItem {
public:
Svx3DLightcolor5Item(const Color& rCol = Color(0x00000000));
};
-class Svx3DLightcolor6Item : public SvxColorItem {
+class SVX_DLLPUBLIC Svx3DLightcolor6Item : public SvxColorItem {
public:
Svx3DLightcolor6Item(const Color& rCol = Color(0x00000000));
};
-class Svx3DLightcolor7Item : public SvxColorItem {
+class SVX_DLLPUBLIC Svx3DLightcolor7Item : public SvxColorItem {
public:
Svx3DLightcolor7Item(const Color& rCol = Color(0x00000000));
};
-class Svx3DLightcolor8Item : public SvxColorItem {
+class SVX_DLLPUBLIC Svx3DLightcolor8Item : public SvxColorItem {
public:
Svx3DLightcolor8Item(const Color& rCol = Color(0x00000000));
};
-class Svx3DAmbientcolorItem : public SvxColorItem {
+class SVX_DLLPUBLIC Svx3DAmbientcolorItem : public SvxColorItem {
public:
Svx3DAmbientcolorItem(const Color& rCol = Color(0x00666666));
};
@@ -251,37 +251,37 @@ public:
Svx3DLightOnOff2Item(BOOL bVal = 0);
};
-class Svx3DLightOnOff3Item : public SfxBoolItem {
+class SVX_DLLPUBLIC Svx3DLightOnOff3Item : public SfxBoolItem {
public:
Svx3DLightOnOff3Item(BOOL bVal = 0);
};
-class Svx3DLightOnOff4Item : public SfxBoolItem {
+class SVX_DLLPUBLIC Svx3DLightOnOff4Item : public SfxBoolItem {
public:
Svx3DLightOnOff4Item(BOOL bVal = 0);
};
-class Svx3DLightOnOff5Item : public SfxBoolItem {
+class SVX_DLLPUBLIC Svx3DLightOnOff5Item : public SfxBoolItem {
public:
Svx3DLightOnOff5Item(BOOL bVal = 0);
};
-class Svx3DLightOnOff6Item : public SfxBoolItem {
+class SVX_DLLPUBLIC Svx3DLightOnOff6Item : public SfxBoolItem {
public:
Svx3DLightOnOff6Item(BOOL bVal = 0);
};
-class Svx3DLightOnOff7Item : public SfxBoolItem {
+class SVX_DLLPUBLIC Svx3DLightOnOff7Item : public SfxBoolItem {
public:
Svx3DLightOnOff7Item(BOOL bVal = 0);
};
-class Svx3DLightOnOff8Item : public SfxBoolItem {
+class SVX_DLLPUBLIC Svx3DLightOnOff8Item : public SfxBoolItem {
public:
Svx3DLightOnOff8Item(BOOL bVal = 0);
};
-class Svx3DLightDirection1Item : public SvxB3DVectorItem {
+class SVX_DLLPUBLIC Svx3DLightDirection1Item : public SvxB3DVectorItem {
public:
Svx3DLightDirection1Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.57735026918963, 0.57735026918963, 0.57735026918963));
};
@@ -291,32 +291,32 @@ public:
Svx3DLightDirection2Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
};
-class Svx3DLightDirection3Item : public SvxB3DVectorItem {
+class SVX_DLLPUBLIC Svx3DLightDirection3Item : public SvxB3DVectorItem {
public:
Svx3DLightDirection3Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
};
-class Svx3DLightDirection4Item : public SvxB3DVectorItem {
+class SVX_DLLPUBLIC Svx3DLightDirection4Item : public SvxB3DVectorItem {
public:
Svx3DLightDirection4Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
};
-class Svx3DLightDirection5Item : public SvxB3DVectorItem {
+class SVX_DLLPUBLIC Svx3DLightDirection5Item : public SvxB3DVectorItem {
public:
Svx3DLightDirection5Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
};
-class Svx3DLightDirection6Item : public SvxB3DVectorItem {
+class SVX_DLLPUBLIC Svx3DLightDirection6Item : public SvxB3DVectorItem {
public:
Svx3DLightDirection6Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
};
-class Svx3DLightDirection7Item : public SvxB3DVectorItem {
+class SVX_DLLPUBLIC Svx3DLightDirection7Item : public SvxB3DVectorItem {
public:
Svx3DLightDirection7Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
};
-class Svx3DLightDirection8Item : public SvxB3DVectorItem {
+class SVX_DLLPUBLIC Svx3DLightDirection8Item : public SvxB3DVectorItem {
public:
Svx3DLightDirection8Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
};
diff --git a/svx/inc/svx/viewpt3d.hxx b/svx/inc/svx/viewpt3d.hxx
index d881dc6b45..dbdcac36f3 100644
--- a/svx/inc/svx/viewpt3d.hxx
+++ b/svx/inc/svx/viewpt3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: viewpt3d.hxx,v $
- * $Revision: 1.3 $
+ * $Revision: 1.3.226.1 $
*
* This file is part of OpenOffice.org.
*
@@ -61,8 +61,8 @@ class SVX_DLLPUBLIC Viewport3D
protected:
basegfx::B3DHomMatrix aViewTf; // die eigentliche Transformationsmatrix
basegfx::B3DPoint aVRP; // View Reference Point
- basegfx::B3DVector aVPN; // View Plane Normal
- basegfx::B3DVector aVUV; // View Up Vector
+ basegfx::B3DVector aVPN; // View Plane Normal
+ basegfx::B3DVector aVUV; // View Up Vector
basegfx::B3DPoint aPRP; // Projection Reference Point(View-Koordinaten)
// bisher wird nur die Z-Koordinate beachtet
double fVPD; // View Plane Distance
@@ -118,9 +118,6 @@ class SVX_DLLPUBLIC Viewport3D
void SetViewWindow(double fX, double fY, double fW, double fH);
void GetViewWindow(double& rX, double& rY, double& rW, double& rH) const;
- // View-Window genau um das mit rTransform transformierte Volumen legen
- void FitViewToVolume(const basegfx::B3DRange& rVolume, const basegfx::B3DHomMatrix& rTransform);
-
void SetDeviceWindow(const Rectangle& rRect);
const Rectangle& GetDeviceWindow() const { return aDeviceRect; }
diff --git a/svx/inc/svx/volume3d.hxx b/svx/inc/svx/volume3d.hxx
index 5edbb3f9d0..514d567e73 100644
--- a/svx/inc/svx/volume3d.hxx
+++ b/svx/inc/svx/volume3d.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: volume3d.hxx,v $
- * $Revision: 1.3 $
+ * $Revision: 1.3.226.1 $
*
* This file is part of OpenOffice.org.
*
@@ -32,56 +32,5 @@
#define _VOLUME3D_HXX
#include <basegfx/range/b3drange.hxx>
-#include "svx/svxdllapi.h"
-
-//************************************************************
-// Vorausdeklarationen
-//************************************************************
-namespace basegfx
-{
- class B3DPolygon;
- class B3DPoint;
- class B3DHomMatrix;
-}
-
-/*************************************************************************
-|*
-|* dreidimensionales Volumen, symmetrisch zu den Koordinatenachsen
-|*
-\************************************************************************/
-
-class SVX_DLLPUBLIC Volume3D : public basegfx::B3DRange
-{
-public:
- Volume3D(const basegfx::B3DPoint& rPos, const basegfx::B3DPoint& r3DSize, bool bPosIsCenter = true);
- explicit Volume3D(const basegfx::B3DRange& rVol);
- Volume3D();
-
- Volume3D GetTransformVolume(const basegfx::B3DHomMatrix& rTfMatrix) const;
- void CreateWireframe(basegfx::B3DPolygon& rPoly3D, const basegfx::B3DHomMatrix* pTf = 0L) const;
-};
-
-/*************************************************************************
-|*
-|* Iterator, der die Eckpunkte eines Volumens berechnet; wenn eine Matrix
-|* uebergeben wird, werden die Punkte damit transformiert
-|*
-\************************************************************************/
-
-class Vol3DPointIterator
-{
-protected:
- const basegfx::B3DRange& rVolume;
- const basegfx::B3DHomMatrix* pTransform;
- basegfx::B3DVector a3DExtent;
- sal_uInt16 nIndex;
-
-public:
- Vol3DPointIterator(const basegfx::B3DRange& rVol, const basegfx::B3DHomMatrix* pTf = NULL);
-
- bool Next(basegfx::B3DPoint& rVec);
- void Reset() { nIndex = 0; }
-};
-
#endif // _VOLUME3D_HXX