LibreOffice Module drawinglayer (master) 1
Classes | Typedefs | Enumerations | Functions
drawinglayer::primitive3d Namespace Reference

SdrPrimitive3D class. More...

Classes

class  BasePrimitive3D
 BasePrimitive3D class. More...
 
class  BitmapTexturePrimitive3D
 BitmapTexturePrimitive3D class. More...
 
class  BufferedDecompositionPrimitive3D
 BufferedDecompositionPrimitive3D class. More...
 
class  GradientTexturePrimitive3D
 GradientTexturePrimitive3D class. More...
 
class  GroupPrimitive3D
 GroupPrimitive3D class. More...
 
class  HatchTexturePrimitive3D
 HatchTexturePrimitive3D class. More...
 
class  HiddenGeometryPrimitive3D
 
class  ModifiedColorPrimitive3D
 ModifiedColorPrimitive3D class. More...
 
class  PolygonHairlinePrimitive3D
 PolygonHairlinePrimitive3D class. More...
 
class  PolygonStrokePrimitive3D
 PolygonStrokePrimitive3D class. More...
 
class  PolygonTubePrimitive3D
 PolygonStrokePrimitive3D class. More...
 
class  PolyPolygonMaterialPrimitive3D
 PolyPolygonMaterialPrimitive3D class. More...
 
class  Primitive3DContainer
 
class  SdrCubePrimitive3D
 SdrCubePrimitive3D class. More...
 
class  SdrExtrudePrimitive3D
 SdrExtrudePrimitive3D class. More...
 
class  SdrLathePrimitive3D
 SdrLathePrimitive3D class. More...
 
class  SdrPolyPolygonPrimitive3D
 SdrPolyPolygonPrimitive3D class. More...
 
class  SdrPrimitive3D
 
class  SdrSpherePrimitive3D
 SdrSpherePrimitive3D class. More...
 
class  ShadowPrimitive3D
 ShadowPrimitive3D class. More...
 
class  Slice3D
 class to hold one Slice3D More...
 
class  TexturePrimitive3D
 TexturePrimitive3D class. More...
 
class  TransformPrimitive3D
 TransformPrimitive3D class. More...
 
class  TransparenceTexturePrimitive3D
 TransparenceTexturePrimitive3D class. More...
 
class  UnifiedTransparenceTexturePrimitive3D
 UnifiedTransparenceTexturePrimitive3D class. More...
 

Typedefs

typedef comphelper::WeakComponentImplHelper< css::graphic::XPrimitive3D > BasePrimitive3DImplBase
 typedefs for basePrimitive3DImplBase, Primitive3DContainer and Primitive3DReference More...
 
typedef css::uno::Reference< css::graphic::XPrimitive3D > Primitive3DReference
 
typedef ::std::vector< Slice3DSlice3DVector
 typedef for a group of Slice3Ds More...
 

Enumerations

enum  SliceType3D {
  SLICETYPE3D_REGULAR ,
  SLICETYPE3D_FRONTCAP ,
  SLICETYPE3D_BACKCAP
}
 SliceType3D definition. More...
 

Functions

basegfx::B3DRange getB3DRangeFromPrimitive3DReference (const Primitive3DReference &rCandidate, const geometry::ViewInformation3D &aViewInformation)
 get B3DRange from a given Primitive3DReference More...
 
bool arePrimitive3DReferencesEqual (const Primitive3DReference &rA, const Primitive3DReference &rB)
 compare two Primitive2DReferences for equality, including trying to get implementations (BasePrimitive2D) and using compare operator More...
 
 ImplPrimitive3DIDBlock (PolygonHairlinePrimitive3D, PRIMITIVE3D_ID_POLYGONHAIRLINEPRIMITIVE3D) Primitive3DContainer PolygonStrokePrimitive3D
 
basegfx::B3DRange getRangeFrom3DGeometry (std::vector< basegfx::B3DPolyPolygon > &rFill)
 
void applyNormalsKindSphereTo3DGeometry (std::vector< basegfx::B3DPolyPolygon > &rFill, const basegfx::B3DRange &rRange)
 
void applyNormalsKindFlatTo3DGeometry (std::vector< basegfx::B3DPolyPolygon > &rFill)
 
void applyNormalsInvertTo3DGeometry (std::vector< basegfx::B3DPolyPolygon > &rFill)
 
void applyTextureTo3DGeometry (css::drawing::TextureProjectionMode eModeX, css::drawing::TextureProjectionMode eModeY, std::vector< basegfx::B3DPolyPolygon > &rFill, const basegfx::B3DRange &rRange, const basegfx::B2DVector &rTextureSize)
 
Primitive3DContainer create3DPolyPolygonLinePrimitives (const basegfx::B3DPolyPolygon &rUnitPolyPolygon, const basegfx::B3DHomMatrix &rObjectTransform, const attribute::SdrLineAttribute &rLine)
 
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 createShadowPrimitive3D (const Primitive3DContainer &rSource, const attribute::SdrShadowAttribute &rShadow, bool bShadow3D)
 
Primitive3DContainer createHiddenGeometryPrimitives3D (const std::vector< basegfx::B3DPolyPolygon > &r3DPolyPolygonVector, const basegfx::B3DHomMatrix &rObjectTransform, const basegfx::B2DVector &rTextureSize, const attribute::Sdr3DObjectAttribute &aSdr3DObjectAttribute)
 
void createLatheSlices (Slice3DVector &rSliceVector, const basegfx::B2DPolyPolygon &rSource, double fBackScale, double fDiagonal, double fRotation, sal_uInt32 nSteps, bool bCharacterMode, bool bCloseFront, bool bCloseBack)
 helpers for creation More...
 
void createExtrudeSlices (Slice3DVector &rSliceVector, const basegfx::B2DPolyPolygon &rSource, double fBackScale, double fDiagonal, double fDepth, bool bCharacterMode, bool bCloseFront, bool bCloseBack)
 
basegfx::B3DPolyPolygon extractHorizontalLinesFromSlice (const Slice3DVector &rSliceVector, bool bCloseHorLines)
 helpers for geometry extraction More...
 
basegfx::B3DPolyPolygon extractVerticalLinesFromSlice (const Slice3DVector &rSliceVector)
 
void extractPlanesFromSlice (std::vector< basegfx::B3DPolyPolygon > &rFill, const Slice3DVector &rSliceVector, bool bCreateNormals, bool bSmoothNormals, bool bSmoothLids, bool bClosed, double fSmoothNormalsMix, double fSmoothLidsMix, bool bCreateTextureCoordinates, const basegfx::B2DHomMatrix &rTexTransform)
 
void createReducedOutlines (const geometry::ViewInformation3D &rViewInformation, const basegfx::B3DHomMatrix &rObjectTransform, const basegfx::B3DPolygon &rLoopA, const basegfx::B3DPolygon &rLoopB, basegfx::B3DPolyPolygon &rTarget)
 
 ImplPrimitive3DIDBlock (UnifiedTransparenceTexturePrimitive3D, PRIMITIVE3D_ID_UNIFIEDTRANSPARENCETEXTUREPRIMITIVE3D) GradientTexturePrimitive3D
 
 ImplPrimitive3DIDBlock (GradientTexturePrimitive3D, PRIMITIVE3D_ID_GRADIENTTEXTUREPRIMITIVE3D) BitmapTexturePrimitive3D
 
 ImplPrimitive3DIDBlock (BitmapTexturePrimitive3D, PRIMITIVE3D_ID_BITMAPTEXTUREPRIMITIVE3D) TransparenceTexturePrimitive3D
 
OUString idToString (sal_uInt32 nId)
 
basegfx::B3DRange getRangeFrom3DGeometry (::std::vector< basegfx::B3DPolyPolygon > &rFill)
 
void applyNormalsKindSphereTo3DGeometry (::std::vector< basegfx::B3DPolyPolygon > &rFill, const basegfx::B3DRange &rRange)
 
void applyNormalsKindFlatTo3DGeometry (::std::vector< basegfx::B3DPolyPolygon > &rFill)
 
void applyNormalsInvertTo3DGeometry (::std::vector< basegfx::B3DPolyPolygon > &rFill)
 
void applyTextureTo3DGeometry (css::drawing::TextureProjectionMode eModeX, css::drawing::TextureProjectionMode eModeY, ::std::vector< basegfx::B3DPolyPolygon > &rFill, const basegfx::B3DRange &rRange, const basegfx::B2DVector &rTextureSize)
 
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)
 
void DRAWINGLAYER_DLLPUBLIC extractPlanesFromSlice (::std::vector< basegfx::B3DPolyPolygon > &rFill, const Slice3DVector &rSliceVector, bool bCreateNormals, bool bSmoothNormals, bool bSmoothLids, bool bClosed, double fSmoothNormalsMix, double fSmoothLidsMix, bool bCreateTextureCoordinates, const basegfx::B2DHomMatrix &rTexTransform)
 

Detailed Description

SdrPrimitive3D class.

Base class for the more complicated geometric primitives, so derive from buffered primitive to allow overriding of create3DDecomposition there.

Typedef Documentation

◆ BasePrimitive3DImplBase

typedefs for basePrimitive3DImplBase, Primitive3DContainer and Primitive3DReference

Definition at line 53 of file baseprimitive3d.hxx.

◆ Primitive3DReference

typedef css::uno::Reference< css::graphic::XPrimitive3D > drawinglayer::primitive3d::Primitive3DReference

Definition at line 54 of file baseprimitive3d.hxx.

◆ Slice3DVector

typedef for a group of Slice3Ds

Definition at line 70 of file sdrextrudelathetools3d.hxx.

Enumeration Type Documentation

◆ SliceType3D

SliceType3D definition.

Enumerator
SLICETYPE3D_REGULAR 
SLICETYPE3D_FRONTCAP 
SLICETYPE3D_BACKCAP 

Definition at line 40 of file sdrextrudelathetools3d.hxx.

Function Documentation

◆ applyNormalsInvertTo3DGeometry() [1/2]

void drawinglayer::primitive3d::applyNormalsInvertTo3DGeometry ( ::std::vector< basegfx::B3DPolyPolygon > &  rFill)

◆ applyNormalsInvertTo3DGeometry() [2/2]

void drawinglayer::primitive3d::applyNormalsInvertTo3DGeometry ( std::vector< basegfx::B3DPolyPolygon > &  rFill)

◆ applyNormalsKindFlatTo3DGeometry() [1/2]

void drawinglayer::primitive3d::applyNormalsKindFlatTo3DGeometry ( ::std::vector< basegfx::B3DPolyPolygon > &  rFill)

◆ applyNormalsKindFlatTo3DGeometry() [2/2]

void drawinglayer::primitive3d::applyNormalsKindFlatTo3DGeometry ( std::vector< basegfx::B3DPolyPolygon > &  rFill)

◆ applyNormalsKindSphereTo3DGeometry() [1/2]

void drawinglayer::primitive3d::applyNormalsKindSphereTo3DGeometry ( ::std::vector< basegfx::B3DPolyPolygon > &  rFill,
const basegfx::B3DRange rRange 
)

◆ applyNormalsKindSphereTo3DGeometry() [2/2]

void drawinglayer::primitive3d::applyNormalsKindSphereTo3DGeometry ( std::vector< basegfx::B3DPolyPolygon > &  rFill,
const basegfx::B3DRange rRange 
)

◆ applyTextureTo3DGeometry() [1/2]

void drawinglayer::primitive3d::applyTextureTo3DGeometry ( css::drawing::TextureProjectionMode  eModeX,
css::drawing::TextureProjectionMode  eModeY,
::std::vector< basegfx::B3DPolyPolygon > &  rFill,
const basegfx::B3DRange rRange,
const basegfx::B2DVector rTextureSize 
)

◆ applyTextureTo3DGeometry() [2/2]

void drawinglayer::primitive3d::applyTextureTo3DGeometry ( css::drawing::TextureProjectionMode  eModeX,
css::drawing::TextureProjectionMode  eModeY,
std::vector< basegfx::B3DPolyPolygon > &  rFill,
const basegfx::B3DRange rRange,
const basegfx::B2DVector rTextureSize 
)

◆ arePrimitive3DReferencesEqual()

bool DRAWINGLAYER_DLLPUBLIC drawinglayer::primitive3d::arePrimitive3DReferencesEqual ( const Primitive3DReference rxA,
const Primitive3DReference rxB 
)

compare two Primitive2DReferences for equality, including trying to get implementations (BasePrimitive2D) and using compare operator

Definition at line 123 of file baseprimitive3d.cxx.

Referenced by drawinglayer::primitive3d::Primitive3DContainer::operator==().

◆ create3DPolyPolygonFillPrimitives() [1/2]

Primitive3DContainer drawinglayer::primitive3d::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 
)

◆ create3DPolyPolygonFillPrimitives() [2/2]

Primitive3DContainer drawinglayer::primitive3d::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 
)

Definition at line 160 of file sdrdecompositiontools3d.cxx.

References a, basegfx::B3DPolyPolygon::areNormalsUsed(), drawinglayer::attribute::SdrFillGraphicAttribute::createFillGraphicAttribute(), drawinglayer::attribute::Sdr3DObjectAttribute::getDoubleSided(), drawinglayer::attribute::SdrFillAttribute::getFillGraphic(), drawinglayer::attribute::SdrFillAttribute::getGradient(), drawinglayer::attribute::SdrFillAttribute::getHatch(), drawinglayer::attribute::Sdr3DObjectAttribute::getMaterial(), drawinglayer::attribute::Sdr3DObjectAttribute::getTextureFilter(), drawinglayer::attribute::Sdr3DObjectAttribute::getTextureKind(), drawinglayer::attribute::Sdr3DObjectAttribute::getTextureMode(), drawinglayer::attribute::SdrFillAttribute::getTransparence(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), drawinglayer::attribute::FillGradientAttribute::isDefault(), drawinglayer::attribute::FillHatchAttribute::isDefault(), drawinglayer::attribute::SdrFillGraphicAttribute::isDefault(), basegfx::B3DPolyPolygon::transform(), and basegfx::B3DPolyPolygon::transformNormals().

Referenced by drawinglayer::primitive3d::SdrCubePrimitive3D::create3DDecomposition(), drawinglayer::primitive3d::SdrExtrudePrimitive3D::create3DDecomposition(), drawinglayer::primitive3d::SdrLathePrimitive3D::create3DDecomposition(), drawinglayer::primitive3d::SdrPolyPolygonPrimitive3D::create3DDecomposition(), drawinglayer::primitive3d::SdrSpherePrimitive3D::create3DDecomposition(), and createHiddenGeometryPrimitives3D().

◆ create3DPolyPolygonLinePrimitives()

Primitive3DContainer drawinglayer::primitive3d::create3DPolyPolygonLinePrimitives ( const basegfx::B3DPolyPolygon rUnitPolyPolygon,
const basegfx::B3DHomMatrix rObjectTransform,
const attribute::SdrLineAttribute rLine 
)

◆ createExtrudeSlices()

void DRAWINGLAYER_DLLPUBLIC drawinglayer::primitive3d::createExtrudeSlices ( Slice3DVector rSliceVector,
const basegfx::B2DPolyPolygon rSource,
double  fBackScale,
double  fDiagonal,
double  fDepth,
bool  bCharacterMode,
bool  bCloseFront,
bool  bCloseBack 
)

◆ createHiddenGeometryPrimitives3D() [1/2]

Primitive3DContainer drawinglayer::primitive3d::createHiddenGeometryPrimitives3D ( const ::std::vector< basegfx::B3DPolyPolygon > &  r3DPolyPolygonVector,
const basegfx::B3DHomMatrix rObjectTransform,
const basegfx::B2DVector rTextureSize,
const attribute::Sdr3DObjectAttribute aSdr3DObjectAttribute 
)

◆ createHiddenGeometryPrimitives3D() [2/2]

Primitive3DContainer drawinglayer::primitive3d::createHiddenGeometryPrimitives3D ( const std::vector< basegfx::B3DPolyPolygon > &  r3DPolyPolygonVector,
const basegfx::B3DHomMatrix rObjectTransform,
const basegfx::B2DVector rTextureSize,
const attribute::Sdr3DObjectAttribute aSdr3DObjectAttribute 
)

◆ createLatheSlices()

void DRAWINGLAYER_DLLPUBLIC drawinglayer::primitive3d::createLatheSlices ( Slice3DVector rSliceVector,
const basegfx::B2DPolyPolygon rSource,
double  fBackScale,
double  fDiagonal,
double  fRotation,
sal_uInt32  nSteps,
bool  bCharacterMode,
bool  bCloseFront,
bool  bCloseBack 
)

◆ createReducedOutlines()

void DRAWINGLAYER_DLLPUBLIC drawinglayer::primitive3d::createReducedOutlines ( const geometry::ViewInformation3D rViewInformation,
const basegfx::B3DHomMatrix rObjectTransform,
const basegfx::B3DPolygon rLoopA,
const basegfx::B3DPolygon rLoopB,
basegfx::B3DPolyPolygon rTarget 
)

◆ createShadowPrimitive3D()

Primitive3DContainer drawinglayer::primitive3d::createShadowPrimitive3D ( const Primitive3DContainer rSource,
const attribute::SdrShadowAttribute rShadow,
bool  bShadow3D 
)

◆ extractHorizontalLinesFromSlice()

basegfx::B3DPolyPolygon DRAWINGLAYER_DLLPUBLIC drawinglayer::primitive3d::extractHorizontalLinesFromSlice ( const Slice3DVector rSliceVector,
bool  bCloseHorLines 
)

◆ extractPlanesFromSlice() [1/2]

void DRAWINGLAYER_DLLPUBLIC drawinglayer::primitive3d::extractPlanesFromSlice ( ::std::vector< basegfx::B3DPolyPolygon > &  rFill,
const Slice3DVector rSliceVector,
bool  bCreateNormals,
bool  bSmoothNormals,
bool  bSmoothLids,
bool  bClosed,
double  fSmoothNormalsMix,
double  fSmoothLidsMix,
bool  bCreateTextureCoordinates,
const basegfx::B2DHomMatrix rTexTransform 
)

◆ extractPlanesFromSlice() [2/2]

void drawinglayer::primitive3d::extractPlanesFromSlice ( std::vector< basegfx::B3DPolyPolygon > &  rFill,
const Slice3DVector rSliceVector,
bool  bCreateNormals,
bool  bSmoothNormals,
bool  bSmoothLids,
bool  bClosed,
double  fSmoothNormalsMix,
double  fSmoothLidsMix,
bool  bCreateTextureCoordinates,
const basegfx::B2DHomMatrix rTexTransform 
)

◆ extractVerticalLinesFromSlice()

basegfx::B3DPolyPolygon DRAWINGLAYER_DLLPUBLIC drawinglayer::primitive3d::extractVerticalLinesFromSlice ( const Slice3DVector rSliceVector)

◆ getB3DRangeFromPrimitive3DReference()

basegfx::B3DRange DRAWINGLAYER_DLLPUBLIC drawinglayer::primitive3d::getB3DRangeFromPrimitive3DReference ( const Primitive3DReference rCandidate,
const geometry::ViewInformation3D aViewInformation 
)

get B3DRange from a given Primitive3DReference

Definition at line 92 of file baseprimitive3d.cxx.

References basegfx::B3DRange::expand(), and drawinglayer::primitive3d::BasePrimitive3D::getB3DRange().

Referenced by drawinglayer::primitive3d::Primitive3DContainer::getB3DRange().

◆ getRangeFrom3DGeometry() [1/2]

basegfx::B3DRange drawinglayer::primitive3d::getRangeFrom3DGeometry ( ::std::vector< basegfx::B3DPolyPolygon > &  rFill)

◆ getRangeFrom3DGeometry() [2/2]

basegfx::B3DRange drawinglayer::primitive3d::getRangeFrom3DGeometry ( std::vector< basegfx::B3DPolyPolygon > &  rFill)

◆ idToString()

OUString DRAWINGLAYER_DLLPUBLIC drawinglayer::primitive3d::idToString ( sal_uInt32  nId)

◆ ImplPrimitive3DIDBlock() [1/4]

drawinglayer::primitive3d::ImplPrimitive3DIDBlock ( BitmapTexturePrimitive3D  ,
PRIMITIVE3D_ID_BITMAPTEXTUREPRIMITIVE3D   
)

Definition at line 169 of file textureprimitive3d.cxx.

◆ ImplPrimitive3DIDBlock() [2/4]

drawinglayer::primitive3d::ImplPrimitive3DIDBlock ( GradientTexturePrimitive3D  ,
PRIMITIVE3D_ID_GRADIENTTEXTUREPRIMITIVE3D   
)

Definition at line 142 of file textureprimitive3d.cxx.

◆ ImplPrimitive3DIDBlock() [3/4]

drawinglayer::primitive3d::ImplPrimitive3DIDBlock ( PolygonHairlinePrimitive3D  ,
PRIMITIVE3D_ID_POLYGONHAIRLINEPRIMITIVE3D   
)

◆ ImplPrimitive3DIDBlock() [4/4]

drawinglayer::primitive3d::ImplPrimitive3DIDBlock ( UnifiedTransparenceTexturePrimitive3D  ,
PRIMITIVE3D_ID_UNIFIEDTRANSPARENCETEXTUREPRIMITIVE3D   
)

Definition at line 114 of file textureprimitive3d.cxx.