LibreOffice Module drawinglayer (master) 1
|
BasePrimitive3D class. More...
#include <baseprimitive3d.hxx>
Public Member Functions | |
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 () |
Private Member Functions | |
BasePrimitive3D (const BasePrimitive3D &)=delete | |
BasePrimitive3D & | operator= (const BasePrimitive3D &)=delete |
Additional Inherited Members | |
Protected Member Functions inherited from comphelper::WeakComponentImplHelperBase | |
void | throwIfDisposed (std::unique_lock< std::mutex > &) |
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 |
BasePrimitive3D 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.
Current Basic 3D Primitives are:
That's all for 3D!
Definition at line 95 of file baseprimitive3d.hxx.
|
privatedelete |
drawinglayer::primitive3d::BasePrimitive3D::BasePrimitive3D | ( | ) |
Definition at line 31 of file baseprimitive3d.cxx.
|
overridevirtual |
Definition at line 35 of file baseprimitive3d.cxx.
|
virtual |
The default implementation returns an empty sequence.
Reimplemented in drawinglayer::primitive3d::HatchTexturePrimitive3D, drawinglayer::primitive3d::HiddenGeometryPrimitive3D, drawinglayer::primitive3d::PolygonTubePrimitive3D, drawinglayer::primitive3d::UnifiedTransparenceTexturePrimitive3D, drawinglayer::primitive3d::BufferedDecompositionPrimitive3D, drawinglayer::primitive3d::GroupPrimitive3D, drawinglayer::primitive3d::SdrExtrudePrimitive3D, and drawinglayer::primitive3d::SdrLathePrimitive3D.
Definition at line 49 of file baseprimitive3d.cxx.
Referenced by getB3DRange(), getDecomposition(), drawinglayer::processor3d::DefaultProcessor3D::processBasePrimitive3D(), drawinglayer::processor3d::Geometry2DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::Shadow3DExtractingProcessor::processBasePrimitive3D(), and drawinglayer::processor3d::CutFindProcessor::processBasePrimitive3D().
|
virtual |
This method is for places where using the C++ implementation directly is possible.
The subprocessing and range merging is more efficient when working directly on basegfx::B3DRange. The default implementation will use getDecomposition results to create the range
Reimplemented in drawinglayer::primitive3d::HiddenGeometryPrimitive3D, drawinglayer::primitive3d::UnifiedTransparenceTexturePrimitive3D, drawinglayer::primitive3d::PolygonHairlinePrimitive3D, drawinglayer::primitive3d::PolyPolygonMaterialPrimitive3D, drawinglayer::primitive3d::SdrCubePrimitive3D, drawinglayer::primitive3d::SdrExtrudePrimitive3D, drawinglayer::primitive3d::SdrLathePrimitive3D, drawinglayer::primitive3d::SdrPolyPolygonPrimitive3D, drawinglayer::primitive3d::SdrSpherePrimitive3D, and drawinglayer::primitive3d::TransformPrimitive3D.
Definition at line 44 of file baseprimitive3d.cxx.
References get3DDecomposition(), and drawinglayer::primitive3d::Primitive3DContainer::getB3DRange().
Referenced by drawinglayer::primitive3d::getB3DRangeFromPrimitive3DReference(), and getRange().
|
overridevirtual |
The getDecomposition implementation for UNO API will use getDecomposition from this implementation.
It will get the ViewInformation from the ViewParameters for that purpose
Definition at line 54 of file baseprimitive3d.cxx.
References comphelper::containerToSequence(), and get3DDecomposition().
|
pure virtual |
provide unique ID for fast identifying of known primitive implementations in renderers.
These use the defines from primitivetypes3d.hxx to define unique IDs.
References getRange().
Referenced by drawinglayer::primitive3d::HatchTexturePrimitive3D::impCreate3DDecomposition(), operator==(), drawinglayer::processor3d::DefaultProcessor3D::processBasePrimitive3D(), drawinglayer::processor3d::Geometry2DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::Shadow3DExtractingProcessor::processBasePrimitive3D(), and drawinglayer::processor3d::CutFindProcessor::processBasePrimitive3D().
|
overridevirtual |
the getRange default implementation will use getDecomposition to create the range information from merging getRange results from the single local decomposition primitives.
Definition at line 60 of file baseprimitive3d.cxx.
References getB3DRange(), and basegfx::unotools::rectangle3DFromB3DRectangle().
|
inline |
Definition at line 111 of file baseprimitive3d.hxx.
References operator==().
|
privatedelete |
References operator==().
|
virtual |
the ==operator is mainly needed to allow testing newly-created high level primitives against their last incarnation which buffers/holds the decompositions.
The default implementation uses getPrimitive3DID()-calls to test if it's the same ID at last. Overridden implementation are then based on this implementation.
Reimplemented in drawinglayer::primitive3d::HatchTexturePrimitive3D, drawinglayer::primitive3d::PolygonTubePrimitive3D, drawinglayer::primitive3d::ShadowPrimitive3D, drawinglayer::primitive3d::TexturePrimitive3D, drawinglayer::primitive3d::UnifiedTransparenceTexturePrimitive3D, drawinglayer::primitive3d::GradientTexturePrimitive3D, drawinglayer::primitive3d::BitmapTexturePrimitive3D, drawinglayer::primitive3d::TransparenceTexturePrimitive3D, drawinglayer::primitive3d::GroupPrimitive3D, drawinglayer::primitive3d::ModifiedColorPrimitive3D, drawinglayer::primitive3d::PolygonHairlinePrimitive3D, drawinglayer::primitive3d::PolygonStrokePrimitive3D, drawinglayer::primitive3d::PolyPolygonMaterialPrimitive3D, drawinglayer::primitive3d::SdrExtrudePrimitive3D, drawinglayer::primitive3d::SdrLathePrimitive3D, drawinglayer::primitive3d::SdrPolyPolygonPrimitive3D, drawinglayer::primitive3d::SdrPrimitive3D, drawinglayer::primitive3d::SdrSpherePrimitive3D, and drawinglayer::primitive3d::TransformPrimitive3D.
Definition at line 39 of file baseprimitive3d.cxx.
References getPrimitive3DID().