60 const bool bParallelX(css::drawing::TextureProjectionMode_PARALLEL ==
getSdr3DObjectAttribute().getTextureProjectionX());
61 const bool bObjectSpecificX(css::drawing::TextureProjectionMode_OBJECTSPECIFIC ==
getSdr3DObjectAttribute().getTextureProjectionX());
62 const bool bSphereX(css::drawing::TextureProjectionMode_SPHERE ==
getSdr3DObjectAttribute().getTextureProjectionX());
65 const bool bParallelY(css::drawing::TextureProjectionMode_PARALLEL ==
getSdr3DObjectAttribute().getTextureProjectionY());
66 const bool bObjectSpecificY(css::drawing::TextureProjectionMode_OBJECTSPECIFIC ==
getSdr3DObjectAttribute().getTextureProjectionY());
67 const bool bSphereY(css::drawing::TextureProjectionMode_SPHERE ==
getSdr3DObjectAttribute().getTextureProjectionY());
69 if(bParallelX || bParallelY)
76 if(bSphereX || bObjectSpecificX || bSphereY || bObjectSpecificY)
78 double fRelativeAngle(0.0);
88 aRot.
rotate(0.0, fRelativeAngle, 0.0);
96 bSphereX || bObjectSpecificX, bSphereY || bObjectSpecificY);
102 aRot.
rotate(0.0, -fRelativeAngle, 0.0);
114 std::vector< basegfx::B3DPolyPolygon > a3DPolyPolygonVector;
116 for(sal_uInt32
a(0);
a < aFill.
count();
a++)
125 a3DPolyPolygonVector,
136 a3DPolyPolygonVector,
168 sal_uInt32 nHorizontalSegments,
169 sal_uInt32 nVerticalSegments)
170 :
SdrPrimitive3D(rTransform, rTextureSize, rSdrLFSAttribute, rSdr3DObjectAttribute),
171 mnHorizontalSegments(nHorizontalSegments),
172 mnVerticalSegments(nVerticalSegments)
178 if(SdrPrimitive3D::operator==(rPrimitive))
void scale(double fX, double fY)
void rotate(double fAngleX, double fAngleY, double fAngleZ)
void transformTextureCoordinates(const B2DHomMatrix &rMatrix)
void transform(const basegfx::B3DHomMatrix &rMatrix)
bool areNormalsUsed() const
B3DPolygon const & getB3DPolygon(sal_uInt32 nIndex) const
B3DPoint getCenter() const
void append(const Primitive3DContainer &rSource)
const basegfx::B3DHomMatrix & getTransform() const
data read access
const basegfx::B2DVector & getTextureSize() const
const attribute::Sdr3DObjectAttribute & getSdr3DObjectAttribute() const
basegfx::B3DRange getStandard3DRange() const
Standard implementation for primitive3D which will use maTransform as range and expand by evtl.
const attribute::SdrLineFillShadowAttribute3D & getSdrLFSAttribute() const
SdrSpherePrimitive3D class.
SdrSpherePrimitive3D(const basegfx::B3DHomMatrix &rTransform, const basegfx::B2DVector &rTextureSize, const attribute::SdrLineFillShadowAttribute3D &rSdrLFSAttribute, const attribute::Sdr3DObjectAttribute &rSdr3DObjectAttribute, sal_uInt32 nHorizontalSegments, sal_uInt32 nVerticalSegments)
constructor
virtual Primitive3DContainer create3DDecomposition(const geometry::ViewInformation3D &rViewInformation) const override
local decomposition.
sal_uInt32 getHorizontalSegments() const
data read access
virtual bool operator==(const BasePrimitive3D &rPrimitive) const override
compare operator
sal_uInt32 getVerticalSegments() const
virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D &rViewInformation) const override
get range
#define PRIMITIVE3D_ID_SDRSPHEREPRIMITIVE3D
B3DPolygon applyDefaultTextureCoordinatesSphere(const B3DPolygon &rCandidate, const B3DPoint &rCenter, bool bChangeX, bool bChangeY)
B3DPolyPolygon createSphereFillPolyPolygonFromB3DRange(const B3DRange &rRange, sal_uInt32 nHorSeg, sal_uInt32 nVerSeg, bool bNormals=false, double fVerStart=M_PI_2, double fVerStop=-M_PI_2, double fHorStart=0.0, double fHorStop=2 *M_PI)
B3DPolyPolygon createSpherePolyPolygonFromB3DRange(const B3DRange &rRange, sal_uInt32 nHorSeg, sal_uInt32 nVerSeg, double fVerStart=M_PI_2, double fVerStop=-M_PI_2, double fHorStart=0.0, double fHorStop=2 *M_PI)
B3DPolygon invertNormals(const B3DPolygon &rCandidate)
B3DPolygon applyDefaultTextureCoordinatesParallel(const B3DPolygon &rCandidate, const B3DRange &rRange, bool bChangeX, bool bChangeY)
B2DRange getRange(const B2DPolygon &rCandidate)
ImplPrimitive3DIDBlock(PolygonHairlinePrimitive3D, PRIMITIVE3D_ID_POLYGONHAIRLINEPRIMITIVE3D) Primitive3DContainer PolygonStrokePrimitive3D
Primitive3DContainer create3DPolyPolygonFillPrimitives(const std::vector< basegfx::B3DPolyPolygon > &r3DPolyPolygonVector, const basegfx::B3DHomMatrix &rObjectTransform, const basegfx::B2DVector &rTextureSize, const attribute::Sdr3DObjectAttribute &aSdr3DObjectAttribute, const attribute::SdrFillAttribute &rFill, const attribute::FillGradientAttribute &rFillGradient)
Primitive3DContainer createHiddenGeometryPrimitives3D(const std::vector< basegfx::B3DPolyPolygon > &r3DPolyPolygonVector, const basegfx::B3DHomMatrix &rObjectTransform, const basegfx::B2DVector &rTextureSize, const attribute::Sdr3DObjectAttribute &aSdr3DObjectAttribute)
Primitive3DContainer createShadowPrimitive3D(const Primitive3DContainer &rSource, const attribute::SdrShadowAttribute &rShadow, bool bShadow3D)
Primitive3DContainer create3DPolyPolygonLinePrimitives(const basegfx::B3DPolyPolygon &rUnitPolyPolygon, const basegfx::B3DHomMatrix &rObjectTransform, const attribute::SdrLineAttribute &rLine)