LibreOffice Module drawinglayer (master) 1
|
ViewInformation3D class. More...
#include <viewinformation3d.hxx>
Public Types | |
typedef o3tl::cow_wrapper< ImpViewInformation3D, o3tl::ThreadSafeRefCountingPolicy > | ImplType |
Public Member Functions | |
ViewInformation3D (const basegfx::B3DHomMatrix &rObjectTransformation, const basegfx::B3DHomMatrix &rOrientation, const basegfx::B3DHomMatrix &rProjection, const basegfx::B3DHomMatrix &rDeviceToView, double fViewTime, const css::uno::Sequence< css::beans::PropertyValue > &rExtendedParameters) | |
Constructor: Create a ViewInformation3D. More... | |
ViewInformation3D (const css::uno::Sequence< css::beans::PropertyValue > &rViewParameters) | |
Constructor: Create a ViewInformation3D. More... | |
ViewInformation3D () | |
default (empty) constructor More... | |
ViewInformation3D (const ViewInformation3D &) | |
copy constructor More... | |
ViewInformation3D (ViewInformation3D &&) | |
~ViewInformation3D () | |
destructor More... | |
bool | isDefault () const |
ViewInformation3D & | operator= (const ViewInformation3D &) |
assignment operator More... | |
ViewInformation3D & | operator= (ViewInformation3D &&) |
bool | operator== (const ViewInformation3D &rCandidate) const |
compare operators More... | |
bool | operator!= (const ViewInformation3D &rCandidate) const |
const basegfx::B3DHomMatrix & | getObjectTransformation () const |
data access More... | |
const basegfx::B3DHomMatrix & | getOrientation () const |
const basegfx::B3DHomMatrix & | getProjection () const |
const basegfx::B3DHomMatrix & | getDeviceToView () const |
double | getViewTime () const |
const basegfx::B3DHomMatrix & | getObjectToView () const |
for convenience, the linear combination of the above four transformations is offered More... | |
const css::uno::Sequence< css::beans::PropertyValue > & | getExtendedInformationSequence () const |
Get the uno::Sequence< beans::PropertyValue > which contains only ViewInformation not offered directly. More... | |
Private Attributes | |
ImplType | mpViewInformation3D |
pointer to private implementation class More... | |
ViewInformation3D class.
This class holds all view-relevant information for a 3d geometry. It works together with UNO API definitions and supports holding a sequence of PropertyValues. The most used data is for convenience offered directly using basegfx tooling classes. It is an implementation to support the sequence of PropertyValues used in a css::graphic::XPrimitive3D for C++ implementations working with those
Definition at line 52 of file viewinformation3d.hxx.
typedef o3tl::cow_wrapper< ImpViewInformation3D, o3tl::ThreadSafeRefCountingPolicy > drawinglayer::geometry::ViewInformation3D::ImplType |
Definition at line 55 of file viewinformation3d.hxx.
drawinglayer::geometry::ViewInformation3D::ViewInformation3D | ( | const basegfx::B3DHomMatrix & | rObjectTransformation, |
const basegfx::B3DHomMatrix & | rOrientation, | ||
const basegfx::B3DHomMatrix & | rProjection, | ||
const basegfx::B3DHomMatrix & | rDeviceToView, | ||
double | fViewTime, | ||
const css::uno::Sequence< css::beans::PropertyValue > & | rExtendedParameters | ||
) |
Constructor: Create a ViewInformation3D.
rObjectTransformation | The Transformation from Object to World coordinates (normally logic coordinates). |
rOrientation | A part of the 3D ViewTransformation, the World to Camera coordinates transformation which holds the camera coordinate system. |
rProjection | A part of the 3D ViewTransformation, the Camera to Device transformation which transforms coordinates to a [0.0 .. 1.0] device range in X,Y and Z. Z may be used as source for Z-Buffers. This transformation may be e.g. a parallel projection, but also a perspective one and thus may use the last line of the matrix. |
rDeviceToView | A part of the 3D ViewTransformation, the Device to View transformation which normally translates and scales from [0.0 .. 1.0] range in X,Y and Z to discrete position and size. |
rOrientation, rProjection and rDeviceToView define the 3D transformation pipeline and are normally used multiplied together to have a direct transformation from World to View coordinates
fViewTime | The time the view is defined for. Default is 0.0. This parameter is used e.g. for animated objects |
rExtendedParameters | A sequence of property values which allows holding various other parameters besides the obvious and needed ones above. For this constructor none of the other parameters should be added as data. The constructor will parse the given parameters and if data for the other parameters is given, the value in rExtendedParameters will be preferred and overwrite the given parameter |
|
explicit |
Constructor: Create a ViewInformation3D.
rViewParameters | A sequence of property values which allows holding any combination of local and various other parameters. This constructor is fed completely with a sequence of PropertyValues which will be parsed to be able to offer the most used ones in a convenient way. |
drawinglayer::geometry::ViewInformation3D::ViewInformation3D | ( | ) |
default (empty) constructor
Definition at line 305 of file viewinformation3d.cxx.
|
default |
copy constructor
|
default |
|
default |
destructor
const basegfx::B3DHomMatrix & drawinglayer::geometry::ViewInformation3D::getDeviceToView | ( | ) | const |
Definition at line 345 of file viewinformation3d.cxx.
References mpViewInformation3D.
Referenced by drawinglayer::primitive2d::ScenePrimitive2D::create2DDecomposition(), drawinglayer::processor3d::DefaultProcessor3D::impRenderTransformPrimitive3D(), drawinglayer::processor3d::Geometry2DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::Shadow3DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::CutFindProcessor::processBasePrimitive3D(), drawinglayer::processor3d::Shadow3DExtractingProcessor::Shadow3DExtractingProcessor(), and drawinglayer::processor3d::ZBufferProcessor3D::ZBufferProcessor3D().
const uno::Sequence< beans::PropertyValue > & drawinglayer::geometry::ViewInformation3D::getExtendedInformationSequence | ( | ) | const |
Get the uno::Sequence< beans::PropertyValue > which contains only ViewInformation not offered directly.
Use this call if You only need ViewInformation which is not offered conveniently, but only exists as PropertyValue. This is e.g. used to create partially updated incarnations of ViewInformation3D without losing the only with PropertyValues defined data. It does not contain a complete description.
Definition at line 360 of file viewinformation3d.cxx.
References mpViewInformation3D.
Referenced by drawinglayer::primitive2d::ScenePrimitive2D::create2DDecomposition(), drawinglayer::processor3d::DefaultProcessor3D::impRenderTransformPrimitive3D(), drawinglayer::processor3d::Geometry2DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::Shadow3DExtractingProcessor::processBasePrimitive3D(), and drawinglayer::processor3d::CutFindProcessor::processBasePrimitive3D().
const basegfx::B3DHomMatrix & drawinglayer::geometry::ViewInformation3D::getObjectToView | ( | ) | const |
for convenience, the linear combination of the above four transformations is offered
Definition at line 350 of file viewinformation3d.cxx.
References mpViewInformation3D.
Referenced by drawinglayer::processor2d::HitTestProcessor2D::check3DHit(), and drawinglayer::primitive3d::createReducedOutlines().
const basegfx::B3DHomMatrix & drawinglayer::geometry::ViewInformation3D::getObjectTransformation | ( | ) | const |
data access
Definition at line 330 of file viewinformation3d.cxx.
References mpViewInformation3D.
Referenced by drawinglayer::primitive2d::ScenePrimitive2D::create2DDecomposition(), drawinglayer::processor3d::DefaultProcessor3D::impRenderTransformPrimitive3D(), drawinglayer::processor3d::Geometry2DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::Shadow3DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::CutFindProcessor::processBasePrimitive3D(), and drawinglayer::processor3d::Shadow3DExtractingProcessor::Shadow3DExtractingProcessor().
const basegfx::B3DHomMatrix & drawinglayer::geometry::ViewInformation3D::getOrientation | ( | ) | const |
Definition at line 335 of file viewinformation3d.cxx.
References mpViewInformation3D.
Referenced by drawinglayer::primitive2d::ScenePrimitive2D::create2DDecomposition(), drawinglayer::processor3d::DefaultProcessor3D::impRenderTransformPrimitive3D(), drawinglayer::processor3d::Geometry2DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::Shadow3DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::CutFindProcessor::processBasePrimitive3D(), and drawinglayer::processor3d::Shadow3DExtractingProcessor::Shadow3DExtractingProcessor().
const basegfx::B3DHomMatrix & drawinglayer::geometry::ViewInformation3D::getProjection | ( | ) | const |
Definition at line 340 of file viewinformation3d.cxx.
References mpViewInformation3D.
Referenced by drawinglayer::primitive2d::ScenePrimitive2D::create2DDecomposition(), drawinglayer::processor3d::DefaultProcessor3D::impRenderTransformPrimitive3D(), drawinglayer::processor3d::Geometry2DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::Shadow3DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::CutFindProcessor::processBasePrimitive3D(), drawinglayer::processor3d::Shadow3DExtractingProcessor::Shadow3DExtractingProcessor(), and drawinglayer::processor3d::ZBufferProcessor3D::ZBufferProcessor3D().
double drawinglayer::geometry::ViewInformation3D::getViewTime | ( | ) | const |
Definition at line 355 of file viewinformation3d.cxx.
References mpViewInformation3D.
Referenced by drawinglayer::primitive2d::ScenePrimitive2D::create2DDecomposition(), drawinglayer::processor3d::DefaultProcessor3D::impRenderTransformPrimitive3D(), drawinglayer::processor3d::Geometry2DExtractingProcessor::processBasePrimitive3D(), drawinglayer::processor3d::Shadow3DExtractingProcessor::processBasePrimitive3D(), and drawinglayer::processor3d::CutFindProcessor::processBasePrimitive3D().
bool drawinglayer::geometry::ViewInformation3D::isDefault | ( | ) | const |
Definition at line 316 of file viewinformation3d.cxx.
References mpViewInformation3D, and o3tl::cow_wrapper< typename T, class MTPolicy >::same_object().
|
inline |
Definition at line 134 of file viewinformation3d.hxx.
References operator==().
|
default |
assignment operator
|
default |
References operator==().
bool drawinglayer::geometry::ViewInformation3D::operator== | ( | const ViewInformation3D & | rCandidate | ) | const |
compare operators
Definition at line 325 of file viewinformation3d.cxx.
References mpViewInformation3D.
|
private |
pointer to private implementation class
Definition at line 59 of file viewinformation3d.hxx.
Referenced by getDeviceToView(), getExtendedInformationSequence(), getObjectToView(), getObjectTransformation(), getOrientation(), getProjection(), getViewTime(), isDefault(), and operator==().