LibreOffice Module drawinglayer (master) 1
|
PolygonStrokePrimitive3D class. More...
#include <polygontubeprimitive3d.hxx>
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::B3DPolygon & | getB3DPolygon () const |
data read access More... | |
const basegfx::BColor & | getBColor () 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 Primitive3DContainer & | getLast3DDecomposition () 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 |
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.
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.
|
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.
|
inline |
Definition at line 68 of file polygontubeprimitive3d.hxx.
References mfDegreeStepWidth.
Referenced by operator==().
|
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().
|
inline |
Definition at line 71 of file polygontubeprimitive3d.hxx.
References maLineCap.
Referenced by impCreate3DDecomposition(), and operator==().
|
inline |
Definition at line 70 of file polygontubeprimitive3d.hxx.
References maLineJoin.
Referenced by impCreate3DDecomposition(), and operator==().
|
inline |
Definition at line 69 of file polygontubeprimitive3d.hxx.
References mfMiterMinimumAngle.
Referenced by impCreate3DDecomposition(), and operator==().
|
inline |
data read access
Definition at line 67 of file polygontubeprimitive3d.hxx.
References mfRadius.
Referenced by impCreate3DDecomposition(), and operator==().
|
private |
local decomposition.
Definition at line 513 of file polygontubeprimitive3d.cxx.
References a, count, basegfx::cross(), basegfx::fTools::equalZero(), drawinglayer::primitive3d::PolygonHairlinePrimitive3D::getB3DPolygon(), drawinglayer::primitive3d::PolygonHairlinePrimitive3D::getBColor(), basegfx::B3DVector::getLength(), getLength(), getLineCap(), getLineJoin(), getMiterMinimumAngle(), getRadius(), basegfx::Tuple3D< typename TYPE >::getX(), basegfx::Tuple3D< typename TYPE >::getY(), basegfx::Tuple3D< typename TYPE >::getZ(), basegfx::B3DHomMatrix::invert(), basegfx::fTools::more(), basegfx::NONE, drawinglayer::primitive3d::PolygonHairlinePrimitive3D::PolygonHairlinePrimitive3D(), basegfx::B3DHomMatrix::rotate(), basegfx::B3DVector::scalar(), basegfx::B3DHomMatrix::scale(), and basegfx::B3DHomMatrix::translate().
Referenced by get3DDecomposition().
|
overridevirtual |
compare operator
Reimplemented from drawinglayer::primitive3d::PolygonHairlinePrimitive3D.
Definition at line 728 of file polygontubeprimitive3d.cxx.
References getDegreeStepWidth(), getLineCap(), getLineJoin(), getMiterMinimumAngle(), and getRadius().
|
private |
hold the last decomposition since it's expensive
Definition at line 37 of file polygontubeprimitive3d.hxx.
Referenced by get3DDecomposition(), and getLast3DDecomposition().
|
private |
Definition at line 44 of file polygontubeprimitive3d.hxx.
Referenced by getLineCap().
|
private |
Definition at line 43 of file polygontubeprimitive3d.hxx.
Referenced by getLineJoin().
|
private |
Definition at line 41 of file polygontubeprimitive3d.hxx.
Referenced by getDegreeStepWidth().
|
private |
Definition at line 42 of file polygontubeprimitive3d.hxx.
Referenced by getMiterMinimumAngle().
|
private |
visualisation parameters
Definition at line 40 of file polygontubeprimitive3d.hxx.
Referenced by getRadius().