LibreOffice Module drawinglayer (master) 1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
drawinglayer::primitive3d::PolygonTubePrimitive3D Class Referencefinal

PolygonStrokePrimitive3D class. More...

#include <polygontubeprimitive3d.hxx>

Inheritance diagram for drawinglayer::primitive3d::PolygonTubePrimitive3D:
[legend]
Collaboration diagram for drawinglayer::primitive3d::PolygonTubePrimitive3D:
[legend]

Public Member Functions

 PolygonTubePrimitive3D (const basegfx::B3DPolygon &rPolygon, const basegfx::BColor &rBColor, double fRadius, basegfx::B2DLineJoin aLineJoin, css::drawing::LineCap aLineCap, double fDegreeStepWidth=basegfx::deg2rad(10.0), double fMiterMinimumAngle=basegfx::deg2rad(15.0))
 constructor More...
 
double getRadius () const
 data read access More...
 
double getDegreeStepWidth () const
 
double getMiterMinimumAngle () const
 
basegfx::B2DLineJoin getLineJoin () const
 
css::drawing::LineCap getLineCap () const
 
virtual bool operator== (const BasePrimitive3D &rPrimitive) const override
 compare operator More...
 
virtual Primitive3DContainer get3DDecomposition (const geometry::ViewInformation3D &rViewInformation) const override
 local decomposition. More...
 
- Public Member Functions inherited from drawinglayer::primitive3d::PolygonHairlinePrimitive3D
 PolygonHairlinePrimitive3D (basegfx::B3DPolygon aPolygon, const basegfx::BColor &rBColor)
 constructor More...
 
const basegfx::B3DPolygongetB3DPolygon () const
 data read access More...
 
const basegfx::BColorgetBColor () const
 
virtual bool operator== (const BasePrimitive3D &rPrimitive) const override
 compare operator More...
 
virtual basegfx::B3DRange getB3DRange (const geometry::ViewInformation3D &rViewInformation) const override
 get range 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 ()
 

Private Member Functions

const Primitive3DContainergetLast3DDecomposition () const
 access methods to maLast3DDecomposition. More...
 
Primitive3DContainer impCreate3DDecomposition (const geometry::ViewInformation3D &rViewInformation) const
 local decomposition. More...
 

Private Attributes

Primitive3DContainer maLast3DDecomposition
 hold the last decomposition since it's expensive More...
 
double mfRadius
 visualisation parameters More...
 
double mfDegreeStepWidth
 
double mfMiterMinimumAngle
 
basegfx::B2DLineJoin maLineJoin
 
css::drawing::LineCap maLineCap
 

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
 

Detailed Description

PolygonStrokePrimitive3D class.

This 3D primitive extends a 3D hairline to a 3D tube which is e.g. used for fat lines in 3D. It's decomposition will create all 3D objects needed for the line tubes and the edge roundings in full 3D.

Definition at line 34 of file polygontubeprimitive3d.hxx.

Constructor & Destructor Documentation

◆ PolygonTubePrimitive3D()

drawinglayer::primitive3d::PolygonTubePrimitive3D::PolygonTubePrimitive3D ( const basegfx::B3DPolygon rPolygon,
const basegfx::BColor rBColor,
double  fRadius,
basegfx::B2DLineJoin  aLineJoin,
css::drawing::LineCap  aLineCap,
double  fDegreeStepWidth = basegfx::deg2rad(10.0),
double  fMiterMinimumAngle = basegfx::deg2rad(15.0) 
)

constructor

Definition at line 712 of file polygontubeprimitive3d.cxx.

Member Function Documentation

◆ get3DDecomposition()

Primitive3DContainer drawinglayer::primitive3d::PolygonTubePrimitive3D::get3DDecomposition ( const geometry::ViewInformation3D rViewInformation) const
overridevirtual

local decomposition.

Use own buffering since we are not derived from BufferedDecompositionPrimitive3D

Reimplemented from drawinglayer::primitive3d::BasePrimitive3D.

Definition at line 744 of file polygontubeprimitive3d.cxx.

References getLast3DDecomposition(), impCreate3DDecomposition(), comphelper::UnoImplBase::m_aMutex, and maLast3DDecomposition.

◆ getDegreeStepWidth()

double drawinglayer::primitive3d::PolygonTubePrimitive3D::getDegreeStepWidth ( ) const
inline

Definition at line 68 of file polygontubeprimitive3d.hxx.

References mfDegreeStepWidth.

Referenced by operator==().

◆ getLast3DDecomposition()

const Primitive3DContainer & drawinglayer::primitive3d::PolygonTubePrimitive3D::getLast3DDecomposition ( ) const
inlineprivate

access methods to maLast3DDecomposition.

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 50 of file polygontubeprimitive3d.hxx.

References maLast3DDecomposition.

Referenced by get3DDecomposition().

◆ getLineCap()

css::drawing::LineCap drawinglayer::primitive3d::PolygonTubePrimitive3D::getLineCap ( ) const
inline

Definition at line 71 of file polygontubeprimitive3d.hxx.

References maLineCap.

Referenced by impCreate3DDecomposition(), and operator==().

◆ getLineJoin()

basegfx::B2DLineJoin drawinglayer::primitive3d::PolygonTubePrimitive3D::getLineJoin ( ) const
inline

Definition at line 70 of file polygontubeprimitive3d.hxx.

References maLineJoin.

Referenced by impCreate3DDecomposition(), and operator==().

◆ getMiterMinimumAngle()

double drawinglayer::primitive3d::PolygonTubePrimitive3D::getMiterMinimumAngle ( ) const
inline

Definition at line 69 of file polygontubeprimitive3d.hxx.

References mfMiterMinimumAngle.

Referenced by impCreate3DDecomposition(), and operator==().

◆ getRadius()

double drawinglayer::primitive3d::PolygonTubePrimitive3D::getRadius ( ) const
inline

data read access

Definition at line 67 of file polygontubeprimitive3d.hxx.

References mfRadius.

Referenced by impCreate3DDecomposition(), and operator==().

◆ impCreate3DDecomposition()

Primitive3DContainer drawinglayer::primitive3d::PolygonTubePrimitive3D::impCreate3DDecomposition ( const geometry::ViewInformation3D rViewInformation) const
private

◆ operator==()

bool drawinglayer::primitive3d::PolygonTubePrimitive3D::operator== ( const BasePrimitive3D rPrimitive) const
overridevirtual

Member Data Documentation

◆ maLast3DDecomposition

Primitive3DContainer drawinglayer::primitive3d::PolygonTubePrimitive3D::maLast3DDecomposition
private

hold the last decomposition since it's expensive

Definition at line 37 of file polygontubeprimitive3d.hxx.

Referenced by get3DDecomposition(), and getLast3DDecomposition().

◆ maLineCap

css::drawing::LineCap drawinglayer::primitive3d::PolygonTubePrimitive3D::maLineCap
private

Definition at line 44 of file polygontubeprimitive3d.hxx.

Referenced by getLineCap().

◆ maLineJoin

basegfx::B2DLineJoin drawinglayer::primitive3d::PolygonTubePrimitive3D::maLineJoin
private

Definition at line 43 of file polygontubeprimitive3d.hxx.

Referenced by getLineJoin().

◆ mfDegreeStepWidth

double drawinglayer::primitive3d::PolygonTubePrimitive3D::mfDegreeStepWidth
private

Definition at line 41 of file polygontubeprimitive3d.hxx.

Referenced by getDegreeStepWidth().

◆ mfMiterMinimumAngle

double drawinglayer::primitive3d::PolygonTubePrimitive3D::mfMiterMinimumAngle
private

Definition at line 42 of file polygontubeprimitive3d.hxx.

Referenced by getMiterMinimumAngle().

◆ mfRadius

double drawinglayer::primitive3d::PolygonTubePrimitive3D::mfRadius
private

visualisation parameters

Definition at line 40 of file polygontubeprimitive3d.hxx.

Referenced by getRadius().


The documentation for this class was generated from the following files: