32#include <osl/diagnose.h>
81 std::move(aNewSubList));
89 std::move(aNewTransPrimitiveVector),
154 if(a2DHairline.
count())
159 std::move(a2DHairline),
212 mpPrimitive2DSequence(&maPrimitive2DSequence),
213 maObjectTransformation(
std::move(aObjectTransformation)),
214 maLightNormal(rLightNormal),
215 mfLightPlaneScalar(0.0),
216 mbShadowProjectionIsValid(false),
218 mbUseProjection(false)
248 "OOps, someone used Shadow3DExtractingProcessor, but did not fetch the results (!)");
255 for(sal_uInt32
a(0);
a < rSource.
count();
a++)
284 for(sal_uInt32
a(0);
a < rSource.
count();
a++)
void append(const B2DPolygon &rPolygon, sal_uInt32 nCount=1)
void transform(const basegfx::B2DHomMatrix &rMatrix)
void transform(const basegfx::B2DHomMatrix &rMatrix)
void append(const basegfx::B2DPoint &rPoint, sal_uInt32 nCount)
void setClosed(bool bNew)
B3DPolygon const & getB3DPolygon(sal_uInt32 nIndex) const
B3DPoint const & getB3DPoint(sal_uInt32 nIndex) const
BASEGFX_DLLPUBLIC void transform(const B3DHomMatrix &rMatrix)
double scalar(const B3DVector &rVec) const
PolyPolygonColorPrimitive2D class.
PolygonHairlinePrimitive2D class.
UnifiedTransparencePrimitive2D class.
virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D &rViewInformation) const
The default implementation returns an empty sequence.
virtual sal_uInt32 getPrimitive3DID() const =0
provide unique ID for fast identifying of known primitive implementations in renderers.
const Primitive3DContainer & getChildren() const
data read access
PolyPolygonMaterialPrimitive3D class.
const basegfx::B3DPolyPolygon & getB3DPolyPolygon() const
data read access
PolygonHairlinePrimitive3D class.
const basegfx::B3DPolygon & getB3DPolygon() const
data read access
const basegfx::BColor & getShadowColor() const
const basegfx::B2DHomMatrix & getShadowTransform() const
data read access
double getShadowTransparence() const
void process(const primitive3d::Primitive3DContainer &rSource)
const geometry::ViewInformation3D & getViewInformation3D() const
void updateViewInformation(const geometry::ViewInformation3D &rViewInformation3D)
const primitive2d::Primitive2DContainer & getPrimitive2DSequence() const
data read access
basegfx::B2DPolygon impDoShadowProjection(const basegfx::B3DPolygon &rSource)
local helpers
basegfx::B3DHomMatrix maWorldToEye
prepared data (transformations) for 2D/3D shadow calculations
basegfx::B3DVector maShadowPlaneNormal
virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D &rCandidate) override
basegfx::B3DPoint maPlanePoint
bool mbConvert
flag if conversion is switched on
virtual ~Shadow3DExtractingProcessor() override
const basegfx::B3DHomMatrix & getWorldToEye() const
Shadow3DExtractingProcessor(const geometry::ViewInformation3D &rViewInformation, basegfx::B2DHomMatrix aObjectTransformation, const basegfx::B3DVector &rLightNormal, double fShadowSlant, const basegfx::B3DRange &rContained3DRange)
bool mbShadowProjectionIsValid
flag if shadow plane projection preparation led to valid results
basegfx::B3DHomMatrix maEyeToView
basegfx::B3DVector maLightNormal
primitive2d::Primitive2DContainer maPrimitive2DSequence
result holding vector (2D) and target vector for stacking (inited to &maPrimitive2DSequence)
primitive2d::Primitive2DContainer * mpPrimitive2DSequence
bool mbUseProjection
flag if conversion shall use projection
double mfLightPlaneScalar
const basegfx::B2DHomMatrix & getObjectTransformation() const
#define PRIMITIVE3D_ID_TRANSFORMPRIMITIVE3D
#define PRIMITIVE3D_ID_POLYGONHAIRLINEPRIMITIVE3D
#define PRIMITIVE3D_ID_POLYPOLYGONMATERIALPRIMITIVE3D
#define PRIMITIVE3D_ID_SHADOWPRIMITIVE3D
B2DPolyPolygon createB2DPolyPolygonFromB3DPolyPolygon(const B3DPolyPolygon &rCandidate, const B3DHomMatrix &rMat)
B2DPolygon createB2DPolygonFromB3DPolygon(const B3DPolygon &rCandidate, const B3DHomMatrix &rMat)