summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-12-15 10:31:06 +0200
committerNoel Grandin <noel@peralex.com>2015-12-15 10:42:52 +0200
commit4463da0488099b52959544923407b15d73d3e172 (patch)
treec0fd9ada0bfdf2d3925fc1c94bac3782d332ef5a
parent00ea9e5e4ef2f20353c881ec5844ed3862897239 (diff)
use vector as container for Primitive3DReference
rather than uno::Sequence, since we modify this container a lot and uno::Sequence is expensive to update Change-Id: Id5bc5171cbc4b90b243e6dda6d572f21b3bdf00d
-rw-r--r--drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx8
-rw-r--r--drawinglayer/source/primitive2d/sceneprimitive2d.cxx10
-rw-r--r--drawinglayer/source/primitive3d/baseprimitive3d.cxx80
-rw-r--r--drawinglayer/source/primitive3d/groupprimitive3d.cxx6
-rw-r--r--drawinglayer/source/primitive3d/hatchtextureprimitive3d.cxx22
-rw-r--r--drawinglayer/source/primitive3d/hiddengeometryprimitive3d.cxx8
-rw-r--r--drawinglayer/source/primitive3d/modifiedcolorprimitive3d.cxx2
-rw-r--r--drawinglayer/source/primitive3d/polygonprimitive3d.cxx6
-rw-r--r--drawinglayer/source/primitive3d/polygontubeprimitive3d.cxx56
-rw-r--r--drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx14
-rw-r--r--drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx34
-rw-r--r--drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx28
-rw-r--r--drawinglayer/source/primitive3d/sdrlatheprimitive3d.cxx28
-rw-r--r--drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx14
-rw-r--r--drawinglayer/source/primitive3d/sdrsphereprimitive3d.cxx14
-rw-r--r--drawinglayer/source/primitive3d/shadowprimitive3d.cxx2
-rw-r--r--drawinglayer/source/primitive3d/textureprimitive3d.cxx18
-rw-r--r--drawinglayer/source/primitive3d/transformprimitive3d.cxx4
-rw-r--r--drawinglayer/source/processor2d/hittestprocessor2d.cxx7
-rw-r--r--drawinglayer/source/processor3d/baseprocessor3d.cxx11
-rw-r--r--drawinglayer/source/processor3d/cutfindprocessor3d.cxx8
-rw-r--r--drawinglayer/source/processor3d/defaultprocessor3d.cxx16
-rw-r--r--drawinglayer/source/processor3d/geometry2dextractor.cxx8
-rw-r--r--include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx6
-rw-r--r--include/drawinglayer/primitive2d/sceneprimitive2d.hxx6
-rw-r--r--include/drawinglayer/primitive3d/baseprimitive3d.hxx39
-rw-r--r--include/drawinglayer/primitive3d/groupprimitive3d.hxx8
-rw-r--r--include/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx12
-rw-r--r--include/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx4
-rw-r--r--include/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx2
-rw-r--r--include/drawinglayer/primitive3d/polygonprimitive3d.hxx2
-rw-r--r--include/drawinglayer/primitive3d/polygontubeprimitive3d.hxx10
-rw-r--r--include/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx2
-rw-r--r--include/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx10
-rw-r--r--include/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx4
-rw-r--r--include/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx4
-rw-r--r--include/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx2
-rw-r--r--include/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx2
-rw-r--r--include/drawinglayer/primitive3d/shadowprimitive3d.hxx2
-rw-r--r--include/drawinglayer/primitive3d/textureprimitive3d.hxx12
-rw-r--r--include/drawinglayer/primitive3d/transformprimitive3d.hxx2
-rw-r--r--include/drawinglayer/processor3d/baseprocessor3d.hxx2
-rw-r--r--include/svx/sdr/contact/viewcontactofe3d.hxx16
-rw-r--r--include/svx/sdr/contact/viewcontactofe3dscene.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofe3dcube.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofe3dextrude.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofe3dlathe.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofe3dpolygon.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofe3dsphere.hxx2
-rw-r--r--svx/inc/sdr/contact/viewobjectcontactofe3d.hxx8
-rw-r--r--svx/source/engine3d/helperhittest3d.cxx6
-rw-r--r--svx/source/engine3d/helperminimaldepth3d.cxx6
-rw-r--r--svx/source/engine3d/obj3d.cxx14
-rw-r--r--svx/source/sdr/contact/viewcontactofe3d.cxx26
-rw-r--r--svx/source/sdr/contact/viewcontactofe3dcube.cxx6
-rw-r--r--svx/source/sdr/contact/viewcontactofe3dextrude.cxx6
-rw-r--r--svx/source/sdr/contact/viewcontactofe3dlathe.cxx6
-rw-r--r--svx/source/sdr/contact/viewcontactofe3dpolygon.cxx6
-rw-r--r--svx/source/sdr/contact/viewcontactofe3dscene.cxx51
-rw-r--r--svx/source/sdr/contact/viewcontactofe3dsphere.cxx6
-rw-r--r--svx/source/sdr/contact/viewobjectcontactofe3d.cxx18
61 files changed, 392 insertions, 330 deletions
diff --git a/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx b/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
index 284b91c0f4b7..91dee61e97bc 100644
--- a/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
@@ -43,7 +43,7 @@ namespace drawinglayer
osl::MutexGuard aGuard( m_aMutex );
// create on demand
- if(!mbShadow3DChecked && getChildren3D().hasElements())
+ if(!mbShadow3DChecked && !getChildren3D().empty())
{
// create shadow extraction processor
processor3d::Shadow3DExtractingProcessor aShadowProcessor(
@@ -77,7 +77,7 @@ namespace drawinglayer
}
Embedded3DPrimitive2D::Embedded3DPrimitive2D(
- const primitive3d::Primitive3DSequence& rxChildren3D,
+ const primitive3d::Primitive3DContainer& rxChildren3D,
const basegfx::B2DHomMatrix& rObjectTransformation,
const geometry::ViewInformation3D& rViewInformation3D,
const basegfx::B3DVector& rLightNormal,
@@ -103,7 +103,7 @@ namespace drawinglayer
{
const Embedded3DPrimitive2D& rCompare = static_cast< const Embedded3DPrimitive2D& >(rPrimitive);
- return (primitive3d::arePrimitive3DSequencesEqual(getChildren3D(), rCompare.getChildren3D())
+ return (getChildren3D() == rCompare.getChildren3D()
&& getObjectTransformation() == rCompare.getObjectTransformation()
&& getViewInformation3D() == rCompare.getViewInformation3D()
&& getLightNormal() == rCompare.getLightNormal()
@@ -119,7 +119,7 @@ namespace drawinglayer
if(maB2DRange.isEmpty())
{
// use the 3d transformation stack to create a projection of the 3D range
- basegfx::B3DRange a3DRange(primitive3d::getB3DRangeFromPrimitive3DSequence(getChildren3D(), getViewInformation3D()));
+ basegfx::B3DRange a3DRange(getChildren3D().getB3DRange(getViewInformation3D()));
a3DRange.transform(getViewInformation3D().getObjectToView());
// create 2d range from projected 3d and transform with scene's object transformation
diff --git a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
index 5aaf906826ac..eddb89228822 100644
--- a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
@@ -48,11 +48,11 @@ namespace drawinglayer
::osl::MutexGuard aGuard( m_aMutex );
// create on demand
- if(!mbShadow3DChecked && getChildren3D().hasElements())
+ if(!mbShadow3DChecked && !getChildren3D().empty())
{
basegfx::B3DVector aLightNormal;
const double fShadowSlant(getSdrSceneAttribute().getShadowSlant());
- const basegfx::B3DRange aScene3DRange(primitive3d::getB3DRangeFromPrimitive3DSequence(getChildren3D(), getViewInformation3D()));
+ const basegfx::B3DRange aScene3DRange(getChildren3D().getB3DRange(getViewInformation3D()));
if(maSdrLightingAttribute.getLightVector().size())
{
@@ -320,7 +320,7 @@ namespace drawinglayer
Primitive2DContainer aRetval;
// create 2D projected geometry from 3D geometry
- if(getChildren3D().hasElements())
+ if(!getChildren3D().empty())
{
// create 2D geometry extraction processor
processor3d::Geometry2DExtractingProcessor aGeometryProcessor(
@@ -393,7 +393,7 @@ namespace drawinglayer
}
ScenePrimitive2D::ScenePrimitive2D(
- const primitive3d::Primitive3DSequence& rxChildren3D,
+ const primitive3d::Primitive3DContainer& rxChildren3D,
const attribute::SdrSceneAttribute& rSdrSceneAttribute,
const attribute::SdrLightingAttribute& rSdrLightingAttribute,
const basegfx::B2DHomMatrix& rObjectTransformation,
@@ -419,7 +419,7 @@ namespace drawinglayer
{
const ScenePrimitive2D& rCompare = static_cast<const ScenePrimitive2D&>(rPrimitive);
- return (primitive3d::arePrimitive3DSequencesEqual(getChildren3D(), rCompare.getChildren3D())
+ return (getChildren3D() == rCompare.getChildren3D()
&& getSdrSceneAttribute() == rCompare.getSdrSceneAttribute()
&& getSdrLightingAttribute() == rCompare.getSdrLightingAttribute()
&& getObjectTransformation() == rCompare.getObjectTransformation()
diff --git a/drawinglayer/source/primitive3d/baseprimitive3d.cxx b/drawinglayer/source/primitive3d/baseprimitive3d.cxx
index a0fc5d2b6e72..20c49750300e 100644
--- a/drawinglayer/source/primitive3d/baseprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/baseprimitive3d.cxx
@@ -20,6 +20,7 @@
#include <drawinglayer/primitive3d/baseprimitive3d.hxx>
#include <drawinglayer/geometry/viewinformation3d.hxx>
#include <basegfx/tools/canvastools.hxx>
+#include <comphelper/sequence.hxx>
@@ -47,18 +48,18 @@ namespace drawinglayer
basegfx::B3DRange BasePrimitive3D::getB3DRange(const geometry::ViewInformation3D& rViewInformation) const
{
- return getB3DRangeFromPrimitive3DSequence(get3DDecomposition(rViewInformation), rViewInformation);
+ return get3DDecomposition(rViewInformation).getB3DRange(rViewInformation);
}
- Primitive3DSequence BasePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
+ Primitive3DContainer BasePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
{
- return Primitive3DSequence();
+ return Primitive3DContainer();
}
Primitive3DSequence SAL_CALL BasePrimitive3D::getDecomposition( const uno::Sequence< beans::PropertyValue >& rViewParameters ) throw ( uno::RuntimeException, std::exception )
{
const geometry::ViewInformation3D aViewInformation(rViewParameters);
- return get3DDecomposition(aViewInformation);
+ return comphelper::containerToSequence(get3DDecomposition(aViewInformation));
}
css::geometry::RealRectangle3D SAL_CALL BasePrimitive3D::getRange( const uno::Sequence< beans::PropertyValue >& rViewParameters ) throw ( uno::RuntimeException, std::exception )
@@ -75,9 +76,9 @@ namespace drawinglayer
{
namespace primitive3d
{
- Primitive3DSequence BufferedDecompositionPrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
+ Primitive3DContainer BufferedDecompositionPrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
{
- return Primitive3DSequence();
+ return Primitive3DContainer();
}
BufferedDecompositionPrimitive3D::BufferedDecompositionPrimitive3D()
@@ -86,13 +87,13 @@ namespace drawinglayer
{
}
- Primitive3DSequence BufferedDecompositionPrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
+ Primitive3DContainer BufferedDecompositionPrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
- if(!getBuffered3DDecomposition().hasElements())
+ if(getBuffered3DDecomposition().empty())
{
- const Primitive3DSequence aNewSequence(create3DDecomposition(rViewInformation));
+ const Primitive3DContainer aNewSequence(create3DDecomposition(rViewInformation));
const_cast< BufferedDecompositionPrimitive3D* >(this)->setBuffered3DDecomposition(aNewSequence);
}
@@ -134,18 +135,18 @@ namespace drawinglayer
return aRetval;
}
- // get range3D from a given Primitive3DSequence
- basegfx::B3DRange getB3DRangeFromPrimitive3DSequence(const Primitive3DSequence& rCandidate, const geometry::ViewInformation3D& aViewInformation)
+ // get range3D from a given Primitive3DContainer
+ basegfx::B3DRange Primitive3DContainer::getB3DRange(const geometry::ViewInformation3D& aViewInformation) const
{
basegfx::B3DRange aRetval;
- if(rCandidate.hasElements())
+ if(!empty())
{
- const sal_Int32 nCount(rCandidate.getLength());
+ const size_t nCount(size());
- for(sal_Int32 a(0L); a < nCount; a++)
+ for(size_t a(0L); a < nCount; a++)
{
- aRetval.expand(getB3DRangeFromPrimitive3DReference(rCandidate[a], aViewInformation));
+ aRetval.expand(getB3DRangeFromPrimitive3DReference((*this)[a], aViewInformation));
}
}
@@ -215,8 +216,40 @@ namespace drawinglayer
return true;
}
+ bool Primitive3DContainer::operator==(const Primitive3DContainer& rB) const
+ {
+ const bool bAHasElements(!empty());
+
+ if(bAHasElements != !rB.empty())
+ {
+ return false;
+ }
+
+ if(!bAHasElements)
+ {
+ return true;
+ }
+
+ const size_t nCount(size());
+
+ if(nCount != rB.size())
+ {
+ return false;
+ }
+
+ for(size_t a(0L); a < nCount; a++)
+ {
+ if(!arePrimitive3DReferencesEqual((*this)[a], rB[a]))
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
// concatenate sequence
- void appendPrimitive3DSequenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DSequence& rSource)
+ void appendPrimitive3DContainerToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DSequence& rSource)
{
if(rSource.hasElements())
{
@@ -249,6 +282,21 @@ namespace drawinglayer
}
}
+ void Primitive3DContainer::append(const Primitive3DContainer& rSource)
+ {
+ insert(end(), rSource.begin(), rSource.end());
+ }
+
+ void Primitive3DContainer::append(Primitive3DContainer&& rSource)
+ {
+ size_t n = size();
+ resize(n + rSource.size());
+ for (size_t i = 0; i<rSource.size(); ++i)
+ {
+ (*this)[n + i] = std::move( rSource[i] );
+ }
+ }
+
// concatenate single Primitive3D
void appendPrimitive3DReferenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DReference& rSource)
{
diff --git a/drawinglayer/source/primitive3d/groupprimitive3d.cxx b/drawinglayer/source/primitive3d/groupprimitive3d.cxx
index 029ddf73fdeb..fc266ae825da 100644
--- a/drawinglayer/source/primitive3d/groupprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/groupprimitive3d.cxx
@@ -30,7 +30,7 @@ namespace drawinglayer
{
namespace primitive3d
{
- GroupPrimitive3D::GroupPrimitive3D( const Primitive3DSequence& rChildren )
+ GroupPrimitive3D::GroupPrimitive3D( const Primitive3DContainer& rChildren )
: BasePrimitive3D(),
maChildren(rChildren)
{
@@ -46,14 +46,14 @@ namespace drawinglayer
{
const GroupPrimitive3D& rCompare = static_cast< const GroupPrimitive3D& >(rPrimitive);
- return (arePrimitive3DSequencesEqual(getChildren(), rCompare.getChildren()));
+ return getChildren() == rCompare.getChildren();
}
return false;
}
/// default: just return children, so all renderers not supporting group will use it's content
- Primitive3DSequence GroupPrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
+ Primitive3DContainer GroupPrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
{
return getChildren();
}
diff --git a/drawinglayer/source/primitive3d/hatchtextureprimitive3d.cxx b/drawinglayer/source/primitive3d/hatchtextureprimitive3d.cxx
index c191db51b19f..d3cf9fd28d91 100644
--- a/drawinglayer/source/primitive3d/hatchtextureprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/hatchtextureprimitive3d.cxx
@@ -40,17 +40,17 @@ namespace drawinglayer
{
namespace primitive3d
{
- Primitive3DSequence HatchTexturePrimitive3D::impCreate3DDecomposition() const
+ Primitive3DContainer HatchTexturePrimitive3D::impCreate3DDecomposition() const
{
- Primitive3DSequence aRetval;
+ Primitive3DContainer aRetval;
- if(getChildren().hasElements())
+ if(!getChildren().empty())
{
- const Primitive3DSequence aSource(getChildren());
- const sal_uInt32 nSourceCount(aSource.getLength());
+ const Primitive3DContainer aSource(getChildren());
+ const size_t nSourceCount(aSource.size());
std::vector< Primitive3DReference > aDestination;
- for(sal_uInt32 a(0); a < nSourceCount; a++)
+ for(size_t a(0); a < nSourceCount; a++)
{
// get reference
const Primitive3DReference xReference(aSource[a]);
@@ -265,7 +265,7 @@ namespace drawinglayer
// prepare return value
const sal_uInt32 nDestSize(aDestination.size());
- aRetval.realloc(nDestSize);
+ aRetval.resize(nDestSize);
for(sal_uInt32 b(0); b < nDestSize; b++)
{
@@ -278,7 +278,7 @@ namespace drawinglayer
HatchTexturePrimitive3D::HatchTexturePrimitive3D(
const attribute::FillHatchAttribute& rHatch,
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::B2DVector& rTextureSize,
bool bModulate,
bool bFilter)
@@ -300,13 +300,13 @@ namespace drawinglayer
return false;
}
- Primitive3DSequence HatchTexturePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
+ Primitive3DContainer HatchTexturePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
{
::osl::MutexGuard aGuard( m_aMutex );
- if(!getBuffered3DDecomposition().hasElements())
+ if(getBuffered3DDecomposition().empty())
{
- const Primitive3DSequence aNewSequence(impCreate3DDecomposition());
+ const Primitive3DContainer aNewSequence(impCreate3DDecomposition());
const_cast< HatchTexturePrimitive3D* >(this)->setBuffered3DDecomposition(aNewSequence);
}
diff --git a/drawinglayer/source/primitive3d/hiddengeometryprimitive3d.cxx b/drawinglayer/source/primitive3d/hiddengeometryprimitive3d.cxx
index cfa4e8fd0af2..69ccb85b3d58 100644
--- a/drawinglayer/source/primitive3d/hiddengeometryprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/hiddengeometryprimitive3d.cxx
@@ -31,20 +31,20 @@ namespace drawinglayer
namespace primitive3d
{
HiddenGeometryPrimitive3D::HiddenGeometryPrimitive3D(
- const Primitive3DSequence& rChildren)
+ const Primitive3DContainer& rChildren)
: GroupPrimitive3D(rChildren)
{
}
basegfx::B3DRange HiddenGeometryPrimitive3D::getB3DRange(const geometry::ViewInformation3D& rViewInformation) const
{
- return getB3DRangeFromPrimitive3DSequence(getChildren(), rViewInformation);
+ return getChildren().getB3DRange(rViewInformation);
}
- Primitive3DSequence HiddenGeometryPrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
+ Primitive3DContainer HiddenGeometryPrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
{
// return empty sequence
- return Primitive3DSequence();
+ return Primitive3DContainer();
}
// provide unique ID
diff --git a/drawinglayer/source/primitive3d/modifiedcolorprimitive3d.cxx b/drawinglayer/source/primitive3d/modifiedcolorprimitive3d.cxx
index c74dba780178..06ded39f8939 100644
--- a/drawinglayer/source/primitive3d/modifiedcolorprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/modifiedcolorprimitive3d.cxx
@@ -31,7 +31,7 @@ namespace drawinglayer
namespace primitive3d
{
ModifiedColorPrimitive3D::ModifiedColorPrimitive3D(
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::BColorModifierSharedPtr& rColorModifier)
: GroupPrimitive3D(rChildren),
maColorModifier(rColorModifier)
diff --git a/drawinglayer/source/primitive3d/polygonprimitive3d.cxx b/drawinglayer/source/primitive3d/polygonprimitive3d.cxx
index 1367d0a3fe5a..b7930bbe8947 100644
--- a/drawinglayer/source/primitive3d/polygonprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/polygonprimitive3d.cxx
@@ -73,9 +73,9 @@ namespace drawinglayer
{
namespace primitive3d
{
- Primitive3DSequence PolygonStrokePrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
+ Primitive3DContainer PolygonStrokePrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
{
- Primitive3DSequence aRetval;
+ Primitive3DContainer aRetval;
if(getB3DPolygon().count())
{
@@ -92,7 +92,7 @@ namespace drawinglayer
}
// prepare result
- aRetval.realloc(aHairLinePolyPolygon.count());
+ aRetval.resize(aHairLinePolyPolygon.count());
if(getLineAttribute().getWidth())
{
diff --git a/drawinglayer/source/primitive3d/polygontubeprimitive3d.cxx b/drawinglayer/source/primitive3d/polygontubeprimitive3d.cxx
index bbef152697d9..74cc5937b4bf 100644
--- a/drawinglayer/source/primitive3d/polygontubeprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/polygontubeprimitive3d.cxx
@@ -40,7 +40,7 @@ namespace drawinglayer
{
private:
// data for buffered tube primitives
- Primitive3DSequence m_aLineTubeList;
+ Primitive3DContainer m_aLineTubeList;
sal_uInt32 m_nLineTubeSegments;
attribute::MaterialAttribute3D m_aLineMaterial;
::osl::Mutex m_aMutex;
@@ -50,7 +50,7 @@ namespace drawinglayer
{
}
- Primitive3DSequence getLineTubeSegments(
+ Primitive3DContainer getLineTubeSegments(
sal_uInt32 nSegments,
const attribute::MaterialAttribute3D& rMaterial)
{
@@ -61,10 +61,10 @@ namespace drawinglayer
{
m_nLineTubeSegments = nSegments;
m_aLineMaterial = rMaterial;
- m_aLineTubeList = Primitive3DSequence();
+ m_aLineTubeList = Primitive3DContainer();
}
- if (!m_aLineTubeList.hasElements() && m_nLineTubeSegments != 0)
+ if (m_aLineTubeList.empty() && m_nLineTubeSegments != 0)
{
const basegfx::B3DPoint aLeft(0.0, 0.0, 0.0);
const basegfx::B3DPoint aRight(1.0, 0.0, 0.0);
@@ -72,7 +72,7 @@ namespace drawinglayer
basegfx::B3DPoint aLastRight(1.0, 1.0, 0.0);
basegfx::B3DHomMatrix aRot;
aRot.rotate(F_2PI / (double)m_nLineTubeSegments, 0.0, 0.0);
- m_aLineTubeList.realloc(m_nLineTubeSegments);
+ m_aLineTubeList.resize(m_nLineTubeSegments);
for(sal_uInt32 a = 0; a < m_nLineTubeSegments; ++a)
{
@@ -109,7 +109,7 @@ namespace drawinglayer
struct theTubeBuffer :
public rtl::Static< TubeBuffer, theTubeBuffer > {};
- Primitive3DSequence getLineTubeSegments(
+ Primitive3DContainer getLineTubeSegments(
sal_uInt32 nSegments,
const attribute::MaterialAttribute3D& rMaterial)
{
@@ -122,7 +122,7 @@ namespace drawinglayer
{
private:
// data for buffered cap primitives
- Primitive3DSequence m_aLineCapList;
+ Primitive3DContainer m_aLineCapList;
sal_uInt32 m_nLineCapSegments;
attribute::MaterialAttribute3D m_aLineMaterial;
::osl::Mutex m_aMutex;
@@ -131,7 +131,7 @@ namespace drawinglayer
: m_nLineCapSegments(0)
{
}
- Primitive3DSequence getLineCapSegments(
+ Primitive3DContainer getLineCapSegments(
sal_uInt32 nSegments,
const attribute::MaterialAttribute3D& rMaterial)
{
@@ -142,16 +142,16 @@ namespace drawinglayer
{
m_nLineCapSegments = nSegments;
m_aLineMaterial = rMaterial;
- m_aLineCapList = Primitive3DSequence();
+ m_aLineCapList = Primitive3DContainer();
}
- if (!m_aLineCapList.hasElements() && m_nLineCapSegments != 0)
+ if (m_aLineCapList.empty() && m_nLineCapSegments != 0)
{
const basegfx::B3DPoint aNull(0.0, 0.0, 0.0);
basegfx::B3DPoint aLast(0.0, 1.0, 0.0);
basegfx::B3DHomMatrix aRot;
aRot.rotate(F_2PI / (double)m_nLineCapSegments, 0.0, 0.0);
- m_aLineCapList.realloc(m_nLineCapSegments);
+ m_aLineCapList.resize(m_nLineCapSegments);
for(sal_uInt32 a = 0; a < m_nLineCapSegments; ++a)
{
@@ -184,7 +184,7 @@ namespace drawinglayer
struct theCapBuffer :
public rtl::Static< CapBuffer, theCapBuffer > {};
- Primitive3DSequence getLineCapSegments(
+ Primitive3DContainer getLineCapSegments(
sal_uInt32 nSegments,
const attribute::MaterialAttribute3D& rMaterial)
{
@@ -197,7 +197,7 @@ namespace drawinglayer
{
private:
// data for buffered capround primitives
- Primitive3DSequence m_aLineCapRoundList;
+ Primitive3DContainer m_aLineCapRoundList;
sal_uInt32 m_nLineCapRoundSegments;
attribute::MaterialAttribute3D m_aLineMaterial;
::osl::Mutex m_aMutex;
@@ -206,7 +206,7 @@ namespace drawinglayer
: m_nLineCapRoundSegments(0)
{
}
- Primitive3DSequence getLineCapRoundSegments(
+ Primitive3DContainer getLineCapRoundSegments(
sal_uInt32 nSegments,
const attribute::MaterialAttribute3D& rMaterial)
{
@@ -217,10 +217,10 @@ namespace drawinglayer
{
m_nLineCapRoundSegments = nSegments;
m_aLineMaterial = rMaterial;
- m_aLineCapRoundList = Primitive3DSequence();
+ m_aLineCapRoundList = Primitive3DContainer();
}
- if (!m_aLineCapRoundList.hasElements() && m_nLineCapRoundSegments)
+ if (m_aLineCapRoundList.empty() && m_nLineCapRoundSegments)
{
// calculate new horizontal segments
sal_uInt32 nVerSeg(nSegments / 2);
@@ -251,7 +251,7 @@ namespace drawinglayer
aSphere.transformNormals(aSphereTrans);
// realloc for primitives and create based on polygon snippets
- m_aLineCapRoundList.realloc(nCount);
+ m_aLineCapRoundList.resize(nCount);
for (sal_uInt32 a = 0; a < nCount; ++a)
{
@@ -277,7 +277,7 @@ namespace drawinglayer
public rtl::Static< CapRoundBuffer, theCapRoundBuffer > {};
- Primitive3DSequence getLineCapRoundSegments(
+ Primitive3DContainer getLineCapRoundSegments(
sal_uInt32 nSegments,
const attribute::MaterialAttribute3D& rMaterial)
{
@@ -286,7 +286,7 @@ namespace drawinglayer
return rTheBuffer.getLineCapRoundSegments(nSegments, rMaterial);
}
- Primitive3DSequence getLineJoinSegments(
+ Primitive3DContainer getLineJoinSegments(
sal_uInt32 nSegments,
const attribute::MaterialAttribute3D& rMaterial,
double fAngle,
@@ -496,7 +496,7 @@ namespace drawinglayer
}
}
- Primitive3DSequence aRetval(aResultVector.size());
+ Primitive3DContainer aRetval(aResultVector.size());
for(size_t a(0); a < aResultVector.size(); a++)
{
@@ -535,7 +535,7 @@ namespace drawinglayer
{
namespace primitive3d
{
- Primitive3DSequence PolygonTubePrimitive3D::impCreate3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
+ Primitive3DContainer PolygonTubePrimitive3D::impCreate3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
{
const sal_uInt32 nPointCount(getB3DPolygon().count());
std::vector< BasePrimitive3D* > aResultVector;
@@ -608,7 +608,7 @@ namespace drawinglayer
if(bNoLineJoin || (!bClosed && bFirst))
{
// line start edge, build transformed primitiveVector3D
- Primitive3DSequence aSequence;
+ Primitive3DContainer aSequence;
if(bLineCapRound && bFirst)
{
@@ -633,7 +633,7 @@ namespace drawinglayer
{
// line connect non-parallel, aBack, aForw, use getLineJoin()
const double fAngle(acos(aBack.scalar(aForw) / (fForwLen * aBack.getLength()))); // 0.0 .. F_PI2
- Primitive3DSequence aNewList(
+ Primitive3DContainer aNewList(
getLineJoinSegments(
nSegments,
aMaterial,
@@ -696,7 +696,7 @@ namespace drawinglayer
aBackCapTrans.translate(aCurr.getX(), aCurr.getY(), aCurr.getZ());
// get primitiveVector3D
- Primitive3DSequence aSequence;
+ Primitive3DContainer aSequence;
if(bLineCapRound && bLast)
{
@@ -730,7 +730,7 @@ namespace drawinglayer
}
// prepare return value
- Primitive3DSequence aRetval(aResultVector.size());
+ Primitive3DContainer aRetval(aResultVector.size());
for(size_t a(0); a < aResultVector.size(); a++)
{
@@ -773,13 +773,13 @@ namespace drawinglayer
return false;
}
- Primitive3DSequence PolygonTubePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
+ Primitive3DContainer PolygonTubePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
- if(!getLast3DDecomposition().hasElements())
+ if(getLast3DDecomposition().empty())
{
- const Primitive3DSequence aNewSequence(impCreate3DDecomposition(rViewInformation));
+ const Primitive3DContainer aNewSequence(impCreate3DDecomposition(rViewInformation));
const_cast< PolygonTubePrimitive3D* >(this)->setLast3DDecomposition(aNewSequence);
}
diff --git a/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx b/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx
index 86a8b2454df6..54a0cd980541 100644
--- a/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx
@@ -38,10 +38,10 @@ namespace drawinglayer
{
namespace primitive3d
{
- Primitive3DSequence SdrCubePrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
+ Primitive3DContainer SdrCubePrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
{
const basegfx::B3DRange aUnitRange(0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
- Primitive3DSequence aRetval;
+ Primitive3DContainer aRetval;
basegfx::B3DPolyPolygon aFill(basegfx::tools::createCubeFillPolyPolygonFromB3DRange(aUnitRange));
// normal creation
@@ -160,17 +160,17 @@ namespace drawinglayer
if(!getSdrLFSAttribute().getLine().isDefault())
{
basegfx::B3DPolyPolygon aLine(basegfx::tools::createCubePolyPolygonFromB3DRange(aUnitRange));
- const Primitive3DSequence aLines(create3DPolyPolygonLinePrimitives(
+ const Primitive3DContainer aLines(create3DPolyPolygonLinePrimitives(
aLine, getTransform(), getSdrLFSAttribute().getLine()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aLines);
+ aRetval.append(aLines);
}
// add shadow
- if(!getSdrLFSAttribute().getShadow().isDefault() && aRetval.hasElements())
+ if(!getSdrLFSAttribute().getShadow().isDefault() && !aRetval.empty())
{
- const Primitive3DSequence aShadow(createShadowPrimitive3D(
+ const Primitive3DContainer aShadow(createShadowPrimitive3D(
aRetval, getSdrLFSAttribute().getShadow(), getSdr3DObjectAttribute().getShadow3D()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aShadow);
+ aRetval.append(aShadow);
}
return aRetval;
diff --git a/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx b/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx
index da802ddd7b86..08be61105710 100644
--- a/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx
@@ -133,7 +133,7 @@ namespace drawinglayer
}
}
- Primitive3DSequence create3DPolyPolygonLinePrimitives(
+ Primitive3DContainer create3DPolyPolygonLinePrimitives(
const basegfx::B3DPolyPolygon& rUnitPolyPolygon,
const basegfx::B3DHomMatrix& rObjectTransform,
const attribute::SdrLineAttribute& rLine)
@@ -147,7 +147,7 @@ namespace drawinglayer
const attribute::StrokeAttribute aStrokeAttribute(rLine.getDotDashArray(), rLine.getFullDotDashLen());
// create primitives
- Primitive3DSequence aRetval(aScaledPolyPolygon.count());
+ Primitive3DContainer aRetval(aScaledPolyPolygon.count());
for(sal_uInt32 a(0L); a < aScaledPolyPolygon.count(); a++)
{
@@ -159,13 +159,13 @@ namespace drawinglayer
{
// create UnifiedTransparenceTexturePrimitive3D, add created primitives and exchange
const Primitive3DReference xRef(new UnifiedTransparenceTexturePrimitive3D(rLine.getTransparence(), aRetval));
- aRetval = Primitive3DSequence(&xRef, 1L);
+ aRetval = { xRef };
}
return aRetval;
}
- Primitive3DSequence create3DPolyPolygonFillPrimitives(
+ Primitive3DContainer create3DPolyPolygonFillPrimitives(
const ::std::vector< basegfx::B3DPolyPolygon >& r3DPolyPolygonVector,
const basegfx::B3DHomMatrix& rObjectTransform,
const basegfx::B2DVector& rTextureSize,
@@ -173,12 +173,12 @@ namespace drawinglayer
const attribute::SdrFillAttribute& rFill,
const attribute::FillGradientAttribute& rFillGradient)
{
- Primitive3DSequence aRetval;
+ Primitive3DContainer aRetval;
if(r3DPolyPolygonVector.size())
{
// create list of simple fill primitives
- aRetval.realloc(r3DPolyPolygonVector.size());
+ aRetval.resize(r3DPolyPolygonVector.size());
for(size_t a(0); a < r3DPolyPolygonVector.size(); a++)
{
@@ -242,7 +242,7 @@ namespace drawinglayer
// exchange aRetval content with texture group
const Primitive3DReference xRef(pNewTexturePrimitive3D);
- aRetval = Primitive3DSequence(&xRef, 1L);
+ aRetval = { xRef };
if(css::drawing::TextureKind2_LUMINANCE == aSdr3DObjectAttribute.getTextureKind())
{
@@ -254,7 +254,7 @@ namespace drawinglayer
aRetval,
aBColorModifier));
- aRetval = Primitive3DSequence(&xRef2, 1L);
+ aRetval = { xRef2 };
}
}
@@ -262,26 +262,26 @@ namespace drawinglayer
{
// create UnifiedTransparenceTexturePrimitive3D with sublist and exchange
const Primitive3DReference xRef(new UnifiedTransparenceTexturePrimitive3D(rFill.getTransparence(), aRetval));
- aRetval = Primitive3DSequence(&xRef, 1L);
+ aRetval = { xRef };
}
else if(!rFillGradient.isDefault())
{
// create TransparenceTexturePrimitive3D with sublist and exchange
const Primitive3DReference xRef(new TransparenceTexturePrimitive3D(rFillGradient, aRetval, rTextureSize));
- aRetval = Primitive3DSequence(&xRef, 1L);
+ aRetval = { xRef };
}
}
return aRetval;
}
- Primitive3DSequence createShadowPrimitive3D(
- const Primitive3DSequence& rSource,
+ Primitive3DContainer createShadowPrimitive3D(
+ const Primitive3DContainer& rSource,
const attribute::SdrShadowAttribute& rShadow,
bool bShadow3D)
{
// create Shadow primitives. Uses already created primitives
- if(rSource.hasElements() && !basegfx::fTools::moreOrEqual(rShadow.getTransparence(), 1.0))
+ if(!rSource.empty() && !basegfx::fTools::moreOrEqual(rShadow.getTransparence(), 1.0))
{
// prepare new list for shadow geometry
basegfx::B2DHomMatrix aShadowOffset;
@@ -290,15 +290,15 @@ namespace drawinglayer
// create shadow primitive and add primitives
const Primitive3DReference xRef(new ShadowPrimitive3D(aShadowOffset, rShadow.getColor(), rShadow.getTransparence(), bShadow3D, rSource));
- return Primitive3DSequence(&xRef, 1L);
+ return { xRef };
}
else
{
- return Primitive3DSequence();
+ return Primitive3DContainer();
}
}
- Primitive3DSequence createHiddenGeometryPrimitives3D(
+ Primitive3DContainer createHiddenGeometryPrimitives3D(
const ::std::vector< basegfx::B3DPolyPolygon >& r3DPolyPolygonVector,
const basegfx::B3DHomMatrix& rObjectTransform,
const basegfx::B2DVector& rTextureSize,
@@ -323,7 +323,7 @@ namespace drawinglayer
aSimplifiedFillAttribute,
attribute::FillGradientAttribute())));
- return Primitive3DSequence(&aHidden, 1);
+ return { aHidden };
}
} // end of namespace primitive3d
diff --git a/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx b/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
index 46b865451fc8..153046fd388a 100644
--- a/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
@@ -39,9 +39,9 @@ namespace drawinglayer
{
namespace primitive3d
{
- Primitive3DSequence SdrExtrudePrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
+ Primitive3DContainer SdrExtrudePrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
{
- Primitive3DSequence aRetval;
+ Primitive3DContainer aRetval;
// get slices
const Slice3DVector& rSliceVector = getSlices();
@@ -322,9 +322,9 @@ namespace drawinglayer
if(aNewLineGeometry.count())
{
- const Primitive3DSequence aLines(create3DPolyPolygonLinePrimitives(
+ const Primitive3DContainer aLines(create3DPolyPolygonLinePrimitives(
aNewLineGeometry, getTransform(), getSdrLFSAttribute().getLine()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aLines);
+ aRetval.append(aLines);
}
}
else
@@ -334,23 +334,23 @@ namespace drawinglayer
const basegfx::B3DPolyPolygon aVerLine(extractVerticalLinesFromSlice(rSliceVector));
// add horizontal lines
- const Primitive3DSequence aHorLines(create3DPolyPolygonLinePrimitives(
+ const Primitive3DContainer aHorLines(create3DPolyPolygonLinePrimitives(
aHorLine, getTransform(), getSdrLFSAttribute().getLine()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aHorLines);
+ aRetval.append(aHorLines);
// add vertical lines
- const Primitive3DSequence aVerLines(create3DPolyPolygonLinePrimitives(
+ const Primitive3DContainer aVerLines(create3DPolyPolygonLinePrimitives(
aVerLine, getTransform(), getSdrLFSAttribute().getLine()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aVerLines);
+ aRetval.append(aVerLines);
}
}
// add shadow
- if(!getSdrLFSAttribute().getShadow().isDefault() && aRetval.hasElements())
+ if(!getSdrLFSAttribute().getShadow().isDefault() && !aRetval.empty())
{
- const Primitive3DSequence aShadow(createShadowPrimitive3D(
+ const Primitive3DContainer aShadow(createShadowPrimitive3D(
aRetval, getSdrLFSAttribute().getShadow(), getSdr3DObjectAttribute().getShadow3D()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aShadow);
+ aRetval.append(aShadow);
}
}
@@ -482,18 +482,18 @@ namespace drawinglayer
return get3DRangeFromSlices(getSlices());
}
- Primitive3DSequence SdrExtrudePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
+ Primitive3DContainer SdrExtrudePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
{
if(getSdr3DObjectAttribute().getReducedLineGeometry())
{
if(!mpLastRLGViewInformation ||
- (getBuffered3DDecomposition().hasElements()
+ (!getBuffered3DDecomposition().empty()
&& *mpLastRLGViewInformation != rViewInformation))
{
// conditions of last local decomposition with reduced lines have changed. Remember
// new one and clear current decompositiopn
SdrExtrudePrimitive3D* pThat = const_cast< SdrExtrudePrimitive3D* >(this);
- pThat->setBuffered3DDecomposition(Primitive3DSequence());
+ pThat->setBuffered3DDecomposition(Primitive3DContainer());
delete pThat->mpLastRLGViewInformation;
pThat->mpLastRLGViewInformation = new geometry::ViewInformation3D(rViewInformation);
}
diff --git a/drawinglayer/source/primitive3d/sdrlatheprimitive3d.cxx b/drawinglayer/source/primitive3d/sdrlatheprimitive3d.cxx
index 2f2d62118c71..d49427d092b9 100644
--- a/drawinglayer/source/primitive3d/sdrlatheprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrlatheprimitive3d.cxx
@@ -39,9 +39,9 @@ namespace drawinglayer
{
namespace primitive3d
{
- Primitive3DSequence SdrLathePrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
+ Primitive3DContainer SdrLathePrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
{
- Primitive3DSequence aRetval;
+ Primitive3DContainer aRetval;
// get slices
const Slice3DVector& rSliceVector = getSlices();
@@ -166,9 +166,9 @@ namespace drawinglayer
if(aNewLineGeometry.count())
{
- const Primitive3DSequence aLines(create3DPolyPolygonLinePrimitives(
+ const Primitive3DContainer aLines(create3DPolyPolygonLinePrimitives(
aNewLineGeometry, getTransform(), getSdrLFSAttribute().getLine()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aLines);
+ aRetval.append(aLines);
}
}
else
@@ -178,24 +178,24 @@ namespace drawinglayer
const basegfx::B3DPolyPolygon aVerLine(extractVerticalLinesFromSlice(rSliceVector));
// add horizontal lines
- const Primitive3DSequence aHorLines(create3DPolyPolygonLinePrimitives(
+ const Primitive3DContainer aHorLines(create3DPolyPolygonLinePrimitives(
aHorLine, getTransform(), getSdrLFSAttribute().getLine()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aHorLines);
+ aRetval.append(aHorLines);
// add vertical lines
- const Primitive3DSequence aVerLines(create3DPolyPolygonLinePrimitives(
+ const Primitive3DContainer aVerLines(create3DPolyPolygonLinePrimitives(
aVerLine, getTransform(), getSdrLFSAttribute().getLine()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aVerLines);
+ aRetval.append(aVerLines);
}
}
// add shadow
if(!getSdrLFSAttribute().getShadow().isDefault()
- && aRetval.hasElements())
+ && !aRetval.empty())
{
- const Primitive3DSequence aShadow(createShadowPrimitive3D(
+ const Primitive3DContainer aShadow(createShadowPrimitive3D(
aRetval, getSdrLFSAttribute().getShadow(), getSdr3DObjectAttribute().getShadow3D()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aShadow);
+ aRetval.append(aShadow);
}
}
@@ -344,18 +344,18 @@ namespace drawinglayer
return get3DRangeFromSlices(getSlices());
}
- Primitive3DSequence SdrLathePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
+ Primitive3DContainer SdrLathePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const
{
if(getSdr3DObjectAttribute().getReducedLineGeometry())
{
if(!mpLastRLGViewInformation ||
- (getBuffered3DDecomposition().hasElements()
+ (!getBuffered3DDecomposition().empty()
&& *mpLastRLGViewInformation != rViewInformation))
{
// conditions of last local decomposition with reduced lines have changed. Remember
// new one and clear current decompositiopn
SdrLathePrimitive3D* pThat = const_cast< SdrLathePrimitive3D* >(this);
- pThat->setBuffered3DDecomposition(Primitive3DSequence());
+ pThat->setBuffered3DDecomposition(Primitive3DContainer());
delete pThat->mpLastRLGViewInformation;
pThat->mpLastRLGViewInformation = new geometry::ViewInformation3D(rViewInformation);
}
diff --git a/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx b/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx
index 285de36f55a9..214a4344d292 100644
--- a/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx
@@ -35,9 +35,9 @@ namespace drawinglayer
{
namespace primitive3d
{
- Primitive3DSequence SdrPolyPolygonPrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
+ Primitive3DContainer SdrPolyPolygonPrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
{
- Primitive3DSequence aRetval;
+ Primitive3DContainer aRetval;
if(getPolyPolygon3D().count())
{
@@ -103,18 +103,18 @@ namespace drawinglayer
basegfx::B3DPolyPolygon aLine(getPolyPolygon3D());
aLine.clearNormals();
aLine.clearTextureCoordinates();
- const Primitive3DSequence aLines(create3DPolyPolygonLinePrimitives(
+ const Primitive3DContainer aLines(create3DPolyPolygonLinePrimitives(
aLine, getTransform(), getSdrLFSAttribute().getLine()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aLines);
+ aRetval.append(aLines);
}
// add shadow
if(!getSdrLFSAttribute().getShadow().isDefault()
- && aRetval.hasElements())
+ && !aRetval.empty())
{
- const Primitive3DSequence aShadow(createShadowPrimitive3D(
+ const Primitive3DContainer aShadow(createShadowPrimitive3D(
aRetval, getSdrLFSAttribute().getShadow(), getSdr3DObjectAttribute().getShadow3D()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aShadow);
+ aRetval.append(aShadow);
}
}
diff --git a/drawinglayer/source/primitive3d/sdrsphereprimitive3d.cxx b/drawinglayer/source/primitive3d/sdrsphereprimitive3d.cxx
index e9d39e48f922..66a667982d98 100644
--- a/drawinglayer/source/primitive3d/sdrsphereprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrsphereprimitive3d.cxx
@@ -38,9 +38,9 @@ namespace drawinglayer
{
namespace primitive3d
{
- Primitive3DSequence SdrSpherePrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
+ Primitive3DContainer SdrSpherePrimitive3D::create3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
{
- Primitive3DSequence aRetval;
+ Primitive3DContainer aRetval;
const basegfx::B3DRange aUnitRange(0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
const bool bCreateNormals(css::drawing::NormalsKind_SPECIFIC == getSdr3DObjectAttribute().getNormalsKind()
|| css::drawing::NormalsKind_SPHERE == getSdr3DObjectAttribute().getNormalsKind());
@@ -149,18 +149,18 @@ namespace drawinglayer
if(!getSdrLFSAttribute().getLine().isDefault())
{
basegfx::B3DPolyPolygon aSphere(basegfx::tools::createSpherePolyPolygonFromB3DRange(aUnitRange, getHorizontalSegments(), getVerticalSegments()));
- const Primitive3DSequence aLines(create3DPolyPolygonLinePrimitives(
+ const Primitive3DContainer aLines(create3DPolyPolygonLinePrimitives(
aSphere, getTransform(), getSdrLFSAttribute().getLine()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aLines);
+ aRetval.append(aLines);
}
// add shadow
if(!getSdrLFSAttribute().getShadow().isDefault()
- && aRetval.hasElements())
+ && !aRetval.empty())
{
- const Primitive3DSequence aShadow(createShadowPrimitive3D(
+ const Primitive3DContainer aShadow(createShadowPrimitive3D(
aRetval, getSdrLFSAttribute().getShadow(), getSdr3DObjectAttribute().getShadow3D()));
- appendPrimitive3DSequenceToPrimitive3DSequence(aRetval, aShadow);
+ aRetval.append(aShadow);
}
return aRetval;
diff --git a/drawinglayer/source/primitive3d/shadowprimitive3d.cxx b/drawinglayer/source/primitive3d/shadowprimitive3d.cxx
index 782170daf46d..d99c39ae4a93 100644
--- a/drawinglayer/source/primitive3d/shadowprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/shadowprimitive3d.cxx
@@ -35,7 +35,7 @@ namespace drawinglayer
const basegfx::BColor& rShadowColor,
double fShadowTransparence,
bool bShadow3D,
- const Primitive3DSequence& rChildren)
+ const Primitive3DContainer& rChildren)
: GroupPrimitive3D(rChildren),
maShadowTransform(rShadowTransform),
maShadowColor(rShadowColor),
diff --git a/drawinglayer/source/primitive3d/textureprimitive3d.cxx b/drawinglayer/source/primitive3d/textureprimitive3d.cxx
index 674e76846c57..53587ac10817 100644
--- a/drawinglayer/source/primitive3d/textureprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/textureprimitive3d.cxx
@@ -32,7 +32,7 @@ namespace drawinglayer
namespace primitive3d
{
TexturePrimitive3D::TexturePrimitive3D(
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::B2DVector& rTextureSize,
bool bModulate, bool bFilter)
: GroupPrimitive3D(rChildren),
@@ -65,7 +65,7 @@ namespace drawinglayer
{
UnifiedTransparenceTexturePrimitive3D::UnifiedTransparenceTexturePrimitive3D(
double fTransparence,
- const Primitive3DSequence& rChildren)
+ const Primitive3DContainer& rChildren)
: TexturePrimitive3D(rChildren, basegfx::B2DVector(), false, false),
mfTransparence(fTransparence)
{
@@ -87,10 +87,10 @@ namespace drawinglayer
{
// do not use the fallback to decomposition here since for a correct BoundRect we also
// need invisible (1.0 == getTransparence()) geometry; these would be deleted in the decomposition
- return getB3DRangeFromPrimitive3DSequence(getChildren(), rViewInformation);
+ return getChildren().getB3DRange(rViewInformation);
}
- Primitive3DSequence UnifiedTransparenceTexturePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
+ Primitive3DContainer UnifiedTransparenceTexturePrimitive3D::get3DDecomposition(const geometry::ViewInformation3D& /*rViewInformation*/) const
{
if(0.0 == getTransparence())
{
@@ -103,12 +103,12 @@ namespace drawinglayer
const basegfx::BColor aGray(getTransparence(), getTransparence(), getTransparence());
const attribute::FillGradientAttribute aFillGradient(attribute::GRADIENTSTYLE_LINEAR, 0.0, 0.0, 0.0, 0.0, aGray, aGray, 1);
const Primitive3DReference xRef(new TransparenceTexturePrimitive3D(aFillGradient, getChildren(), getTextureSize()));
- return Primitive3DSequence(&xRef, 1L);
+ return { xRef };
}
else
{
// completely transparent or invalid definition, add nothing
- return Primitive3DSequence();
+ return Primitive3DContainer();
}
}
@@ -126,7 +126,7 @@ namespace drawinglayer
{
GradientTexturePrimitive3D::GradientTexturePrimitive3D(
const attribute::FillGradientAttribute& rGradient,
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::B2DVector& rTextureSize,
bool bModulate,
bool bFilter)
@@ -161,7 +161,7 @@ namespace drawinglayer
{
BitmapTexturePrimitive3D::BitmapTexturePrimitive3D(
const attribute::FillGraphicAttribute& rFillGraphicAttribute,
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::B2DVector& rTextureSize,
bool bModulate, bool bFilter)
: TexturePrimitive3D(rChildren, rTextureSize, bModulate, bFilter),
@@ -195,7 +195,7 @@ namespace drawinglayer
{
TransparenceTexturePrimitive3D::TransparenceTexturePrimitive3D(
const attribute::FillGradientAttribute& rGradient,
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::B2DVector& rTextureSize)
: GradientTexturePrimitive3D(rGradient, rChildren, rTextureSize, false, false)
{
diff --git a/drawinglayer/source/primitive3d/transformprimitive3d.cxx b/drawinglayer/source/primitive3d/transformprimitive3d.cxx
index 8f155418730e..f0351dace8da 100644
--- a/drawinglayer/source/primitive3d/transformprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/transformprimitive3d.cxx
@@ -33,7 +33,7 @@ namespace drawinglayer
{
TransformPrimitive3D::TransformPrimitive3D(
const basegfx::B3DHomMatrix& rTransformation,
- const Primitive3DSequence& rChildren)
+ const Primitive3DContainer& rChildren)
: GroupPrimitive3D(rChildren),
maTransformation(rTransformation)
{
@@ -53,7 +53,7 @@ namespace drawinglayer
basegfx::B3DRange TransformPrimitive3D::getB3DRange(const geometry::ViewInformation3D& rViewInformation) const
{
- basegfx::B3DRange aRetval(getB3DRangeFromPrimitive3DSequence(getChildren(), rViewInformation));
+ basegfx::B3DRange aRetval(getChildren().getB3DRange(rViewInformation));
aRetval.transform(getTransformation());
return aRetval;
}
diff --git a/drawinglayer/source/processor2d/hittestprocessor2d.cxx b/drawinglayer/source/processor2d/hittestprocessor2d.cxx
index cda04f3df7a8..190778e2ae39 100644
--- a/drawinglayer/source/processor2d/hittestprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/hittestprocessor2d.cxx
@@ -183,14 +183,13 @@ namespace drawinglayer
if(!aFront.equal(aBack))
{
- const primitive3d::Primitive3DSequence& rPrimitives = rCandidate.getChildren3D();
+ const primitive3d::Primitive3DContainer& rPrimitives = rCandidate.getChildren3D();
- if(rPrimitives.hasElements())
+ if(!rPrimitives.empty())
{
// make BoundVolume empty and overlapping test for speedup
const basegfx::B3DRange aObjectRange(
- drawinglayer::primitive3d::getB3DRangeFromPrimitive3DSequence(
- rPrimitives, rObjectViewInformation3D));
+ rPrimitives.getB3DRange(rObjectViewInformation3D));
if(!aObjectRange.isEmpty())
{
diff --git a/drawinglayer/source/processor3d/baseprocessor3d.cxx b/drawinglayer/source/processor3d/baseprocessor3d.cxx
index c6d92b1b000e..29832785ee54 100644
--- a/drawinglayer/source/processor3d/baseprocessor3d.cxx
+++ b/drawinglayer/source/processor3d/baseprocessor3d.cxx
@@ -18,6 +18,7 @@
*/
#include <drawinglayer/processor3d/baseprocessor3d.hxx>
+#include <comphelper/sequence.hxx>
@@ -42,13 +43,13 @@ namespace drawinglayer
{
}
- void BaseProcessor3D::process(const primitive3d::Primitive3DSequence& rSource)
+ void BaseProcessor3D::process(const primitive3d::Primitive3DContainer& rSource)
{
- if(rSource.hasElements())
+ if(!rSource.empty())
{
- const sal_Int32 nCount(rSource.getLength());
+ const size_t nCount(rSource.size());
- for(sal_Int32 a(0L); a < nCount; a++)
+ for(size_t a(0L); a < nCount; a++)
{
// get reference
const primitive3d::Primitive3DReference xReference(rSource[a]);
@@ -66,7 +67,7 @@ namespace drawinglayer
{
// unknown implementation, use UNO API call instead and process recursively
const uno::Sequence< beans::PropertyValue >& rViewParameters(getViewInformation3D().getViewInformationSequence());
- process(xReference->getDecomposition(rViewParameters));
+ process(comphelper::sequenceToContainer<primitive3d::Primitive3DContainer>(xReference->getDecomposition(rViewParameters)));
}
}
}
diff --git a/drawinglayer/source/processor3d/cutfindprocessor3d.cxx b/drawinglayer/source/processor3d/cutfindprocessor3d.cxx
index 0daeb529cd76..6a1fc2a3b950 100644
--- a/drawinglayer/source/processor3d/cutfindprocessor3d.cxx
+++ b/drawinglayer/source/processor3d/cutfindprocessor3d.cxx
@@ -120,9 +120,9 @@ namespace drawinglayer
// so force this primitive to process its children directly if the switch is set
// (which is the default). Else, ignore invisible content
const primitive3d::HiddenGeometryPrimitive3D& rHiddenGeometry(static_cast< const primitive3d::HiddenGeometryPrimitive3D& >(rCandidate));
- const primitive3d::Primitive3DSequence& rChildren = rHiddenGeometry.getChildren();
+ const primitive3d::Primitive3DContainer& rChildren = rHiddenGeometry.getChildren();
- if(rChildren.hasElements())
+ if(!rChildren.empty())
{
if(getUseInvisiblePrimitiveContent())
{
@@ -135,9 +135,9 @@ namespace drawinglayer
case PRIMITIVE3D_ID_UNIFIEDTRANSPARENCETEXTUREPRIMITIVE3D :
{
const primitive3d::UnifiedTransparenceTexturePrimitive3D& rPrimitive = static_cast< const primitive3d::UnifiedTransparenceTexturePrimitive3D& >(rCandidate);
- const primitive3d::Primitive3DSequence rChildren = rPrimitive.getChildren();
+ const primitive3d::Primitive3DContainer rChildren = rPrimitive.getChildren();
- if(rChildren.getLength())
+ if(rChildren.size())
{
if(1.0 <= rPrimitive.getTransparence())
{
diff --git a/drawinglayer/source/processor3d/defaultprocessor3d.cxx b/drawinglayer/source/processor3d/defaultprocessor3d.cxx
index 38b53d00d045..0f572e71b415 100644
--- a/drawinglayer/source/processor3d/defaultprocessor3d.cxx
+++ b/drawinglayer/source/processor3d/defaultprocessor3d.cxx
@@ -49,9 +49,9 @@ namespace drawinglayer
{
void DefaultProcessor3D::impRenderGradientTexturePrimitive3D(const primitive3d::GradientTexturePrimitive3D& rPrimitive, bool bTransparence)
{
- const primitive3d::Primitive3DSequence& rSubSequence = rPrimitive.getChildren();
+ const primitive3d::Primitive3DContainer& rSubSequence = rPrimitive.getChildren();
- if(rSubSequence.hasElements())
+ if(!rSubSequence.empty())
{
// rescue values
const bool bOldModulate(getModulate()); mbModulate = rPrimitive.getModulate();
@@ -212,9 +212,9 @@ namespace drawinglayer
void DefaultProcessor3D::impRenderHatchTexturePrimitive3D(const primitive3d::HatchTexturePrimitive3D& rPrimitive)
{
- const primitive3d::Primitive3DSequence& rSubSequence = rPrimitive.getChildren();
+ const primitive3d::Primitive3DContainer& rSubSequence = rPrimitive.getChildren();
- if(rSubSequence.hasElements())
+ if(!rSubSequence.empty())
{
// rescue values
const bool bOldModulate(getModulate()); mbModulate = rPrimitive.getModulate();
@@ -253,9 +253,9 @@ namespace drawinglayer
void DefaultProcessor3D::impRenderBitmapTexturePrimitive3D(const primitive3d::BitmapTexturePrimitive3D& rPrimitive)
{
- const primitive3d::Primitive3DSequence& rSubSequence = rPrimitive.getChildren();
+ const primitive3d::Primitive3DContainer& rSubSequence = rPrimitive.getChildren();
- if(rSubSequence.hasElements())
+ if(!rSubSequence.empty())
{
// rescue values
const bool bOldModulate(getModulate()); mbModulate = rPrimitive.getModulate();
@@ -304,9 +304,9 @@ namespace drawinglayer
void DefaultProcessor3D::impRenderModifiedColorPrimitive3D(const primitive3d::ModifiedColorPrimitive3D& rModifiedCandidate)
{
- const primitive3d::Primitive3DSequence& rSubSequence = rModifiedCandidate.getChildren();
+ const primitive3d::Primitive3DContainer& rSubSequence = rModifiedCandidate.getChildren();
- if(rSubSequence.hasElements())
+ if(!rSubSequence.empty())
{
// put modifier on stack
maBColorModifierStack.push(rModifiedCandidate.getColorModifier());
diff --git a/drawinglayer/source/processor3d/geometry2dextractor.cxx b/drawinglayer/source/processor3d/geometry2dextractor.cxx
index f7155b1dc335..db304fd6e8ef 100644
--- a/drawinglayer/source/processor3d/geometry2dextractor.cxx
+++ b/drawinglayer/source/processor3d/geometry2dextractor.cxx
@@ -73,9 +73,9 @@ namespace drawinglayer
{
// ModifiedColorPrimitive3D; push, process and pop
const primitive3d::ModifiedColorPrimitive3D& rModifiedCandidate = static_cast< const primitive3d::ModifiedColorPrimitive3D& >(rCandidate);
- const primitive3d::Primitive3DSequence& rSubSequence = rModifiedCandidate.getChildren();
+ const primitive3d::Primitive3DContainer& rSubSequence = rModifiedCandidate.getChildren();
- if(rSubSequence.hasElements())
+ if(!rSubSequence.empty())
{
maBColorModifierStack.push(rModifiedCandidate.getColorModifier());
process(rModifiedCandidate.getChildren());
@@ -121,9 +121,9 @@ namespace drawinglayer
{
// TexturePrimitive3D: Process children, do not try to decompose
const primitive3d::TexturePrimitive3D& rTexturePrimitive = static_cast< const primitive3d::TexturePrimitive3D& >(rCandidate);
- const primitive3d::Primitive3DSequence aChildren(rTexturePrimitive.getChildren());
+ const primitive3d::Primitive3DContainer aChildren(rTexturePrimitive.getChildren());
- if(aChildren.hasElements())
+ if(!aChildren.empty())
{
process(aChildren);
}
diff --git a/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx b/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
index 850cc363f447..78d4f91d916b 100644
--- a/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
@@ -48,7 +48,7 @@ namespace drawinglayer
{
private:
/// the sequence of 3d primitives
- primitive3d::Primitive3DSequence mxChildren3D;
+ primitive3d::Primitive3DContainer mxChildren3D;
/// the 2D scene object transformation
basegfx::B2DHomMatrix maObjectTransformation;
@@ -88,7 +88,7 @@ namespace drawinglayer
public:
/// constructor
Embedded3DPrimitive2D(
- const primitive3d::Primitive3DSequence& rxChildren3D,
+ const primitive3d::Primitive3DContainer& rxChildren3D,
const basegfx::B2DHomMatrix& rObjectTransformation,
const geometry::ViewInformation3D& rViewInformation3D,
const basegfx::B3DVector& rLightNormal,
@@ -96,7 +96,7 @@ namespace drawinglayer
const basegfx::B3DRange& rScene3DRange);
/// data read access
- const primitive3d::Primitive3DSequence& getChildren3D() const { return mxChildren3D; }
+ const primitive3d::Primitive3DContainer& getChildren3D() const { return mxChildren3D; }
const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
const geometry::ViewInformation3D& getViewInformation3D() const { return maViewInformation3D; }
const basegfx::B3DVector& getLightNormal() const { return maLightNormal; }
diff --git a/include/drawinglayer/primitive2d/sceneprimitive2d.hxx b/include/drawinglayer/primitive2d/sceneprimitive2d.hxx
index be2681f5f4e6..16394285fca6 100644
--- a/include/drawinglayer/primitive2d/sceneprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/sceneprimitive2d.hxx
@@ -57,7 +57,7 @@ namespace drawinglayer
{
private:
/// the 3D geometry definition
- primitive3d::Primitive3DSequence mxChildren3D;
+ primitive3d::Primitive3DContainer mxChildren3D;
/// 3D scene attribute set
attribute::SdrSceneAttribute maSdrSceneAttribute;
@@ -124,14 +124,14 @@ namespace drawinglayer
/// constructor
ScenePrimitive2D(
- const primitive3d::Primitive3DSequence& rxChildren3D,
+ const primitive3d::Primitive3DContainer& rxChildren3D,
const attribute::SdrSceneAttribute& rSdrSceneAttribute,
const attribute::SdrLightingAttribute& rSdrLightingAttribute,
const basegfx::B2DHomMatrix& rObjectTransformation,
const geometry::ViewInformation3D& rViewInformation3D);
/// data read access
- const primitive3d::Primitive3DSequence& getChildren3D() const { return mxChildren3D; }
+ const primitive3d::Primitive3DContainer& getChildren3D() const { return mxChildren3D; }
const attribute::SdrSceneAttribute& getSdrSceneAttribute() const { return maSdrSceneAttribute; }
const attribute::SdrLightingAttribute& getSdrLightingAttribute() const { return maSdrLightingAttribute; }
const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
diff --git a/include/drawinglayer/primitive3d/baseprimitive3d.hxx b/include/drawinglayer/primitive3d/baseprimitive3d.hxx
index 159108835fde..fe6b5a1fa102 100644
--- a/include/drawinglayer/primitive3d/baseprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/baseprimitive3d.hxx
@@ -48,10 +48,30 @@ namespace drawinglayer { namespace geometry {
}}
namespace drawinglayer { namespace primitive3d {
- /// typedefs for basePrimitive3DImplBase, Primitive3DSequence and Primitive3DReference
+ /// typedefs for basePrimitive3DImplBase, Primitive3DContainer and Primitive3DReference
typedef cppu::WeakComponentImplHelper1< css::graphic::XPrimitive3D > BasePrimitive3DImplBase;
typedef css::uno::Reference< css::graphic::XPrimitive3D > Primitive3DReference;
typedef css::uno::Sequence< Primitive3DReference > Primitive3DSequence;
+
+ class DRAWINGLAYER_DLLPUBLIC SAL_WARN_UNUSED Primitive3DContainer : public std::vector< Primitive3DReference >
+ {
+ public:
+ explicit Primitive3DContainer() {}
+ explicit Primitive3DContainer( size_type count ) : vector(count) {}
+ Primitive3DContainer( const Primitive3DContainer& other ) : vector(other) {}
+ Primitive3DContainer( const Primitive3DContainer&& other ) : vector(other) {}
+ Primitive3DContainer( const vector< Primitive3DReference >& other ) : vector(other) {}
+ Primitive3DContainer( std::initializer_list<Primitive3DReference> init ) : vector(init) {}
+
+ void append(const Primitive3DContainer& rSource);
+ void append(const Primitive3DSequence& rSource);
+ void append(Primitive3DContainer&& rSource);
+ Primitive3DContainer& operator=(const Primitive3DContainer& r) { vector::operator=(r); return *this; }
+ Primitive3DContainer& operator=(const Primitive3DContainer&& r) { vector::operator=(r); return *this; }
+ bool operator==(const Primitive3DContainer& rB) const;
+ bool operator!=(const Primitive3DContainer& rB) const { return !operator==(rB); }
+ basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& aViewInformation) const;
+ };
}}
@@ -106,7 +126,7 @@ namespace drawinglayer
virtual sal_uInt32 getPrimitive3DID() const = 0;
/// The default implementation returns an empty sequence
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
+ virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
// Methods from XPrimitive3D
@@ -144,20 +164,20 @@ namespace drawinglayer
{
private:
/// a sequence used for buffering the last create3DDecomposition() result
- Primitive3DSequence maBuffered3DDecomposition;
+ Primitive3DContainer maBuffered3DDecomposition;
protected:
/** access methods to maBuffered3DDecomposition. The usage of this methods may allow
later thread-safe stuff to be added if needed. Only to be used by getDecomposition()
implementations for buffering the last decomposition.
*/
- const Primitive3DSequence& getBuffered3DDecomposition() const { return maBuffered3DDecomposition; }
- void setBuffered3DDecomposition(const Primitive3DSequence& rNew) { maBuffered3DDecomposition = rNew; }
+ const Primitive3DContainer& getBuffered3DDecomposition() const { return maBuffered3DDecomposition; }
+ void setBuffered3DDecomposition(const Primitive3DContainer& rNew) { maBuffered3DDecomposition = rNew; }
/** method which is to be used to implement the local decomposition of a 2D primitive. The default
implementation will just return an empty decomposition
*/
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
+ virtual Primitive3DContainer create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
public:
// constructor
@@ -169,7 +189,7 @@ namespace drawinglayer
overridden and the ViewInformation for the last decomposition needs to be remembered, too, and
be used in the next call to decide if the buffered decomposition may be reused or not.
*/
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
};
} // end of namespace primitive3d
} // end of namespace drawinglayer
@@ -184,9 +204,6 @@ namespace drawinglayer
/// get B3DRange from a given Primitive3DReference
basegfx::B3DRange DRAWINGLAYER_DLLPUBLIC getB3DRangeFromPrimitive3DReference(const Primitive3DReference& rCandidate, const geometry::ViewInformation3D& aViewInformation);
- /// get range3D from a given Primitive3DSequence
- basegfx::B3DRange DRAWINGLAYER_DLLPUBLIC getB3DRangeFromPrimitive3DSequence(const Primitive3DSequence& rCandidate, const geometry::ViewInformation3D& aViewInformation);
-
/** compare two Primitive2DReferences for equality, including trying to get implementations (BasePrimitive2D)
and using compare operator
*/
@@ -196,7 +213,7 @@ namespace drawinglayer
bool DRAWINGLAYER_DLLPUBLIC arePrimitive3DSequencesEqual(const Primitive3DSequence& rA, const Primitive3DSequence& rB);
/// concatenate sequence
- void DRAWINGLAYER_DLLPUBLIC appendPrimitive3DSequenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DSequence& rSource);
+ void DRAWINGLAYER_DLLPUBLIC appendPrimitive3DSequenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DContainer& rSource);
/// concatenate single Primitive3D
void DRAWINGLAYER_DLLPUBLIC appendPrimitive3DReferenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DReference& rSource);
diff --git a/include/drawinglayer/primitive3d/groupprimitive3d.hxx b/include/drawinglayer/primitive3d/groupprimitive3d.hxx
index 1637a0c85ff1..1a6186843a3b 100644
--- a/include/drawinglayer/primitive3d/groupprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/groupprimitive3d.hxx
@@ -53,20 +53,20 @@ namespace drawinglayer
{
private:
/// the children. Declared private since this shall never be changed at all after construction
- Primitive3DSequence maChildren;
+ Primitive3DContainer maChildren;
public:
/// constructor
- explicit GroupPrimitive3D(const Primitive3DSequence& rChildren);
+ explicit GroupPrimitive3D(const Primitive3DContainer& rChildren);
/// data read access
- Primitive3DSequence getChildren() const { return maChildren; }
+ Primitive3DContainer getChildren() const { return maChildren; }
/// compare operator
virtual bool operator==( const BasePrimitive3D& rPrimitive ) const override;
/// local decomposition. Implementation will just return children
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive3DIDBlock()
diff --git a/include/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx b/include/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx
index 6be6c2eeae0e..8ea916229a7a 100644
--- a/include/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx
@@ -45,21 +45,21 @@ namespace drawinglayer
attribute::FillHatchAttribute maHatch;
/// the buffered decomposed hatch
- Primitive3DSequence maBuffered3DDecomposition;
+ Primitive3DContainer maBuffered3DDecomposition;
protected:
/// helper: local decomposition
- Primitive3DSequence impCreate3DDecomposition() const;
+ Primitive3DContainer impCreate3DDecomposition() const;
/// local access methods to maBufferedDecomposition
- const Primitive3DSequence& getBuffered3DDecomposition() const { return maBuffered3DDecomposition; }
- void setBuffered3DDecomposition(const Primitive3DSequence& rNew) { maBuffered3DDecomposition = rNew; }
+ const Primitive3DContainer& getBuffered3DDecomposition() const { return maBuffered3DDecomposition; }
+ void setBuffered3DDecomposition(const Primitive3DContainer& rNew) { maBuffered3DDecomposition = rNew; }
public:
/// constructor
HatchTexturePrimitive3D(
const attribute::FillHatchAttribute& rHatch,
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::B2DVector& rTextureSize,
bool bModulate,
bool bFilter);
@@ -71,7 +71,7 @@ namespace drawinglayer
virtual bool operator==(const BasePrimitive3D& rPrimitive) const override;
/// local decomposition.
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive3DIDBlock()
diff --git a/include/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx b/include/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx
index afd1b218edde..7b95cc870aff 100644
--- a/include/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx
@@ -43,7 +43,7 @@ namespace drawinglayer
class DRAWINGLAYER_DLLPUBLIC HiddenGeometryPrimitive3D : public GroupPrimitive3D
{
public:
- explicit HiddenGeometryPrimitive3D(const Primitive3DSequence& rChildren);
+ explicit HiddenGeometryPrimitive3D(const Primitive3DContainer& rChildren);
// despite returning an empty decomposition since it's no visualisation data,
// range calculation is intended to use hidden geometry, so
@@ -51,7 +51,7 @@ namespace drawinglayer
virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const override;
/// The default implementation returns an empty sequence
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
// provide unique ID
DeclPrimitive3DIDBlock()
diff --git a/include/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx b/include/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx
index 9e1235dc7c97..9361285d078d 100644
--- a/include/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx
@@ -47,7 +47,7 @@ namespace drawinglayer
public:
/// constructor
ModifiedColorPrimitive3D(
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::BColorModifierSharedPtr& rColorModifier);
/// data read access
diff --git a/include/drawinglayer/primitive3d/polygonprimitive3d.hxx b/include/drawinglayer/primitive3d/polygonprimitive3d.hxx
index 2201b67b1563..483b7b44d18e 100644
--- a/include/drawinglayer/primitive3d/polygonprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/polygonprimitive3d.hxx
@@ -99,7 +99,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive3d/polygontubeprimitive3d.hxx b/include/drawinglayer/primitive3d/polygontubeprimitive3d.hxx
index f8e312fb85e5..69d273f6d731 100644
--- a/include/drawinglayer/primitive3d/polygontubeprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/polygontubeprimitive3d.hxx
@@ -49,7 +49,7 @@ namespace drawinglayer
{
private:
/// hold the last decompositon since it's expensive
- Primitive3DSequence maLast3DDecomposition;
+ Primitive3DContainer maLast3DDecomposition;
/// visualisation parameters
double mfRadius;
@@ -63,11 +63,11 @@ namespace drawinglayer
later thread-safe stuff to be added if needed. Only to be used by getDecomposition()
implementations for buffering the last decomposition.
*/
- const Primitive3DSequence& getLast3DDecomposition() const { return maLast3DDecomposition; }
- void setLast3DDecomposition(const Primitive3DSequence& rNew) { maLast3DDecomposition = rNew; }
+ const Primitive3DContainer& getLast3DDecomposition() const { return maLast3DDecomposition; }
+ void setLast3DDecomposition(const Primitive3DContainer& rNew) { maLast3DDecomposition = rNew; }
/// local decomposition.
- Primitive3DSequence impCreate3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
+ Primitive3DContainer impCreate3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
public:
/// constructor
@@ -93,7 +93,7 @@ namespace drawinglayer
/** local decomposition. Use own buffering since we are not derived from
BufferedDecompositionPrimitive3D
*/
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive3DIDBlock()
diff --git a/include/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx b/include/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx
index 7d94dcb62c5e..21232d7ddd0c 100644
--- a/include/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx
@@ -40,7 +40,7 @@ namespace drawinglayer
{
protected:
/// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx b/include/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx
index 28c093649e3c..01c2180910bd 100644
--- a/include/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx
+++ b/include/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx
@@ -64,12 +64,12 @@ namespace drawinglayer
const basegfx::B3DRange& rRange,
const basegfx::B2DVector& rTextureSize);
- Primitive3DSequence DRAWINGLAYER_DLLPUBLIC create3DPolyPolygonLinePrimitives(
+ Primitive3DContainer DRAWINGLAYER_DLLPUBLIC create3DPolyPolygonLinePrimitives(
const basegfx::B3DPolyPolygon& rUnitPolyPolygon,
const basegfx::B3DHomMatrix& rObjectTransform,
const attribute::SdrLineAttribute& rLine);
- Primitive3DSequence DRAWINGLAYER_DLLPUBLIC create3DPolyPolygonFillPrimitives(
+ Primitive3DContainer DRAWINGLAYER_DLLPUBLIC create3DPolyPolygonFillPrimitives(
const ::std::vector< basegfx::B3DPolyPolygon >& r3DPolyPolygonVector,
const basegfx::B3DHomMatrix& rObjectTransform,
const basegfx::B2DVector& rTextureSize,
@@ -77,12 +77,12 @@ namespace drawinglayer
const attribute::SdrFillAttribute& rFill,
const attribute::FillGradientAttribute& rFillGradient);
- Primitive3DSequence DRAWINGLAYER_DLLPUBLIC createShadowPrimitive3D(
- const Primitive3DSequence& rSource,
+ Primitive3DContainer DRAWINGLAYER_DLLPUBLIC createShadowPrimitive3D(
+ const Primitive3DContainer& rSource,
const attribute::SdrShadowAttribute& rShadow,
bool bShadow3D);
- Primitive3DSequence DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives3D(
+ Primitive3DContainer DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives3D(
const ::std::vector< basegfx::B3DPolyPolygon >& r3DPolyPolygonVector,
const basegfx::B3DHomMatrix& rObjectTransform,
const basegfx::B2DVector& rTextureSize,
diff --git a/include/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx b/include/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx
index 3f3dfec55443..9c4103df4623 100644
--- a/include/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx
@@ -74,7 +74,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
public:
/// constructor
@@ -114,7 +114,7 @@ namespace drawinglayer
virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const override;
/// Overridden to allow for reduced line mode to decide if to buffer decomposition or not
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive3DIDBlock()
diff --git a/include/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx b/include/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx
index 785022928dbf..0df11275232c 100644
--- a/include/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx
@@ -76,7 +76,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
public:
/// constructor
@@ -120,7 +120,7 @@ namespace drawinglayer
virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const override;
/// Overridden to allow for reduced line mode to decide if to buffer decomposition or not
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive3DIDBlock()
diff --git a/include/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx b/include/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx
index 8d2d1aab2aef..ad3261693875 100644
--- a/include/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx
@@ -48,7 +48,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx b/include/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx
index d33b5960bf9f..9b4368f4b9b4 100644
--- a/include/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx
@@ -45,7 +45,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive3d/shadowprimitive3d.hxx b/include/drawinglayer/primitive3d/shadowprimitive3d.hxx
index 5b10da20bca4..5c568fa113fb 100644
--- a/include/drawinglayer/primitive3d/shadowprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/shadowprimitive3d.hxx
@@ -60,7 +60,7 @@ namespace drawinglayer
const basegfx::BColor& rShadowColor,
double fShadowTransparence,
bool bShadow3D,
- const Primitive3DSequence& rChildren);
+ const Primitive3DContainer& rChildren);
/// data read access
const basegfx::B2DHomMatrix& getShadowTransform() const { return maShadowTransform; }
diff --git a/include/drawinglayer/primitive3d/textureprimitive3d.hxx b/include/drawinglayer/primitive3d/textureprimitive3d.hxx
index 242bb55a43ef..bd81c095f5a3 100644
--- a/include/drawinglayer/primitive3d/textureprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/textureprimitive3d.hxx
@@ -56,7 +56,7 @@ namespace drawinglayer
public:
/// constructor
TexturePrimitive3D(
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::B2DVector& rTextureSize,
bool bModulate,
bool bFilter);
@@ -94,7 +94,7 @@ namespace drawinglayer
/// constructor
UnifiedTransparenceTexturePrimitive3D(
double fTransparence,
- const Primitive3DSequence& rChildren);
+ const Primitive3DContainer& rChildren);
/// data read access
double getTransparence() const { return mfTransparence; }
@@ -106,7 +106,7 @@ namespace drawinglayer
virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const override;
/// local decomposition.
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
+ virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive3DIDBlock()
@@ -136,7 +136,7 @@ namespace drawinglayer
/// constructor
GradientTexturePrimitive3D(
const attribute::FillGradientAttribute& rGradient,
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::B2DVector& rTextureSize,
bool bModulate,
bool bFilter);
@@ -175,7 +175,7 @@ namespace drawinglayer
/// constructor
BitmapTexturePrimitive3D(
const attribute::FillGraphicAttribute& rFillGraphicAttribute,
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::B2DVector& rTextureSize,
bool bModulate,
bool bFilter);
@@ -211,7 +211,7 @@ namespace drawinglayer
/// constructor
TransparenceTexturePrimitive3D(
const attribute::FillGradientAttribute& rGradient,
- const Primitive3DSequence& rChildren,
+ const Primitive3DContainer& rChildren,
const basegfx::B2DVector& rTextureSize);
/// compare operator
diff --git a/include/drawinglayer/primitive3d/transformprimitive3d.hxx b/include/drawinglayer/primitive3d/transformprimitive3d.hxx
index 35bb4ceaa60e..54d597f12fd0 100644
--- a/include/drawinglayer/primitive3d/transformprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/transformprimitive3d.hxx
@@ -50,7 +50,7 @@ namespace drawinglayer
/// constructor
TransformPrimitive3D(
const basegfx::B3DHomMatrix& rTransformation,
- const Primitive3DSequence& rChildren);
+ const Primitive3DContainer& rChildren);
/// data read access
const basegfx::B3DHomMatrix& getTransformation() const { return maTransformation; }
diff --git a/include/drawinglayer/processor3d/baseprocessor3d.hxx b/include/drawinglayer/processor3d/baseprocessor3d.hxx
index 73b353aa06f2..b22e78137df5 100644
--- a/include/drawinglayer/processor3d/baseprocessor3d.hxx
+++ b/include/drawinglayer/processor3d/baseprocessor3d.hxx
@@ -60,7 +60,7 @@ namespace drawinglayer
virtual ~BaseProcessor3D();
// the central processing method
- void process(const primitive3d::Primitive3DSequence& rSource);
+ void process(const primitive3d::Primitive3DContainer& rSource);
// data access
const geometry::ViewInformation3D& getViewInformation3D() const { return maViewInformation3D; }
diff --git a/include/svx/sdr/contact/viewcontactofe3d.hxx b/include/svx/sdr/contact/viewcontactofe3d.hxx
index eed59dded3d6..33d6c037693c 100644
--- a/include/svx/sdr/contact/viewcontactofe3d.hxx
+++ b/include/svx/sdr/contact/viewcontactofe3d.hxx
@@ -56,22 +56,22 @@ public:
}
// public helpers
- drawinglayer::primitive2d::Primitive2DContainer impCreateWithGivenPrimitive3DSequence(
- const drawinglayer::primitive3d::Primitive3DSequence& rxContent3D) const;
+ drawinglayer::primitive2d::Primitive2DContainer impCreateWithGivenPrimitive3DContainer(
+ const drawinglayer::primitive3d::Primitive3DContainer& rxContent3D) const;
// primitive stuff
protected:
- // Primitive3DSequence of the ViewContact. This contains all necessary information
+ // Primitive3DContainer 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. It does NOT contain the object transformation to be able to
// buffer for all possible usages
- drawinglayer::primitive3d::Primitive3DSequence mxViewIndependentPrimitive3DSequence;
+ drawinglayer::primitive3d::Primitive3DContainer mxViewIndependentPrimitive3DContainer;
// This method is responsible for creating the graphical visualisation data which is
- // stored in mxViewIndependentPrimitive3DSequence, but without object transformation
- virtual drawinglayer::primitive3d::Primitive3DSequence createViewIndependentPrimitive3DSequence() const = 0;
+ // stored in mxViewIndependentPrimitive3DContainer, but without object transformation
+ virtual drawinglayer::primitive3d::Primitive3DContainer createViewIndependentPrimitive3DContainer() const = 0;
// This method is responsible for creating the graphical visualisation data derived ONLY from
// the model data. The default implementation will try to create a 3D to 2D embedding (will work
@@ -81,13 +81,13 @@ protected:
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;
+ drawinglayer::primitive3d::Primitive3DContainer 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. It will
// use getVIP3DSWithoutObjectTransform and embed to 3d transform primitive when object's
// local 3d transform is used
- drawinglayer::primitive3d::Primitive3DSequence getViewIndependentPrimitive3DSequence() const;
+ drawinglayer::primitive3d::Primitive3DContainer getViewIndependentPrimitive3DContainer() const;
};
}}
diff --git a/include/svx/sdr/contact/viewcontactofe3dscene.hxx b/include/svx/sdr/contact/viewcontactofe3dscene.hxx
index ce9e85113963..a802db8384a5 100644
--- a/include/svx/sdr/contact/viewcontactofe3dscene.hxx
+++ b/include/svx/sdr/contact/viewcontactofe3dscene.hxx
@@ -70,7 +70,7 @@ public:
// helpers to get the sequence of all contained 3D primitives and its range,
// regardless of layer or visibility constraints and using a neutral ViewInformation3D
- drawinglayer::primitive3d::Primitive3DSequence getAllPrimitive3DSequence() const;
+ drawinglayer::primitive3d::Primitive3DContainer getAllPrimitive3DContainer() const;
basegfx::B3DRange getAllContentRange3D() const;
protected:
diff --git a/svx/inc/sdr/contact/viewcontactofe3dcube.hxx b/svx/inc/sdr/contact/viewcontactofe3dcube.hxx
index ab97e4896914..dd8df707286b 100644
--- a/svx/inc/sdr/contact/viewcontactofe3dcube.hxx
+++ b/svx/inc/sdr/contact/viewcontactofe3dcube.hxx
@@ -43,7 +43,7 @@ namespace sdr
protected:
// This method is responsible for creating the graphical visualisation data which is
// stored in the local primitive list. Default creates a yellow replacement rectangle.
- virtual drawinglayer::primitive3d::Primitive3DSequence createViewIndependentPrimitive3DSequence() const override;
+ virtual drawinglayer::primitive3d::Primitive3DContainer createViewIndependentPrimitive3DContainer() const override;
};
} // end of namespace contact
} // end of namespace sdr
diff --git a/svx/inc/sdr/contact/viewcontactofe3dextrude.hxx b/svx/inc/sdr/contact/viewcontactofe3dextrude.hxx
index 20a73ae946fa..f498200a2fa2 100644
--- a/svx/inc/sdr/contact/viewcontactofe3dextrude.hxx
+++ b/svx/inc/sdr/contact/viewcontactofe3dextrude.hxx
@@ -44,7 +44,7 @@ namespace sdr
protected:
// This method is responsible for creating the graphical visualisation data which is
// stored in the local primitive list. Default creates a yellow replacement rectangle.
- virtual drawinglayer::primitive3d::Primitive3DSequence createViewIndependentPrimitive3DSequence() const override;
+ virtual drawinglayer::primitive3d::Primitive3DContainer createViewIndependentPrimitive3DContainer() const override;
};
} // end of namespace contact
} // end of namespace sdr
diff --git a/svx/inc/sdr/contact/viewcontactofe3dlathe.hxx b/svx/inc/sdr/contact/viewcontactofe3dlathe.hxx
index cedaa2563d00..026ffcf9ac51 100644
--- a/svx/inc/sdr/contact/viewcontactofe3dlathe.hxx
+++ b/svx/inc/sdr/contact/viewcontactofe3dlathe.hxx
@@ -44,7 +44,7 @@ namespace sdr
protected:
// This method is responsible for creating the graphical visualisation data which is
// stored in the local primitive list. Default creates a yellow replacement rectangle.
- virtual drawinglayer::primitive3d::Primitive3DSequence createViewIndependentPrimitive3DSequence() const override;
+ virtual drawinglayer::primitive3d::Primitive3DContainer createViewIndependentPrimitive3DContainer() const override;
};
} // end of namespace contact
} // end of namespace sdr
diff --git a/svx/inc/sdr/contact/viewcontactofe3dpolygon.hxx b/svx/inc/sdr/contact/viewcontactofe3dpolygon.hxx
index 2544414ab665..cc25773f5197 100644
--- a/svx/inc/sdr/contact/viewcontactofe3dpolygon.hxx
+++ b/svx/inc/sdr/contact/viewcontactofe3dpolygon.hxx
@@ -43,7 +43,7 @@ namespace sdr
protected:
// This method is responsible for creating the graphical visualisation data which is
// stored in the local primitive list. Default creates a yellow replacement rectangle.
- virtual drawinglayer::primitive3d::Primitive3DSequence createViewIndependentPrimitive3DSequence() const override;
+ virtual drawinglayer::primitive3d::Primitive3DContainer createViewIndependentPrimitive3DContainer() const override;
};
} // end of namespace contact
} // end of namespace sdr
diff --git a/svx/inc/sdr/contact/viewcontactofe3dsphere.hxx b/svx/inc/sdr/contact/viewcontactofe3dsphere.hxx
index 1ea99d3f461e..f7ff01e70732 100644
--- a/svx/inc/sdr/contact/viewcontactofe3dsphere.hxx
+++ b/svx/inc/sdr/contact/viewcontactofe3dsphere.hxx
@@ -44,7 +44,7 @@ namespace sdr
protected:
// This method is responsible for creating the graphical visualisation data which is
// stored in the local primitive list. Default creates a yellow replacement rectangle.
- virtual drawinglayer::primitive3d::Primitive3DSequence createViewIndependentPrimitive3DSequence() const override;
+ virtual drawinglayer::primitive3d::Primitive3DContainer createViewIndependentPrimitive3DContainer() const override;
};
} // end of namespace contact
} // end of namespace sdr
diff --git a/svx/inc/sdr/contact/viewobjectcontactofe3d.hxx b/svx/inc/sdr/contact/viewobjectcontactofe3d.hxx
index b70ceb164835..aa58d2f19d59 100644
--- a/svx/inc/sdr/contact/viewobjectcontactofe3d.hxx
+++ b/svx/inc/sdr/contact/viewobjectcontactofe3d.hxx
@@ -37,14 +37,14 @@ namespace sdr
// Primitive3D sequence of the ViewContact. This contains all necessary information
// for the graphical visualisation and needs to be supported by all VCs which
// can be visualized.
- drawinglayer::primitive3d::Primitive3DSequence mxPrimitive3DSequence;
+ drawinglayer::primitive3d::Primitive3DContainer mxPrimitive3DContainer;
// This method is responsible for creating the graphical visualisation data which is
// stored/cached in the local primitive. Default gets view-independent Primitive3D
- // from the ViewContact using ViewContact::getViewIndependentPrimitive3DSequence(), takes care of
+ // from the ViewContact using ViewContact::getViewIndependentPrimitive3DContainer(), takes care of
// visibility and ghosted.
// This method will not handle included hierarchies and not check geometric visibility.
- drawinglayer::primitive3d::Primitive3DSequence createPrimitive3DSequence(const DisplayInfo& rDisplayInfo) const;
+ drawinglayer::primitive3d::Primitive3DContainer createPrimitive3DContainer(const DisplayInfo& rDisplayInfo) const;
// also override the 2d method to deliver a 2d object with embedd3d 3d and the 3d transformation which is able to
// answer the get2DRange question accordingly
@@ -57,7 +57,7 @@ namespace sdr
// access to the local primitive sequence. This will ensure that the list is
// current in comparing the local list content with a fresh created incarnation
// This method will not handle included hierarchies or visibility.
- drawinglayer::primitive3d::Primitive3DSequence getPrimitive3DSequence(const DisplayInfo& rDisplayInfo) const;
+ drawinglayer::primitive3d::Primitive3DContainer getPrimitive3DContainer(const DisplayInfo& rDisplayInfo) const;
};
} // end of namespace contact
} // end of namespace sdr
diff --git a/svx/source/engine3d/helperhittest3d.cxx b/svx/source/engine3d/helperhittest3d.cxx
index 935a0906d6ca..1362642e7b83 100644
--- a/svx/source/engine3d/helperhittest3d.cxx
+++ b/svx/source/engine3d/helperhittest3d.cxx
@@ -72,12 +72,12 @@ void getAllHit3DObjectWithRelativePoint(
{
// rObject is a E3dCompoundObject, so it cannot be a scene (which is a E3dObject)
const sdr::contact::ViewContactOfE3d& rVCObject = static_cast< sdr::contact::ViewContactOfE3d& >(rObject.GetViewContact());
- const drawinglayer::primitive3d::Primitive3DSequence aPrimitives(rVCObject.getViewIndependentPrimitive3DSequence());
+ const drawinglayer::primitive3d::Primitive3DContainer aPrimitives(rVCObject.getViewIndependentPrimitive3DContainer());
- if(aPrimitives.hasElements())
+ if(!aPrimitives.empty())
{
// make BoundVolume empty and overlapping test for speedup
- const basegfx::B3DRange aObjectRange(drawinglayer::primitive3d::getB3DRangeFromPrimitive3DSequence(aPrimitives, rObjectViewInformation3D));
+ const basegfx::B3DRange aObjectRange(aPrimitives.getB3DRange(rObjectViewInformation3D));
if(!aObjectRange.isEmpty())
{
diff --git a/svx/source/engine3d/helperminimaldepth3d.cxx b/svx/source/engine3d/helperminimaldepth3d.cxx
index 44deea0546dc..7e7aedbe372f 100644
--- a/svx/source/engine3d/helperminimaldepth3d.cxx
+++ b/svx/source/engine3d/helperminimaldepth3d.cxx
@@ -139,7 +139,7 @@ namespace drawinglayer
} // end of namespace drawinglayer
-// changed to create values using VCs, Primitive3DSequence and ViewInformation3D to allow
+// changed to create values using VCs, Primitive3DContainer and ViewInformation3D to allow
// removal of old 3D bucket geometry. There is one slight difference in the result, it's
// in [0.0 .. 1.0] for Z-Depth since the scaling of the scene as 2D object is no longer
// part of the 3D transformations. This could be added since the ViewContactOfE3dScene is
@@ -151,10 +151,10 @@ double getMinimalDepthInViewCoordinates(const E3dCompoundObject& rObject)
// this is a E3dCompoundObject, so it cannot be a scene (which is a E3dObject).
// Get primitive sequence using VC
const sdr::contact::ViewContactOfE3d& rVCObject = static_cast< sdr::contact::ViewContactOfE3d& >(rObject.GetViewContact());
- const drawinglayer::primitive3d::Primitive3DSequence aPrimitives = rVCObject.getViewIndependentPrimitive3DSequence();
+ const drawinglayer::primitive3d::Primitive3DContainer aPrimitives = rVCObject.getViewIndependentPrimitive3DContainer();
double fRetval(DBL_MAX);
- if(aPrimitives.hasElements())
+ if(!aPrimitives.empty())
{
const E3dScene* pScene = rObject.GetScene();
diff --git a/svx/source/engine3d/obj3d.cxx b/svx/source/engine3d/obj3d.cxx
index 9d67c722261b..cd553f6111c6 100644
--- a/svx/source/engine3d/obj3d.cxx
+++ b/svx/source/engine3d/obj3d.cxx
@@ -548,15 +548,14 @@ basegfx::B3DRange E3dObject::RecalcBoundVolume() const
if(pVCOfE3D)
{
// BoundVolume is without 3D object transformation, use correct sequence
- const drawinglayer::primitive3d::Primitive3DSequence xLocalSequence(pVCOfE3D->getVIP3DSWithoutObjectTransform());
+ const drawinglayer::primitive3d::Primitive3DContainer xLocalSequence(pVCOfE3D->getVIP3DSWithoutObjectTransform());
- if(xLocalSequence.hasElements())
+ if(!xLocalSequence.empty())
{
const uno::Sequence< beans::PropertyValue > aEmptyParameters;
const drawinglayer::geometry::ViewInformation3D aLocalViewInformation3D(aEmptyParameters);
- aRetval = drawinglayer::primitive3d::getB3DRangeFromPrimitive3DSequence(
- xLocalSequence, aLocalViewInformation3D);
+ aRetval = xLocalSequence.getB3DRange(aLocalViewInformation3D);
}
}
}
@@ -907,13 +906,12 @@ void E3dCompoundObject::RecalcSnapRect()
if(pVCOfE3D)
{
// get 3D primitive sequence
- const drawinglayer::primitive3d::Primitive3DSequence xLocalSequence(pVCOfE3D->getViewIndependentPrimitive3DSequence());
+ const drawinglayer::primitive3d::Primitive3DContainer xLocalSequence(pVCOfE3D->getViewIndependentPrimitive3DContainer());
- if(xLocalSequence.hasElements())
+ if(!xLocalSequence.empty())
{
// get BoundVolume
- basegfx::B3DRange aBoundVolume(drawinglayer::primitive3d::getB3DRangeFromPrimitive3DSequence(
- xLocalSequence, aViewInfo3D));
+ basegfx::B3DRange aBoundVolume(xLocalSequence.getB3DRange(aViewInfo3D));
// transform bound volume to relative scene coordinates
aBoundVolume.transform(aViewInfo3D.getObjectToView());
diff --git a/svx/source/sdr/contact/viewcontactofe3d.cxx b/svx/source/sdr/contact/viewcontactofe3d.cxx
index 3e355bbec026..9bbb61a6f1a2 100644
--- a/svx/source/sdr/contact/viewcontactofe3d.cxx
+++ b/svx/source/sdr/contact/viewcontactofe3d.cxx
@@ -67,12 +67,12 @@ const sdr::contact::ViewContactOfE3dScene* tryToFindVCOfE3DScene(
namespace sdr { namespace contact {
-drawinglayer::primitive2d::Primitive2DContainer ViewContactOfE3d::impCreateWithGivenPrimitive3DSequence(
- const drawinglayer::primitive3d::Primitive3DSequence& rxContent3D) const
+drawinglayer::primitive2d::Primitive2DContainer ViewContactOfE3d::impCreateWithGivenPrimitive3DContainer(
+ const drawinglayer::primitive3d::Primitive3DContainer& rxContent3D) const
{
drawinglayer::primitive2d::Primitive2DContainer xRetval;
- if(rxContent3D.hasElements())
+ if(!rxContent3D.empty())
{
// try to get the outmost ViewObjectContactOfE3dScene for this single 3d object,
// the ones on the way there are grouping scenes. Collect the in-between scene's
@@ -135,27 +135,27 @@ ViewContactOfE3d::~ViewContactOfE3d()
{
}
-drawinglayer::primitive3d::Primitive3DSequence ViewContactOfE3d::getVIP3DSWithoutObjectTransform() const
+drawinglayer::primitive3d::Primitive3DContainer ViewContactOfE3d::getVIP3DSWithoutObjectTransform() const
{
// local up-to-date checks. Create new list and compare.
- drawinglayer::primitive3d::Primitive3DSequence xNew(createViewIndependentPrimitive3DSequence());
+ drawinglayer::primitive3d::Primitive3DContainer xNew(createViewIndependentPrimitive3DContainer());
- if(!drawinglayer::primitive3d::arePrimitive3DSequencesEqual(mxViewIndependentPrimitive3DSequence, xNew))
+ if(mxViewIndependentPrimitive3DContainer != xNew)
{
// has changed, copy content
- const_cast< ViewContactOfE3d* >(this)->mxViewIndependentPrimitive3DSequence = xNew;
+ const_cast< ViewContactOfE3d* >(this)->mxViewIndependentPrimitive3DContainer = xNew;
}
// return current Primitive2DContainer
- return mxViewIndependentPrimitive3DSequence;
+ return mxViewIndependentPrimitive3DContainer;
}
-drawinglayer::primitive3d::Primitive3DSequence ViewContactOfE3d::getViewIndependentPrimitive3DSequence() const
+drawinglayer::primitive3d::Primitive3DContainer ViewContactOfE3d::getViewIndependentPrimitive3DContainer() const
{
// get sequence without object transform
- drawinglayer::primitive3d::Primitive3DSequence xRetval(getVIP3DSWithoutObjectTransform());
+ drawinglayer::primitive3d::Primitive3DContainer xRetval(getVIP3DSWithoutObjectTransform());
- if(xRetval.hasElements())
+ if(!xRetval.empty())
{
// add object transform if it's used
const basegfx::B3DHomMatrix& rObjectTransform(GetE3dObject().GetTransform());
@@ -167,7 +167,7 @@ drawinglayer::primitive3d::Primitive3DSequence ViewContactOfE3d::getViewIndepend
rObjectTransform,
xRetval));
- xRetval = drawinglayer::primitive3d::Primitive3DSequence(&xReference, 1);
+ xRetval = { xReference };
}
}
@@ -180,7 +180,7 @@ drawinglayer::primitive2d::Primitive2DContainer ViewContactOfE3d::createViewInde
// also need to create a 2D embedding when the view-independent part is requested,
// see view-dependent part in ViewObjectContactOfE3d::createPrimitive2DSequence
// get 3d primitive vector, isPrimitiveVisible() is done in 3d creator
- return impCreateWithGivenPrimitive3DSequence(getViewIndependentPrimitive3DSequence());
+ return impCreateWithGivenPrimitive3DContainer(getViewIndependentPrimitive3DContainer());
}
ViewObjectContact& ViewContactOfE3d::CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact)
diff --git a/svx/source/sdr/contact/viewcontactofe3dcube.cxx b/svx/source/sdr/contact/viewcontactofe3dcube.cxx
index 6ace072269fc..d68778029a5f 100644
--- a/svx/source/sdr/contact/viewcontactofe3dcube.cxx
+++ b/svx/source/sdr/contact/viewcontactofe3dcube.cxx
@@ -40,9 +40,9 @@ namespace sdr
{
}
- drawinglayer::primitive3d::Primitive3DSequence ViewContactOfE3dCube::createViewIndependentPrimitive3DSequence() const
+ drawinglayer::primitive3d::Primitive3DContainer ViewContactOfE3dCube::createViewIndependentPrimitive3DContainer() const
{
- drawinglayer::primitive3d::Primitive3DSequence xRetval;
+ drawinglayer::primitive3d::Primitive3DContainer xRetval;
const SfxItemSet& rItemSet = GetE3dCubeObj().GetMergedItemSet();
const drawinglayer::attribute::SdrLineFillShadowAttribute3D aAttribute(
drawinglayer::primitive2d::createNewSdrLineFillShadowAttribute(rItemSet, false));
@@ -81,7 +81,7 @@ namespace sdr
const drawinglayer::primitive3d::Primitive3DReference xReference(
new drawinglayer::primitive3d::SdrCubePrimitive3D(
aWorldTransform, aTextureSize, aAttribute, *pSdr3DObjectAttribute));
- xRetval = drawinglayer::primitive3d::Primitive3DSequence(&xReference, 1);
+ xRetval = { xReference };
return xRetval;
}
diff --git a/svx/source/sdr/contact/viewcontactofe3dextrude.cxx b/svx/source/sdr/contact/viewcontactofe3dextrude.cxx
index 51d6e6d79b9e..be77f9e1b0e1 100644
--- a/svx/source/sdr/contact/viewcontactofe3dextrude.cxx
+++ b/svx/source/sdr/contact/viewcontactofe3dextrude.cxx
@@ -40,9 +40,9 @@ namespace sdr
{
}
- drawinglayer::primitive3d::Primitive3DSequence ViewContactOfE3dExtrude::createViewIndependentPrimitive3DSequence() const
+ drawinglayer::primitive3d::Primitive3DContainer ViewContactOfE3dExtrude::createViewIndependentPrimitive3DContainer() const
{
- drawinglayer::primitive3d::Primitive3DSequence xRetval;
+ drawinglayer::primitive3d::Primitive3DContainer xRetval;
const SfxItemSet& rItemSet = GetE3dExtrudeObj().GetMergedItemSet();
const drawinglayer::attribute::SdrLineFillShadowAttribute3D aAttribute(
drawinglayer::primitive2d::createNewSdrLineFillShadowAttribute(rItemSet, false));
@@ -76,7 +76,7 @@ namespace sdr
aWorldTransform, aTextureSize, aAttribute, *pSdr3DObjectAttribute,
aPolyPolygon, fDepth, fDiagonal, fBackScale, bSmoothNormals, true, bSmoothLids,
bCharacterMode, bCloseFront, bCloseBack));
- xRetval = drawinglayer::primitive3d::Primitive3DSequence(&xReference, 1);
+ xRetval = { xReference };
return xRetval;
}
diff --git a/svx/source/sdr/contact/viewcontactofe3dlathe.cxx b/svx/source/sdr/contact/viewcontactofe3dlathe.cxx
index 4554ffc1f546..e7ffa94f8455 100644
--- a/svx/source/sdr/contact/viewcontactofe3dlathe.cxx
+++ b/svx/source/sdr/contact/viewcontactofe3dlathe.cxx
@@ -40,9 +40,9 @@ namespace sdr
{
}
- drawinglayer::primitive3d::Primitive3DSequence ViewContactOfE3dLathe::createViewIndependentPrimitive3DSequence() const
+ drawinglayer::primitive3d::Primitive3DContainer ViewContactOfE3dLathe::createViewIndependentPrimitive3DContainer() const
{
- drawinglayer::primitive3d::Primitive3DSequence xRetval;
+ drawinglayer::primitive3d::Primitive3DContainer xRetval;
const SfxItemSet& rItemSet = GetE3dLatheObj().GetMergedItemSet();
const drawinglayer::attribute::SdrLineFillShadowAttribute3D aAttribute(
drawinglayer::primitive2d::createNewSdrLineFillShadowAttribute(rItemSet, false));
@@ -91,7 +91,7 @@ namespace sdr
aPolyPolygon, nHorizontalSegments, nVerticalSegments,
fDiagonal, fBackScale, fRotation,
bSmoothNormals, true, bSmoothLids, bCharacterMode, bCloseFront, bCloseBack));
- xRetval = drawinglayer::primitive3d::Primitive3DSequence(&xReference, 1);
+ xRetval = { xReference };
return xRetval;
}
diff --git a/svx/source/sdr/contact/viewcontactofe3dpolygon.cxx b/svx/source/sdr/contact/viewcontactofe3dpolygon.cxx
index d646046072f4..ae3f5719dadf 100644
--- a/svx/source/sdr/contact/viewcontactofe3dpolygon.cxx
+++ b/svx/source/sdr/contact/viewcontactofe3dpolygon.cxx
@@ -41,9 +41,9 @@ namespace sdr
{
}
- drawinglayer::primitive3d::Primitive3DSequence ViewContactOfE3dPolygon::createViewIndependentPrimitive3DSequence() const
+ drawinglayer::primitive3d::Primitive3DContainer ViewContactOfE3dPolygon::createViewIndependentPrimitive3DContainer() const
{
- drawinglayer::primitive3d::Primitive3DSequence xRetval;
+ drawinglayer::primitive3d::Primitive3DContainer xRetval;
const SfxItemSet& rItemSet = GetE3dPolygonObj().GetMergedItemSet();
const bool bSuppressFill(GetE3dPolygonObj().GetLineOnly());
const drawinglayer::attribute::SdrLineFillShadowAttribute3D aAttribute(
@@ -162,7 +162,7 @@ namespace sdr
const drawinglayer::primitive3d::Primitive3DReference xReference(
new drawinglayer::primitive3d::SdrPolyPolygonPrimitive3D(
aPolyPolygon3D, aWorldTransform, aTextureSize, aAttribute, *pSdr3DObjectAttribute));
- xRetval = drawinglayer::primitive3d::Primitive3DSequence(&xReference, 1);
+ xRetval = { xReference };
return xRetval;
}
diff --git a/svx/source/sdr/contact/viewcontactofe3dscene.cxx b/svx/source/sdr/contact/viewcontactofe3dscene.cxx
index d3412d6e1a90..fdcc395ab726 100644
--- a/svx/source/sdr/contact/viewcontactofe3dscene.cxx
+++ b/svx/source/sdr/contact/viewcontactofe3dscene.cxx
@@ -41,8 +41,8 @@ namespace {
// pActiveVC is only true if ghosted is still activated and maybe needs to be switched off in this path
void createSubPrimitive3DVector(
const sdr::contact::ViewContact& rCandidate,
- drawinglayer::primitive3d::Primitive3DSequence& o_rAllTarget,
- drawinglayer::primitive3d::Primitive3DSequence* o_pVisibleTarget,
+ drawinglayer::primitive3d::Primitive3DContainer& o_rAllTarget,
+ drawinglayer::primitive3d::Primitive3DContainer* o_pVisibleTarget,
const SetOfByte* pVisibleLayerSet,
const bool bTestSelectedVisibility)
{
@@ -55,8 +55,8 @@ void createSubPrimitive3DVector(
if(nChildrenCount)
{
// provide new collection sequences
- drawinglayer::primitive3d::Primitive3DSequence aNewAllTarget;
- drawinglayer::primitive3d::Primitive3DSequence aNewVisibleTarget;
+ drawinglayer::primitive3d::Primitive3DContainer aNewAllTarget;
+ drawinglayer::primitive3d::Primitive3DContainer aNewVisibleTarget;
// add children recursively
for(sal_uInt32 a(0L); a < nChildrenCount; a++)
@@ -75,12 +75,12 @@ void createSubPrimitive3DVector(
aNewAllTarget));
// add created content to all target
- drawinglayer::primitive3d::appendPrimitive3DReferenceToPrimitive3DSequence(o_rAllTarget, xReference);
+ o_rAllTarget.push_back(xReference);
// add created content to visible target if exists
if(o_pVisibleTarget)
{
- drawinglayer::primitive3d::appendPrimitive3DReferenceToPrimitive3DSequence(*o_pVisibleTarget, xReference);
+ o_pVisibleTarget->push_back(xReference);
}
}
}
@@ -91,12 +91,12 @@ void createSubPrimitive3DVector(
if(pViewContactOfE3d)
{
- drawinglayer::primitive3d::Primitive3DSequence xPrimitive3DSeq(pViewContactOfE3d->getViewIndependentPrimitive3DSequence());
+ drawinglayer::primitive3d::Primitive3DContainer xPrimitive3DSeq(pViewContactOfE3d->getViewIndependentPrimitive3DContainer());
- if(xPrimitive3DSeq.hasElements())
+ if(!xPrimitive3DSeq.empty())
{
// add to all target vector
- drawinglayer::primitive3d::appendPrimitive3DSequenceToPrimitive3DSequence(o_rAllTarget, xPrimitive3DSeq);
+ o_rAllTarget.append(xPrimitive3DSeq);
if(o_pVisibleTarget)
{
@@ -123,7 +123,7 @@ void createSubPrimitive3DVector(
if(bVisible && o_pVisibleTarget)
{
// add to visible target vector
- drawinglayer::primitive3d::appendPrimitive3DSequenceToPrimitive3DSequence(*o_pVisibleTarget, xPrimitive3DSeq);
+ o_pVisibleTarget->append(xPrimitive3DSeq);
}
}
}
@@ -165,7 +165,7 @@ void ViewContactOfE3dScene::createViewInformation3D(const basegfx::B3DRange& rCo
// For historical reasons, the outmost scene's transformation is handles as part of the
// view transformation. This means that the BoundRect of the contained 3D Objects is
// without that transformation and makes it necessary to NOT add the first scene to the
- // Primitive3DSequence of contained objects.
+ // Primitive3DContainer of contained objects.
{
aTransformation = GetE3dScene().GetTransform();
}
@@ -277,8 +277,8 @@ drawinglayer::primitive2d::Primitive2DContainer ViewContactOfE3dScene::createSce
if(nChildrenCount)
{
// create 3d scene primitive with visible content tested against rLayerVisibility
- drawinglayer::primitive3d::Primitive3DSequence aAllSequence;
- drawinglayer::primitive3d::Primitive3DSequence aVisibleSequence;
+ drawinglayer::primitive3d::Primitive3DContainer aAllSequence;
+ drawinglayer::primitive3d::Primitive3DContainer aVisibleSequence;
const bool bTestLayerVisibility(nullptr != pLayerVisibility);
const bool bTestSelectedVisibility(GetE3dScene().GetDrawOnlySelected());
const bool bTestVisibility(bTestLayerVisibility || bTestSelectedVisibility);
@@ -297,20 +297,19 @@ drawinglayer::primitive2d::Primitive2DContainer ViewContactOfE3dScene::createSce
bTestSelectedVisibility);
}
- const sal_uInt32 nAllSize(aAllSequence.hasElements() ? aAllSequence.getLength() : 0);
- const sal_uInt32 nVisibleSize(aVisibleSequence.hasElements() ? aVisibleSequence.getLength() : 0);
+ const size_t nAllSize(!aAllSequence.empty() ? aAllSequence.size() : 0);
+ const size_t nVisibleSize(!aVisibleSequence.empty() ? aVisibleSequence.size() : 0);
if((bTestVisibility && nVisibleSize) || nAllSize)
{
- // for getting the 3D range using getB3DRangeFromPrimitive3DSequence a ViewInformation3D
+ // for getting the 3D range using getB3DRangeFromPrimitive3DContainer a ViewInformation3D
// needs to be given for evtl. decompositions. At the same time createViewInformation3D
// currently is based on creating the target-ViewInformation3D using a given range. To
// get the true range, use a neutral ViewInformation3D here. This leaves all matrices
// on identity and the time on 0.0.
const uno::Sequence< beans::PropertyValue > aEmptyProperties;
const drawinglayer::geometry::ViewInformation3D aNeutralViewInformation3D(aEmptyProperties);
- const basegfx::B3DRange aContentRange(
- drawinglayer::primitive3d::getB3DRangeFromPrimitive3DSequence(aAllSequence, aNeutralViewInformation3D));
+ const basegfx::B3DRange aContentRange(aAllSequence.getB3DRange(aNeutralViewInformation3D));
// create 2d primitive 3dscene with generated sub-list from collector
const drawinglayer::primitive2d::Primitive2DReference xReference(
@@ -422,9 +421,9 @@ const drawinglayer::attribute::SdrLightingAttribute& ViewContactOfE3dScene::getS
return maSdrLightingAttribute;
}
-drawinglayer::primitive3d::Primitive3DSequence ViewContactOfE3dScene::getAllPrimitive3DSequence() const
+drawinglayer::primitive3d::Primitive3DContainer ViewContactOfE3dScene::getAllPrimitive3DContainer() const
{
- drawinglayer::primitive3d::Primitive3DSequence aAllPrimitive3DSequence;
+ drawinglayer::primitive3d::Primitive3DContainer aAllPrimitive3DContainer;
const sal_uInt32 nChildrenCount(GetObjectCount());
// add children recursively. Do NOT start with (*this), this would create
@@ -433,26 +432,26 @@ drawinglayer::primitive3d::Primitive3DSequence ViewContactOfE3dScene::getAllPrim
// is seen as part of the ViewTransformation (see text in createViewInformation3D)
for(sal_uInt32 a(0L); a < nChildrenCount; a++)
{
- createSubPrimitive3DVector(GetViewContact(a), aAllPrimitive3DSequence, nullptr, nullptr, false);
+ createSubPrimitive3DVector(GetViewContact(a), aAllPrimitive3DContainer, nullptr, nullptr, false);
}
- return aAllPrimitive3DSequence;
+ return aAllPrimitive3DContainer;
}
basegfx::B3DRange ViewContactOfE3dScene::getAllContentRange3D() const
{
- const drawinglayer::primitive3d::Primitive3DSequence xAllSequence(getAllPrimitive3DSequence());
+ const drawinglayer::primitive3d::Primitive3DContainer xAllSequence(getAllPrimitive3DContainer());
basegfx::B3DRange aAllContentRange3D;
- if(xAllSequence.hasElements())
+ if(!xAllSequence.empty())
{
- // for getting the 3D range using getB3DRangeFromPrimitive3DSequence a ViewInformation3D
+ // for getting the 3D range using getB3DRangeFromPrimitive3DContainer a ViewInformation3D
// needs to be given for evtl. decompositions. Use a neutral ViewInformation3D here. This
// leaves all matrices on identity and the time on 0.0.
const uno::Sequence< beans::PropertyValue > aEmptyProperties;
const drawinglayer::geometry::ViewInformation3D aNeutralViewInformation3D(aEmptyProperties);
- aAllContentRange3D = drawinglayer::primitive3d::getB3DRangeFromPrimitive3DSequence(xAllSequence, aNeutralViewInformation3D);
+ aAllContentRange3D = xAllSequence.getB3DRange(aNeutralViewInformation3D);
}
return aAllContentRange3D;
diff --git a/svx/source/sdr/contact/viewcontactofe3dsphere.cxx b/svx/source/sdr/contact/viewcontactofe3dsphere.cxx
index b5f127195bd1..ca2af43f28a7 100644
--- a/svx/source/sdr/contact/viewcontactofe3dsphere.cxx
+++ b/svx/source/sdr/contact/viewcontactofe3dsphere.cxx
@@ -39,9 +39,9 @@ namespace sdr
{
}
- drawinglayer::primitive3d::Primitive3DSequence ViewContactOfE3dSphere::createViewIndependentPrimitive3DSequence() const
+ drawinglayer::primitive3d::Primitive3DContainer ViewContactOfE3dSphere::createViewIndependentPrimitive3DContainer() const
{
- drawinglayer::primitive3d::Primitive3DSequence xRetval;
+ drawinglayer::primitive3d::Primitive3DContainer xRetval;
const SfxItemSet& rItemSet = GetE3dSphereObj().GetMergedItemSet();
const drawinglayer::attribute::SdrLineFillShadowAttribute3D aAttribute(
drawinglayer::primitive2d::createNewSdrLineFillShadowAttribute(rItemSet, false));
@@ -74,7 +74,7 @@ namespace sdr
new drawinglayer::primitive3d::SdrSpherePrimitive3D(
aWorldTransform, aTextureSize, aAttribute, *pSdr3DObjectAttribute,
nHorizontalSegments, nVerticalSegments));
- xRetval = drawinglayer::primitive3d::Primitive3DSequence(&xReference, 1);
+ xRetval = { xReference };
return xRetval;
}
diff --git a/svx/source/sdr/contact/viewobjectcontactofe3d.cxx b/svx/source/sdr/contact/viewobjectcontactofe3d.cxx
index 3ff49dfe446c..896a56a600a5 100644
--- a/svx/source/sdr/contact/viewobjectcontactofe3d.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofe3d.cxx
@@ -39,11 +39,11 @@ namespace sdr
{
}
- drawinglayer::primitive3d::Primitive3DSequence ViewObjectContactOfE3d::createPrimitive3DSequence(const DisplayInfo& rDisplayInfo) const
+ drawinglayer::primitive3d::Primitive3DContainer ViewObjectContactOfE3d::createPrimitive3DContainer(const DisplayInfo& rDisplayInfo) const
{
// get the view-independent Primitive from the viewContact
const ViewContactOfE3d& rViewContactOfE3d(dynamic_cast< const ViewContactOfE3d& >(GetViewContact()));
- drawinglayer::primitive3d::Primitive3DSequence xRetval(rViewContactOfE3d.getViewIndependentPrimitive3DSequence());
+ drawinglayer::primitive3d::Primitive3DContainer xRetval(rViewContactOfE3d.getViewIndependentPrimitive3DContainer());
// handle ghosted
if(isPrimitiveGhosted(rDisplayInfo))
@@ -58,7 +58,7 @@ namespace sdr
xRetval,
aBColorModifier));
- xRetval = drawinglayer::primitive3d::Primitive3DSequence(&xReference, 1);
+ xRetval = { xReference };
}
return xRetval;
@@ -69,22 +69,22 @@ namespace sdr
const ViewContactOfE3d& rViewContact = static_cast< const ViewContactOfE3d& >(GetViewContact());
// get 3d primitive vector, isPrimitiveVisible() is done in 3d creator
- return rViewContact.impCreateWithGivenPrimitive3DSequence(getPrimitive3DSequence(rDisplayInfo));
+ return rViewContact.impCreateWithGivenPrimitive3DContainer(getPrimitive3DContainer(rDisplayInfo));
}
- drawinglayer::primitive3d::Primitive3DSequence ViewObjectContactOfE3d::getPrimitive3DSequence(const DisplayInfo& rDisplayInfo) const
+ drawinglayer::primitive3d::Primitive3DContainer ViewObjectContactOfE3d::getPrimitive3DContainer(const DisplayInfo& rDisplayInfo) const
{
- drawinglayer::primitive3d::Primitive3DSequence xNewPrimitive3DSeq(createPrimitive3DSequence(rDisplayInfo));
+ drawinglayer::primitive3d::Primitive3DContainer xNewPrimitive3DSeq(createPrimitive3DContainer(rDisplayInfo));
// local up-to-date checks. New list different from local one?
- if(!drawinglayer::primitive3d::arePrimitive3DSequencesEqual(mxPrimitive3DSequence, xNewPrimitive3DSeq))
+ if(mxPrimitive3DContainer != xNewPrimitive3DSeq)
{
// has changed, copy content
- const_cast< ViewObjectContactOfE3d* >(this)->mxPrimitive3DSequence = xNewPrimitive3DSeq;
+ const_cast< ViewObjectContactOfE3d* >(this)->mxPrimitive3DContainer = xNewPrimitive3DSeq;
}
// return current Primitive2DContainer
- return mxPrimitive3DSequence;
+ return mxPrimitive3DContainer;
}
} // end of namespace contact
} // end of namespace sdr