LibreOffice Module drawinglayer (master) 1
|
DefaultProcessor3D class. More...
#include <defaultprocessor3d.hxx>
Protected Attributes | |
const attribute::SdrSceneAttribute & | mrSdrSceneAttribute |
read-only scene infos (normal handling, etc...) More... | |
const attribute::SdrLightingAttribute & | mrSdrLightingAttribute |
read-only light infos (lights, etc...) More... | |
basegfx::B2DRange | maRasterRange |
renderer range. More... | |
basegfx::BColorModifierStack | maBColorModifierStack |
the modifiedColorPrimitive stack More... | |
std::shared_ptr< texture::GeoTexSvx > | mpGeoTexSvx |
the current active texture More... | |
std::shared_ptr< texture::GeoTexSvx > | mpTransparenceGeoTexSvx |
the current active transparence texture More... | |
sal_uInt32 | mnTransparenceCounter |
counter for entered transparence textures More... | |
bool | mbModulate: 1 |
bool | mbFilter: 1 |
bool | mbSimpleTextureActive: 1 |
DefaultProcessor3D class.
This processor renders all fed primitives to a 2D raster where for all primitives the two basic methods rasterconvertB3DPolygon for hairlines and rasterconvertB3DPolyPolygon for filled geometry is called. It is a baseclass to e.g. base a Z-Buffer supported renderer on the 3D primitive processing.
Definition at line 63 of file defaultprocessor3d.hxx.
drawinglayer::processor3d::DefaultProcessor3D::DefaultProcessor3D | ( | const geometry::ViewInformation3D & | rViewInformation, |
const attribute::SdrSceneAttribute & | rSdrSceneAttribute, | ||
const attribute::SdrLightingAttribute & | rSdrLightingAttribute | ||
) |
Definition at line 549 of file defaultprocessor3d.cxx.
References basegfx::Range2D< typename TYPE, typename TRAITS >::expand(), and maRasterRange.
|
overridevirtual |
Definition at line 568 of file defaultprocessor3d.cxx.
|
inline |
data read access renderer stuff
Definition at line 125 of file defaultprocessor3d.hxx.
References maBColorModifierStack.
Referenced by ZBufferRasterConverter3D::decideColorAndOpacity(), and ZBufferRasterConverter3D::setupLineSpanInterpolators().
|
inline |
Definition at line 130 of file defaultprocessor3d.hxx.
References mbFilter.
Referenced by impRenderBitmapTexturePrimitive3D(), impRenderGradientTexturePrimitive3D(), impRenderHatchTexturePrimitive3D(), drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolygon(), and drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolyPolygon().
|
inline |
Definition at line 126 of file defaultprocessor3d.hxx.
References mpGeoTexSvx.
Referenced by ZBufferRasterConverter3D::decideColorAndOpacity(), impRenderPolyPolygonMaterialPrimitive3D(), drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolygon(), drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolyPolygon(), and ZBufferRasterConverter3D::setupLineSpanInterpolators().
|
inline |
Definition at line 129 of file defaultprocessor3d.hxx.
References mbModulate.
Referenced by ZBufferRasterConverter3D::decideColorAndOpacity(), impRenderBitmapTexturePrimitive3D(), impRenderGradientTexturePrimitive3D(), impRenderHatchTexturePrimitive3D(), impRenderPolyPolygonMaterialPrimitive3D(), drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolygon(), drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolyPolygon(), and ZBufferRasterConverter3D::setupLineSpanInterpolators().
|
inline |
Definition at line 122 of file defaultprocessor3d.hxx.
References mrSdrLightingAttribute.
Referenced by ZBufferRasterConverter3D::decideColorAndOpacity(), and impRenderPolyPolygonMaterialPrimitive3D().
|
inline |
data read access
Definition at line 121 of file defaultprocessor3d.hxx.
References mrSdrSceneAttribute.
Referenced by impRenderPolyPolygonMaterialPrimitive3D().
|
inline |
Definition at line 131 of file defaultprocessor3d.hxx.
References mbSimpleTextureActive.
Referenced by impRenderGradientTexturePrimitive3D(), drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolygon(), drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolyPolygon(), and ZBufferRasterConverter3D::setupLineSpanInterpolators().
|
inline |
Definition at line 128 of file defaultprocessor3d.hxx.
References mnTransparenceCounter.
Referenced by drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolygon(), and drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolyPolygon().
|
inline |
Definition at line 127 of file defaultprocessor3d.hxx.
References mpTransparenceGeoTexSvx.
Referenced by ZBufferRasterConverter3D::decideColorAndOpacity(), impRenderPolyPolygonMaterialPrimitive3D(), drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolygon(), drawinglayer::processor3d::ZBufferProcessor3D::rasterconvertB3DPolyPolygon(), and ZBufferRasterConverter3D::setupLineSpanInterpolators().
|
protected |
Definition at line 224 of file defaultprocessor3d.cxx.
References basegfx::utils::createScaleB2DHomMatrix(), Graphic::GetBitmapEx(), drawinglayer::primitive3d::GroupPrimitive3D::getChildren(), drawinglayer::primitive3d::BitmapTexturePrimitive3D::getFillGraphicAttribute(), drawinglayer::primitive3d::TexturePrimitive3D::getFilter(), getFilter(), drawinglayer::attribute::FillGraphicAttribute::getGraphic(), drawinglayer::attribute::FillGraphicAttribute::getGraphicRange(), drawinglayer::primitive3d::TexturePrimitive3D::getModulate(), getModulate(), drawinglayer::attribute::FillGraphicAttribute::getOffsetX(), drawinglayer::attribute::FillGraphicAttribute::getOffsetY(), drawinglayer::primitive3d::TexturePrimitive3D::getTextureSize(), drawinglayer::attribute::FillGraphicAttribute::getTiling(), mbFilter, mbModulate, mpGeoTexSvx, drawinglayer::processor3d::BaseProcessor3D::process(), and basegfx::B2DRange::transform().
Referenced by processBasePrimitive3D().
|
protected |
Definition at line 46 of file defaultprocessor3d.cxx.
References drawinglayer::attribute::FillGradientAttribute::getAngle(), drawinglayer::attribute::FillGradientAttribute::getBorder(), drawinglayer::primitive3d::GroupPrimitive3D::getChildren(), drawinglayer::attribute::FillGradientAttribute::getColorStops(), drawinglayer::primitive3d::TexturePrimitive3D::getFilter(), getFilter(), drawinglayer::primitive3d::GradientTexturePrimitive3D::getGradient(), drawinglayer::primitive3d::TexturePrimitive3D::getModulate(), getModulate(), drawinglayer::attribute::FillGradientAttribute::getOffsetX(), drawinglayer::attribute::FillGradientAttribute::getOffsetY(), getSimpleTextureActive(), drawinglayer::attribute::FillGradientAttribute::getSteps(), drawinglayer::attribute::FillGradientAttribute::getStyle(), drawinglayer::primitive3d::TexturePrimitive3D::getTextureSize(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), basegfx::BColorStops::isSingleColor(), basegfx::BColor::luminance(), mbFilter, mbModulate, mbSimpleTextureActive, mpGeoTexSvx, mpTransparenceGeoTexSvx, and drawinglayer::processor3d::BaseProcessor3D::process().
Referenced by processBasePrimitive3D().
|
protected |
Definition at line 183 of file defaultprocessor3d.cxx.
References drawinglayer::primitive3d::GroupPrimitive3D::getChildren(), drawinglayer::primitive3d::TexturePrimitive3D::getFilter(), getFilter(), drawinglayer::primitive3d::TexturePrimitive3D::getModulate(), getModulate(), drawinglayer::primitive3d::TexturePrimitive3D::getTextureSize(), drawinglayer::processor3d::BaseProcessor3D::getViewInformation3D(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple3D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), basegfx::Tuple3D< typename TYPE >::getY(), basegfx::Tuple3D< typename TYPE >::getZ(), basegfx::B3DHomMatrix::invert(), mbFilter, mbModulate, mpGeoTexSvx, and drawinglayer::processor3d::BaseProcessor3D::process().
Referenced by processBasePrimitive3D().
|
protected |
Definition at line 275 of file defaultprocessor3d.cxx.
References drawinglayer::primitive3d::GroupPrimitive3D::getChildren(), drawinglayer::primitive3d::ModifiedColorPrimitive3D::getColorModifier(), maBColorModifierStack, basegfx::BColorModifierStack::pop(), drawinglayer::processor3d::BaseProcessor3D::process(), and basegfx::BColorModifierStack::push().
Referenced by processBasePrimitive3D().
|
protected |
Definition at line 292 of file defaultprocessor3d.cxx.
References basegfx::B3DPolygon::clearBColors(), basegfx::B3DPolygon::clearNormals(), basegfx::B3DPolygon::clearTextureCoordinates(), basegfx::B3DPolygon::count(), drawinglayer::primitive3d::PolygonHairlinePrimitive3D::getB3DPolygon(), drawinglayer::primitive3d::PolygonHairlinePrimitive3D::getBColor(), basegfx::B3DRange::getMaxX(), basegfx::B3DRange::getMaxY(), basegfx::B3DRange::getMinX(), basegfx::B3DRange::getMinY(), basegfx::BColorModifierStack::getModifiedColor(), basegfx::utils::getRange(), drawinglayer::processor3d::BaseProcessor3D::getViewInformation3D(), maBColorModifierStack, maRasterRange, basegfx::Range2D< typename TYPE, typename TRAITS >::overlaps(), rasterconvertB3DPolygon(), and basegfx::B3DPolygon::transform().
Referenced by processBasePrimitive3D().
|
protected |
Definition at line 317 of file defaultprocessor3d.cxx.
References a, basegfx::B3DPolyPolygon::areNormalsUsed(), basegfx::B3DPolyPolygon::areTextureCoordinatesUsed(), basegfx::B3DPolyPolygon::clearBColors(), basegfx::B3DPolygon::clearNormals(), basegfx::B3DPolyPolygon::clearNormals(), basegfx::B3DPolyPolygon::clearTextureCoordinates(), basegfx::B3DPolygon::count(), basegfx::B3DPolyPolygon::count(), basegfx::B3DPolyPolygon::getB3DPolygon(), drawinglayer::primitive3d::PolyPolygonMaterialPrimitive3D::getB3DPolyPolygon(), drawinglayer::attribute::MaterialAttribute3D::getColor(), drawinglayer::primitive3d::PolyPolygonMaterialPrimitive3D::getDoubleSided(), drawinglayer::attribute::MaterialAttribute3D::getEmission(), getGeoTexSvx(), drawinglayer::primitive3d::PolyPolygonMaterialPrimitive3D::getMaterial(), basegfx::B3DRange::getMaxX(), basegfx::B3DRange::getMaxY(), basegfx::B3DRange::getMinX(), basegfx::B3DRange::getMinY(), basegfx::BColorModifierStack::getModifiedColor(), getModulate(), basegfx::B3DPolygon::getNormal(), getOrientation(), basegfx::utils::getRange(), getSdrLightingAttribute(), getSdrSceneAttribute(), drawinglayer::attribute::MaterialAttribute3D::getSpecular(), drawinglayer::attribute::MaterialAttribute3D::getSpecularIntensity(), getTransparenceGeoTexSvx(), drawinglayer::processor3d::BaseProcessor3D::getViewInformation3D(), basegfx::Tuple3D< typename TYPE >::getZ(), maBColorModifierStack, maRasterRange, basegfx::Range2D< typename TYPE, typename TRAITS >::overlaps(), rasterconvertB3DPolyPolygon(), basegfx::B3DHomMatrix::scale(), basegfx::B3DPolyPolygon::setB3DPolygon(), basegfx::B3DPolygon::setBColor(), drawinglayer::attribute::SdrLightingAttribute::solveColorModel(), basegfx::B3DPolyPolygon::transform(), and basegfx::B3DPolyPolygon::transformNormals().
Referenced by processBasePrimitive3D().
|
protected |
Definition at line 455 of file defaultprocessor3d.cxx.
References drawinglayer::primitive3d::GroupPrimitive3D::getChildren(), drawinglayer::geometry::ViewInformation3D::getDeviceToView(), drawinglayer::geometry::ViewInformation3D::getExtendedInformationSequence(), drawinglayer::geometry::ViewInformation3D::getObjectTransformation(), drawinglayer::geometry::ViewInformation3D::getOrientation(), drawinglayer::geometry::ViewInformation3D::getProjection(), drawinglayer::primitive3d::TransformPrimitive3D::getTransformation(), drawinglayer::processor3d::BaseProcessor3D::getViewInformation3D(), drawinglayer::geometry::ViewInformation3D::getViewTime(), drawinglayer::processor3d::BaseProcessor3D::process(), and drawinglayer::processor3d::BaseProcessor3D::updateViewInformation().
Referenced by processBasePrimitive3D().
|
overrideprotectedvirtual |
Reimplemented from drawinglayer::processor3d::BaseProcessor3D.
Definition at line 477 of file defaultprocessor3d.cxx.
References drawinglayer::primitive3d::BasePrimitive3D::get3DDecomposition(), drawinglayer::primitive3d::BasePrimitive3D::getPrimitive3DID(), drawinglayer::processor3d::BaseProcessor3D::getViewInformation3D(), impRenderBitmapTexturePrimitive3D(), impRenderGradientTexturePrimitive3D(), impRenderHatchTexturePrimitive3D(), impRenderModifiedColorPrimitive3D(), impRenderPolygonHairlinePrimitive3D(), impRenderPolyPolygonMaterialPrimitive3D(), impRenderTransformPrimitive3D(), mnTransparenceCounter, PRIMITIVE3D_ID_BITMAPTEXTUREPRIMITIVE3D, PRIMITIVE3D_ID_GRADIENTTEXTUREPRIMITIVE3D, PRIMITIVE3D_ID_HATCHTEXTUREPRIMITIVE3D, PRIMITIVE3D_ID_MODIFIEDCOLORPRIMITIVE3D, PRIMITIVE3D_ID_POLYGONHAIRLINEPRIMITIVE3D, PRIMITIVE3D_ID_POLYPOLYGONMATERIALPRIMITIVE3D, PRIMITIVE3D_ID_TRANSFORMPRIMITIVE3D, PRIMITIVE3D_ID_TRANSPARENCETEXTUREPRIMITIVE3D, and drawinglayer::processor3d::BaseProcessor3D::process().
|
protectedpure virtual |
Implemented in drawinglayer::processor3d::ZBufferProcessor3D.
Referenced by impRenderPolygonHairlinePrimitive3D().
|
protectedpure virtual |
Implemented in drawinglayer::processor3d::ZBufferProcessor3D.
Referenced by impRenderPolyPolygonMaterialPrimitive3D().
|
protected |
the modifiedColorPrimitive stack
Definition at line 77 of file defaultprocessor3d.hxx.
Referenced by getBColorModifierStack(), impRenderModifiedColorPrimitive3D(), impRenderPolygonHairlinePrimitive3D(), and impRenderPolyPolygonMaterialPrimitive3D().
|
protected |
renderer range.
Need to be correctly set by the derived implementations normally the (0, 0, W, H) range from mpBZPixelRaster
Definition at line 74 of file defaultprocessor3d.hxx.
Referenced by DefaultProcessor3D(), impRenderPolygonHairlinePrimitive3D(), impRenderPolyPolygonMaterialPrimitive3D(), and drawinglayer::processor3d::ZBufferProcessor3D::ZBufferProcessor3D().
|
protected |
Definition at line 89 of file defaultprocessor3d.hxx.
Referenced by drawinglayer::processor3d::ZBufferProcessor3D::finish(), getFilter(), impRenderBitmapTexturePrimitive3D(), impRenderGradientTexturePrimitive3D(), and impRenderHatchTexturePrimitive3D().
|
protected |
Definition at line 88 of file defaultprocessor3d.hxx.
Referenced by drawinglayer::processor3d::ZBufferProcessor3D::finish(), getModulate(), impRenderBitmapTexturePrimitive3D(), impRenderGradientTexturePrimitive3D(), and impRenderHatchTexturePrimitive3D().
|
protected |
Definition at line 90 of file defaultprocessor3d.hxx.
Referenced by drawinglayer::processor3d::ZBufferProcessor3D::finish(), getSimpleTextureActive(), and impRenderGradientTexturePrimitive3D().
|
protected |
counter for entered transparence textures
Definition at line 86 of file defaultprocessor3d.hxx.
Referenced by getTransparenceCounter(), and processBasePrimitive3D().
|
protected |
the current active texture
Definition at line 80 of file defaultprocessor3d.hxx.
Referenced by drawinglayer::processor3d::ZBufferProcessor3D::finish(), getGeoTexSvx(), impRenderBitmapTexturePrimitive3D(), impRenderGradientTexturePrimitive3D(), and impRenderHatchTexturePrimitive3D().
|
protected |
the current active transparence texture
Definition at line 83 of file defaultprocessor3d.hxx.
Referenced by drawinglayer::processor3d::ZBufferProcessor3D::finish(), getTransparenceGeoTexSvx(), and impRenderGradientTexturePrimitive3D().
|
protected |
read-only light infos (lights, etc...)
Definition at line 70 of file defaultprocessor3d.hxx.
Referenced by getSdrLightingAttribute().
|
protected |
read-only scene infos (normal handling, etc...)
Definition at line 67 of file defaultprocessor3d.hxx.
Referenced by getSdrSceneAttribute().