LibreOffice Module drawinglayer (master) 1
|
BufferedDecompositionPrimitive3D class. More...
#include <baseprimitive3d.hxx>
Public Member Functions | |
BufferedDecompositionPrimitive3D () | |
virtual Primitive3DContainer | get3DDecomposition (const geometry::ViewInformation3D &rViewInformation) const override |
The getDecomposition default implementation will on demand use create3DDecomposition() if maBuffered3DDecomposition is empty. More... | |
Public Member Functions inherited from drawinglayer::primitive3d::BasePrimitive3D | |
BasePrimitive3D () | |
virtual | ~BasePrimitive3D () override |
virtual bool | operator== (const BasePrimitive3D &rPrimitive) const |
the ==operator is mainly needed to allow testing newly-created high level primitives against their last incarnation which buffers/holds the decompositions. More... | |
bool | operator!= (const BasePrimitive3D &rPrimitive) const |
virtual basegfx::B3DRange | getB3DRange (const geometry::ViewInformation3D &rViewInformation) const |
This method is for places where using the C++ implementation directly is possible. More... | |
virtual sal_uInt32 | getPrimitive3DID () const =0 |
provide unique ID for fast identifying of known primitive implementations in renderers. More... | |
virtual Primitive3DContainer | get3DDecomposition (const geometry::ViewInformation3D &rViewInformation) const |
The default implementation returns an empty sequence. More... | |
virtual css::uno::Sequence< ::css::uno::Reference< ::css::graphic::XPrimitive3D > > SAL_CALL | getDecomposition (const css::uno::Sequence< css::beans::PropertyValue > &rViewParameters) override |
The getDecomposition implementation for UNO API will use getDecomposition from this implementation. More... | |
virtual css::geometry::RealRectangle3D SAL_CALL | getRange (const css::uno::Sequence< css::beans::PropertyValue > &rViewParameters) override |
the getRange default implementation will use getDecomposition to create the range information from merging getRange results from the single local decomposition primitives. More... | |
Public Member Functions inherited from comphelper::WeakComponentImplHelper< typename... Ifc > | |
virtual void SAL_CALL | acquire () noexcept override |
virtual void SAL_CALL | release () noexcept override |
virtual void SAL_CALL | dispose () noexcept final override |
virtual void SAL_CALL | addEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) final override |
virtual void SAL_CALL | removeEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) final override |
virtual css::uno::Any SAL_CALL | queryInterface (css::uno::Type const &rType) override |
virtual css::uno::Sequence< css::uno::Type > SAL_CALL | getTypes () override |
virtual css::uno::Sequence< sal_Int8 > SAL_CALL | getImplementationId () override |
Public Member Functions inherited from comphelper::WeakComponentImplHelperBase | |
virtual | ~WeakComponentImplHelperBase () override |
virtual void SAL_CALL | dispose () override |
virtual void SAL_CALL | addEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) override |
virtual void SAL_CALL | removeEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) override |
virtual css::uno::Any SAL_CALL | queryInterface (css::uno::Type const &rType) override |
virtual void | disposing (std::unique_lock< std::mutex > &) |
Public Member Functions inherited from comphelper::UnoImplBase | |
virtual | ~UnoImplBase () |
Protected Member Functions | |
const Primitive3DContainer & | getBuffered3DDecomposition () const |
access methods to maBuffered3DDecomposition. More... | |
void | setBuffered3DDecomposition (const Primitive3DContainer &rNew) |
virtual Primitive3DContainer | create3DDecomposition (const geometry::ViewInformation3D &rViewInformation) const |
method which is to be used to implement the local decomposition of a 2D primitive. More... | |
Protected Member Functions inherited from comphelper::WeakComponentImplHelperBase | |
void | throwIfDisposed (std::unique_lock< std::mutex > &) |
Private Attributes | |
Primitive3DContainer | maBuffered3DDecomposition |
a sequence used for buffering the last create3DDecomposition() result More... | |
Additional Inherited Members | |
Protected Attributes inherited from comphelper::WeakComponentImplHelperBase | |
comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > | maEventListeners |
Protected Attributes inherited from comphelper::UnoImplBase | |
std::mutex | m_aMutex |
bool | m_bDisposed |
BufferedDecompositionPrimitive3D class.
Baseclass for all C++ implementations of css::graphic::XPrimitive2D
The description/functionality is identical with the 2D case in baseprimitive2d.hxx, please see there for detailed information
Definition at line 156 of file baseprimitive3d.hxx.
drawinglayer::primitive3d::BufferedDecompositionPrimitive3D::BufferedDecompositionPrimitive3D | ( | ) |
Definition at line 72 of file baseprimitive3d.cxx.
|
protectedvirtual |
method which is to be used to implement the local decomposition of a 2D primitive.
The default implementation will just return an empty decomposition
Reimplemented in drawinglayer::primitive3d::PolygonStrokePrimitive3D, drawinglayer::primitive3d::SdrCubePrimitive3D, drawinglayer::primitive3d::SdrExtrudePrimitive3D, drawinglayer::primitive3d::SdrLathePrimitive3D, drawinglayer::primitive3d::SdrPolyPolygonPrimitive3D, and drawinglayer::primitive3d::SdrSpherePrimitive3D.
Definition at line 67 of file baseprimitive3d.cxx.
Referenced by get3DDecomposition().
|
overridevirtual |
The getDecomposition default implementation will on demand use create3DDecomposition() if maBuffered3DDecomposition is empty.
It will set maBuffered3DDecomposition to this obtained decomposition to buffer it. If the decomposition is also ViewInformation-dependent, this method needs to be 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.
Reimplemented from drawinglayer::primitive3d::BasePrimitive3D.
Reimplemented in drawinglayer::primitive3d::SdrExtrudePrimitive3D, and drawinglayer::primitive3d::SdrLathePrimitive3D.
Definition at line 76 of file baseprimitive3d.cxx.
References create3DDecomposition(), getBuffered3DDecomposition(), comphelper::UnoImplBase::m_aMutex, and setBuffered3DDecomposition().
Referenced by drawinglayer::primitive3d::SdrExtrudePrimitive3D::get3DDecomposition(), and drawinglayer::primitive3d::SdrLathePrimitive3D::get3DDecomposition().
|
inlineprotected |
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.
Definition at line 168 of file baseprimitive3d.hxx.
Referenced by get3DDecomposition(), drawinglayer::primitive3d::SdrExtrudePrimitive3D::get3DDecomposition(), and drawinglayer::primitive3d::SdrLathePrimitive3D::get3DDecomposition().
|
inlineprotected |
Definition at line 169 of file baseprimitive3d.hxx.
Referenced by get3DDecomposition(), drawinglayer::primitive3d::SdrExtrudePrimitive3D::get3DDecomposition(), and drawinglayer::primitive3d::SdrLathePrimitive3D::get3DDecomposition().
|
private |
a sequence used for buffering the last create3DDecomposition() result
Definition at line 161 of file baseprimitive3d.hxx.