summaryrefslogtreecommitdiff
path: root/drawinglayer/source/processor3d/baseprocessor3d.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'drawinglayer/source/processor3d/baseprocessor3d.cxx')
-rw-r--r--drawinglayer/source/processor3d/baseprocessor3d.cxx34
1 files changed, 17 insertions, 17 deletions
diff --git a/drawinglayer/source/processor3d/baseprocessor3d.cxx b/drawinglayer/source/processor3d/baseprocessor3d.cxx
index 508ee553f31c..7fd2a80a9988 100644
--- a/drawinglayer/source/processor3d/baseprocessor3d.cxx
+++ b/drawinglayer/source/processor3d/baseprocessor3d.cxx
@@ -18,7 +18,7 @@
*/
#include <drawinglayer/processor3d/baseprocessor3d.hxx>
-#include <comphelper/sequence.hxx>
+#include <utility>
using namespace com::sun::star;
@@ -30,8 +30,8 @@ namespace drawinglayer::processor3d
{
}
- BaseProcessor3D::BaseProcessor3D(const geometry::ViewInformation3D& rViewInformation)
- : maViewInformation3D(rViewInformation)
+ BaseProcessor3D::BaseProcessor3D(geometry::ViewInformation3D aViewInformation)
+ : maViewInformation3D(std::move(aViewInformation))
{
}
@@ -49,27 +49,27 @@ namespace drawinglayer::processor3d
for(size_t a(0); a < nCount; a++)
{
// get reference
- const primitive3d::Primitive3DReference xReference(rSource[a]);
+ const primitive3d::Primitive3DReference& xReference(rSource[a]);
if(xReference.is())
{
- // try to cast to BasePrimitive3D implementation
- const primitive3d::BasePrimitive3D* pBasePrimitive = dynamic_cast< const primitive3d::BasePrimitive3D* >(xReference.get());
-
- if(pBasePrimitive)
- {
- processBasePrimitive3D(*pBasePrimitive);
- }
- else
- {
- // unknown implementation, use UNO API call instead and process recursively
- const uno::Sequence< beans::PropertyValue >& rViewParameters(getViewInformation3D().getViewInformationSequence());
- process(comphelper::sequenceToContainer<primitive3d::Primitive3DContainer>(xReference->getDecomposition(rViewParameters)));
- }
+ const primitive3d::BasePrimitive3D* pBasePrimitive = static_cast< const primitive3d::BasePrimitive3D* >(xReference.get());
+ processBasePrimitive3D(*pBasePrimitive);
}
}
}
+ void BaseProcessor3D::setViewInformation3D(const geometry::ViewInformation3D& rNew)
+ {
+ if (rNew != maViewInformation3D)
+ {
+ // set if changed
+ maViewInformation3D = rNew;
+
+ // allow reaction on change
+ onViewInformation3DChanged();
+ }
+ }
} // end of namespace
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */