LibreOffice Module drawinglayer (master) 1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
drawinglayer::processor3d::DefaultProcessor3D Class Referenceabstract

DefaultProcessor3D class. More...

#include <defaultprocessor3d.hxx>

Inheritance diagram for drawinglayer::processor3d::DefaultProcessor3D:
[legend]
Collaboration diagram for drawinglayer::processor3d::DefaultProcessor3D:
[legend]

Public Member Functions

 DefaultProcessor3D (const geometry::ViewInformation3D &rViewInformation, const attribute::SdrSceneAttribute &rSdrSceneAttribute, const attribute::SdrLightingAttribute &rSdrLightingAttribute)
 
virtual ~DefaultProcessor3D () override
 
const attribute::SdrSceneAttributegetSdrSceneAttribute () const
 data read access More...
 
const attribute::SdrLightingAttributegetSdrLightingAttribute () const
 
const basegfx::BColorModifierStackgetBColorModifierStack () const
 data read access renderer stuff More...
 
const std::shared_ptr< texture::GeoTexSvx > & getGeoTexSvx () const
 
const std::shared_ptr< texture::GeoTexSvx > & getTransparenceGeoTexSvx () const
 
sal_uInt32 getTransparenceCounter () const
 
bool getModulate () const
 
bool getFilter () const
 
bool getSimpleTextureActive () const
 
- Public Member Functions inherited from drawinglayer::processor3d::BaseProcessor3D
 BaseProcessor3D (geometry::ViewInformation3D aViewInformation)
 
virtual ~BaseProcessor3D ()
 
void process (const primitive3d::Primitive3DContainer &rSource)
 
const geometry::ViewInformation3DgetViewInformation3D () const
 

Protected Member Functions

void impRenderGradientTexturePrimitive3D (const primitive3d::GradientTexturePrimitive3D &rPrimitive, bool bTransparence)
 
void impRenderHatchTexturePrimitive3D (const primitive3d::HatchTexturePrimitive3D &rPrimitive)
 
void impRenderBitmapTexturePrimitive3D (const primitive3d::BitmapTexturePrimitive3D &rPrimitive)
 
void impRenderModifiedColorPrimitive3D (const primitive3d::ModifiedColorPrimitive3D &rModifiedCandidate)
 
void impRenderPolygonHairlinePrimitive3D (const primitive3d::PolygonHairlinePrimitive3D &rPrimitive) const
 
void impRenderPolyPolygonMaterialPrimitive3D (const primitive3d::PolyPolygonMaterialPrimitive3D &rPrimitive) const
 
void impRenderTransformPrimitive3D (const primitive3d::TransformPrimitive3D &rTransformCandidate)
 
virtual void rasterconvertB3DPolygon (const attribute::MaterialAttribute3D &rMaterial, const basegfx::B3DPolygon &rHairline) const =0
 
virtual void rasterconvertB3DPolyPolygon (const attribute::MaterialAttribute3D &rMaterial, const basegfx::B3DPolyPolygon &rFill) const =0
 
virtual void processBasePrimitive3D (const primitive3d::BasePrimitive3D &rBasePrimitive) override
 
- Protected Member Functions inherited from drawinglayer::processor3d::BaseProcessor3D
void updateViewInformation (const geometry::ViewInformation3D &rViewInformation3D)
 
virtual void processBasePrimitive3D (const primitive3d::BasePrimitive3D &rCandidate)
 

Protected Attributes

const attribute::SdrSceneAttributemrSdrSceneAttribute
 read-only scene infos (normal handling, etc...) More...
 
const attribute::SdrLightingAttributemrSdrLightingAttribute
 read-only light infos (lights, etc...) More...
 
basegfx::B2DRange maRasterRange
 renderer range. More...
 
basegfx::BColorModifierStack maBColorModifierStack
 the modifiedColorPrimitive stack More...
 
std::shared_ptr< texture::GeoTexSvxmpGeoTexSvx
 the current active texture More...
 
std::shared_ptr< texture::GeoTexSvxmpTransparenceGeoTexSvx
 the current active transparence texture More...
 
sal_uInt32 mnTransparenceCounter
 counter for entered transparence textures More...
 
bool mbModulate: 1
 
bool mbFilter: 1
 
bool mbSimpleTextureActive: 1
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ DefaultProcessor3D()

drawinglayer::processor3d::DefaultProcessor3D::DefaultProcessor3D ( const geometry::ViewInformation3D rViewInformation,
const attribute::SdrSceneAttribute rSdrSceneAttribute,
const attribute::SdrLightingAttribute rSdrLightingAttribute 
)

◆ ~DefaultProcessor3D()

drawinglayer::processor3d::DefaultProcessor3D::~DefaultProcessor3D ( )
overridevirtual

Definition at line 568 of file defaultprocessor3d.cxx.

Member Function Documentation

◆ getBColorModifierStack()

const basegfx::BColorModifierStack & drawinglayer::processor3d::DefaultProcessor3D::getBColorModifierStack ( ) const
inline

◆ getFilter()

bool drawinglayer::processor3d::DefaultProcessor3D::getFilter ( ) const
inline

◆ getGeoTexSvx()

const std::shared_ptr< texture::GeoTexSvx > & drawinglayer::processor3d::DefaultProcessor3D::getGeoTexSvx ( ) const
inline

◆ getModulate()

bool drawinglayer::processor3d::DefaultProcessor3D::getModulate ( ) const
inline

◆ getSdrLightingAttribute()

const attribute::SdrLightingAttribute & drawinglayer::processor3d::DefaultProcessor3D::getSdrLightingAttribute ( ) const
inline

◆ getSdrSceneAttribute()

const attribute::SdrSceneAttribute & drawinglayer::processor3d::DefaultProcessor3D::getSdrSceneAttribute ( ) const
inline

data read access

Definition at line 121 of file defaultprocessor3d.hxx.

References mrSdrSceneAttribute.

Referenced by impRenderPolyPolygonMaterialPrimitive3D().

◆ getSimpleTextureActive()

bool drawinglayer::processor3d::DefaultProcessor3D::getSimpleTextureActive ( ) const
inline

◆ getTransparenceCounter()

sal_uInt32 drawinglayer::processor3d::DefaultProcessor3D::getTransparenceCounter ( ) const
inline

◆ getTransparenceGeoTexSvx()

const std::shared_ptr< texture::GeoTexSvx > & drawinglayer::processor3d::DefaultProcessor3D::getTransparenceGeoTexSvx ( ) const
inline

◆ impRenderBitmapTexturePrimitive3D()

void drawinglayer::processor3d::DefaultProcessor3D::impRenderBitmapTexturePrimitive3D ( const primitive3d::BitmapTexturePrimitive3D rPrimitive)
protected

◆ impRenderGradientTexturePrimitive3D()

void drawinglayer::processor3d::DefaultProcessor3D::impRenderGradientTexturePrimitive3D ( const primitive3d::GradientTexturePrimitive3D rPrimitive,
bool  bTransparence 
)
protected

◆ impRenderHatchTexturePrimitive3D()

void drawinglayer::processor3d::DefaultProcessor3D::impRenderHatchTexturePrimitive3D ( const primitive3d::HatchTexturePrimitive3D rPrimitive)
protected

◆ impRenderModifiedColorPrimitive3D()

void drawinglayer::processor3d::DefaultProcessor3D::impRenderModifiedColorPrimitive3D ( const primitive3d::ModifiedColorPrimitive3D rModifiedCandidate)
protected

◆ impRenderPolygonHairlinePrimitive3D()

void drawinglayer::processor3d::DefaultProcessor3D::impRenderPolygonHairlinePrimitive3D ( const primitive3d::PolygonHairlinePrimitive3D rPrimitive) const
protected

◆ impRenderPolyPolygonMaterialPrimitive3D()

void drawinglayer::processor3d::DefaultProcessor3D::impRenderPolyPolygonMaterialPrimitive3D ( const primitive3d::PolyPolygonMaterialPrimitive3D rPrimitive) const
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().

◆ impRenderTransformPrimitive3D()

void drawinglayer::processor3d::DefaultProcessor3D::impRenderTransformPrimitive3D ( const primitive3d::TransformPrimitive3D rTransformCandidate)
protected

◆ processBasePrimitive3D()

void drawinglayer::processor3d::DefaultProcessor3D::processBasePrimitive3D ( const primitive3d::BasePrimitive3D rBasePrimitive)
overrideprotectedvirtual

◆ rasterconvertB3DPolygon()

virtual void drawinglayer::processor3d::DefaultProcessor3D::rasterconvertB3DPolygon ( const attribute::MaterialAttribute3D rMaterial,
const basegfx::B3DPolygon rHairline 
) const
protectedpure virtual

◆ rasterconvertB3DPolyPolygon()

virtual void drawinglayer::processor3d::DefaultProcessor3D::rasterconvertB3DPolyPolygon ( const attribute::MaterialAttribute3D rMaterial,
const basegfx::B3DPolyPolygon rFill 
) const
protectedpure virtual

Member Data Documentation

◆ maBColorModifierStack

basegfx::BColorModifierStack drawinglayer::processor3d::DefaultProcessor3D::maBColorModifierStack
protected

◆ maRasterRange

basegfx::B2DRange drawinglayer::processor3d::DefaultProcessor3D::maRasterRange
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().

◆ mbFilter

bool drawinglayer::processor3d::DefaultProcessor3D::mbFilter
protected

◆ mbModulate

bool drawinglayer::processor3d::DefaultProcessor3D::mbModulate
protected

◆ mbSimpleTextureActive

bool drawinglayer::processor3d::DefaultProcessor3D::mbSimpleTextureActive
protected

◆ mnTransparenceCounter

sal_uInt32 drawinglayer::processor3d::DefaultProcessor3D::mnTransparenceCounter
protected

counter for entered transparence textures

Definition at line 86 of file defaultprocessor3d.hxx.

Referenced by getTransparenceCounter(), and processBasePrimitive3D().

◆ mpGeoTexSvx

std::shared_ptr< texture::GeoTexSvx > drawinglayer::processor3d::DefaultProcessor3D::mpGeoTexSvx
protected

◆ mpTransparenceGeoTexSvx

std::shared_ptr< texture::GeoTexSvx > drawinglayer::processor3d::DefaultProcessor3D::mpTransparenceGeoTexSvx
protected

the current active transparence texture

Definition at line 83 of file defaultprocessor3d.hxx.

Referenced by drawinglayer::processor3d::ZBufferProcessor3D::finish(), getTransparenceGeoTexSvx(), and impRenderGradientTexturePrimitive3D().

◆ mrSdrLightingAttribute

const attribute::SdrLightingAttribute& drawinglayer::processor3d::DefaultProcessor3D::mrSdrLightingAttribute
protected

read-only light infos (lights, etc...)

Definition at line 70 of file defaultprocessor3d.hxx.

Referenced by getSdrLightingAttribute().

◆ mrSdrSceneAttribute

const attribute::SdrSceneAttribute& drawinglayer::processor3d::DefaultProcessor3D::mrSdrSceneAttribute
protected

read-only scene infos (normal handling, etc...)

Definition at line 67 of file defaultprocessor3d.hxx.

Referenced by getSdrSceneAttribute().


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