Geometrize  1.0
An application for geometrizing images into geometric primitives
Public Member Functions | Private Attributes | List of all members
geometrize::scene::ImageTaskSvgScene::ImageTaskSvgSceneImpl Class Reference
Collaboration diagram for geometrize::scene::ImageTaskSvgScene::ImageTaskSvgSceneImpl:
Collaboration graph
[legend]

Public Member Functions

 ImageTaskSvgSceneImpl (ImageTaskSvgScene *pQ)
 
ImageTaskSvgSceneImpl operator= (const ImageTaskSvgSceneImpl &)=delete
 
 ImageTaskSvgSceneImpl (const ImageTaskSvgSceneImpl &)=delete
 
 ~ImageTaskSvgSceneImpl ()=default
 
void addShapes (const std::vector< geometrize::ShapeResult > &shapes, const std::uint32_t width, const std::uint32_t height)
 
void removeShapes ()
 

Private Attributes

ImageTaskSvgSceneq
 

Constructor & Destructor Documentation

◆ ImageTaskSvgSceneImpl() [1/2]

geometrize::scene::ImageTaskSvgScene::ImageTaskSvgSceneImpl::ImageTaskSvgSceneImpl ( ImageTaskSvgScene pQ)
inline
24  : q{pQ}
25  {
26  }

◆ ImageTaskSvgSceneImpl() [2/2]

geometrize::scene::ImageTaskSvgScene::ImageTaskSvgSceneImpl::ImageTaskSvgSceneImpl ( const ImageTaskSvgSceneImpl )
delete

◆ ~ImageTaskSvgSceneImpl()

geometrize::scene::ImageTaskSvgScene::ImageTaskSvgSceneImpl::~ImageTaskSvgSceneImpl ( )
default

Member Function Documentation

◆ addShapes()

void geometrize::scene::ImageTaskSvgScene::ImageTaskSvgSceneImpl::addShapes ( const std::vector< geometrize::ShapeResult > &  shapes,
const std::uint32_t  width,
const std::uint32_t  height 
)
inline
32  {
33  if(shapes.empty()) {
34  return;
35  }
36 
37  const QString svgString{QString::fromStdString(geometrize::exporter::exportSVG(shapes, width, height))};
38  const QByteArray svgData{svgString.toUtf8()};
39  auto svgItem = new SvgItem(svgData);
40  svgItem->setFlags(QGraphicsItem::ItemClipsToShape);
41  svgItem->setCacheMode(QGraphicsItem::NoCache);
42  q->addItem(svgItem);
43  svgItem->setZValue(0);
44  }

◆ operator=()

ImageTaskSvgSceneImpl geometrize::scene::ImageTaskSvgScene::ImageTaskSvgSceneImpl::operator= ( const ImageTaskSvgSceneImpl )
delete

◆ removeShapes()

void geometrize::scene::ImageTaskSvgScene::ImageTaskSvgSceneImpl::removeShapes ( )
inline
47  {
48  const auto items = q->items();
49  for(auto& item : items) {
50  if(dynamic_cast<SvgItem*>(item) != nullptr) {
51  q->removeItem(item);
52  delete item;
53  }
54  }
55  }

Member Data Documentation

◆ q

ImageTaskSvgScene* geometrize::scene::ImageTaskSvgScene::ImageTaskSvgSceneImpl::q
private

The documentation for this class was generated from the following file:
geometrize::scene::ImageTaskSvgScene::ImageTaskSvgSceneImpl::q
ImageTaskSvgScene * q
Definition: imagetasksvgscene.cpp:58