Inkscape
Vector Graphics Editor
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages Concepts
Inkscape::LivePathEffect::GroupBBoxEffect Class Reference

#include <lpegroupbbox.h>

Inheritance diagram for Inkscape::LivePathEffect::GroupBBoxEffect:
Inkscape::LivePathEffect::LPEBendPath Inkscape::LivePathEffect::LPECloneOriginal Inkscape::LivePathEffect::LPECopyRotate Inkscape::LivePathEffect::LPEEnvelope Inkscape::LivePathEffect::LPEKnot Inkscape::LivePathEffect::LPELattice Inkscape::LivePathEffect::LPELattice2 Inkscape::LivePathEffect::LPEMirrorSymmetry Inkscape::LivePathEffect::LPEOffset Inkscape::LivePathEffect::LPEPerspectiveEnvelope Inkscape::LivePathEffect::LPEShowHandles Inkscape::LivePathEffect::LPESimplify Inkscape::LivePathEffect::LPESlice Inkscape::LivePathEffect::LPETiling Inkscape::LivePathEffect::LPETransform2Pts Inkscape::LivePathEffect::LPEVonKoch

Protected Member Functions

Geom::OptRect clip_mask_bbox (SPLPEItem *item, Geom::Affine transform)
 Updates the boundingbox_X and boundingbox_Y values from the geometric bounding box of lpeitem.
 
void original_bbox (SPLPEItem const *lpeitem, bool absolute=false, bool clip_mask=false, Geom::Affine base_transform=Geom::identity())
 

Protected Attributes

Geom::Interval boundingbox_X
 
Geom::Interval boundingbox_Y
 

Detailed Description

Definition at line 21 of file lpegroupbbox.h.

Member Function Documentation

◆ clip_mask_bbox()

Geom::OptRect Inkscape::LivePathEffect::GroupBBoxEffect::clip_mask_bbox ( SPLPEItem item,
Geom::Affine  transform 
)
protected

Updates the boundingbox_X and boundingbox_Y values from the geometric bounding box of lpeitem.

Precondition
lpeitem must have an existing geometric boundingbox (usually this is guaranteed when:
cast<SPShape>(lpeitem)->curve != NULL
) It's not possible to run LPEs on items without their original-d having a bbox.
Parameters
lpeitemThis is not allowed to be NULL.
absoluteDetermines whether the bbox should be calculated of the untransformed lpeitem (absolute = false) or of the transformed lpeitem (absolute = true) using sp_item_i2doc_affine.
Postcondition
Updated values of boundingbox_X and boundingbox_Y. These intervals are set to empty intervals when the precondition is not met.

Definition at line 31 of file lpegroupbbox.cpp.

References clip_mask_bbox(), SPClipPath::geometricBounds(), SPItem::getClipObject(), SPItem::getMaskObject(), item, SPItem::transform, Geom::GenericOptRect< C >::unionWith(), and SPMask::visualBounds().

Referenced by clip_mask_bbox(), and original_bbox().

◆ original_bbox()

void Inkscape::LivePathEffect::GroupBBoxEffect::original_bbox ( SPLPEItem const *  lpeitem,
bool  absolute = false,
bool  clip_mask = false,
Geom::Affine  base_transform = Geom::identity() 
)
protected

Definition at line 56 of file lpegroupbbox.cpp.

References absolute(), boundingbox_X, boundingbox_Y, clip_mask_bbox(), SPItem::geometricBounds(), SPItem::i2doc_affine(), Geom::Affine::inverse(), item, SPItem::transform, Geom::GenericOptRect< C >::unionWith(), Geom::X, and Geom::Y.

Referenced by Inkscape::LivePathEffect::LPEVonKoch::doBeforeEffect(), Inkscape::LivePathEffect::LPETiling::doBeforeEffect(), Inkscape::LivePathEffect::LPEBendPath::doBeforeEffect(), Inkscape::LivePathEffect::LPECloneOriginal::doBeforeEffect(), Inkscape::LivePathEffect::LPECopyRotate::doBeforeEffect(), Inkscape::LivePathEffect::LPEEnvelope::doBeforeEffect(), Inkscape::LivePathEffect::LPEKnot::doBeforeEffect(), Inkscape::LivePathEffect::LPELattice::doBeforeEffect(), Inkscape::LivePathEffect::LPELattice2::doBeforeEffect(), Inkscape::LivePathEffect::LPEMirrorSymmetry::doBeforeEffect(), Inkscape::LivePathEffect::LPEOffset::doBeforeEffect(), Inkscape::LivePathEffect::LPEPerspectiveEnvelope::doBeforeEffect(), Inkscape::LivePathEffect::LPESlice::doBeforeEffect(), Inkscape::LivePathEffect::LPETransform2Pts::doBeforeEffect(), Inkscape::LivePathEffect::LPECopyRotate::doOnApply(), Inkscape::LivePathEffect::LPEMirrorSymmetry::doOnApply(), Inkscape::LivePathEffect::LPESlice::doOnApply(), Inkscape::LivePathEffect::LPETransform2Pts::doOnApply(), Inkscape::LivePathEffect::LPETiling::resetDefaults(), Inkscape::LivePathEffect::LPEBendPath::resetDefaults(), Inkscape::LivePathEffect::LPECopyRotate::resetDefaults(), Inkscape::LivePathEffect::LPEEnvelope::resetDefaults(), Inkscape::LivePathEffect::LPELattice::resetDefaults(), Inkscape::LivePathEffect::LPELattice2::resetDefaults(), Inkscape::LivePathEffect::LPEPerspectiveEnvelope::resetDefaults(), and Inkscape::LivePathEffect::LPEVonKoch::resetDefaults().

Member Data Documentation

◆ boundingbox_X

Geom::Interval Inkscape::LivePathEffect::GroupBBoxEffect::boundingbox_X
protected

Definition at line 24 of file lpegroupbbox.h.

Referenced by Inkscape::LivePathEffect::LPESlice::doAfterEffect(), Inkscape::LivePathEffect::LPEVonKoch::doBeforeEffect(), Inkscape::LivePathEffect::LPETiling::doBeforeEffect(), Inkscape::LivePathEffect::LPECopyRotate::doBeforeEffect(), Inkscape::LivePathEffect::LPEMirrorSymmetry::doBeforeEffect(), Inkscape::LivePathEffect::LPEPerspectiveEnvelope::doBeforeEffect(), Inkscape::LivePathEffect::LPESlice::doBeforeEffect(), Inkscape::LivePathEffect::LPETransform2Pts::doBeforeEffect(), Inkscape::LivePathEffect::LPEPerspectiveEnvelope::doEffect(), Inkscape::LivePathEffect::LPECopyRotate::doEffect_path(), Inkscape::LivePathEffect::LPEMirrorSymmetry::doEffect_path(), Inkscape::LivePathEffect::LPEBendPath::doEffect_pwd2(), Inkscape::LivePathEffect::LPEEnvelope::doEffect_pwd2(), Inkscape::LivePathEffect::LPELattice::doEffect_pwd2(), Inkscape::LivePathEffect::LPELattice2::doEffect_pwd2(), Inkscape::LivePathEffect::LPECopyRotate::doOnApply(), Inkscape::LivePathEffect::LPEMirrorSymmetry::doOnApply(), Inkscape::LivePathEffect::LPESlice::doOnApply(), Inkscape::LivePathEffect::LPETransform2Pts::doOnApply(), original_bbox(), Inkscape::LivePathEffect::LPEPerspectiveEnvelope::projectPoint(), Inkscape::LivePathEffect::LPETransform2Pts::reset(), Inkscape::LivePathEffect::LPEBendPath::resetDefaults(), Inkscape::LivePathEffect::LPEEnvelope::resetDefaults(), Inkscape::LivePathEffect::LPELattice::resetDefaults(), Inkscape::LivePathEffect::LPEVonKoch::resetDefaults(), Inkscape::LivePathEffect::LPELattice2::setDefaults(), Inkscape::LivePathEffect::LPEPerspectiveEnvelope::setDefaults(), and Inkscape::LivePathEffect::LPESlice::splititem().

◆ boundingbox_Y

Geom::Interval Inkscape::LivePathEffect::GroupBBoxEffect::boundingbox_Y
protected

Definition at line 25 of file lpegroupbbox.h.

Referenced by Inkscape::LivePathEffect::LPESlice::doAfterEffect(), Inkscape::LivePathEffect::LPEVonKoch::doBeforeEffect(), Inkscape::LivePathEffect::LPETiling::doBeforeEffect(), Inkscape::LivePathEffect::LPEBendPath::doBeforeEffect(), Inkscape::LivePathEffect::LPECopyRotate::doBeforeEffect(), Inkscape::LivePathEffect::LPEMirrorSymmetry::doBeforeEffect(), Inkscape::LivePathEffect::LPEPerspectiveEnvelope::doBeforeEffect(), Inkscape::LivePathEffect::LPESlice::doBeforeEffect(), Inkscape::LivePathEffect::LPETransform2Pts::doBeforeEffect(), Inkscape::LivePathEffect::LPEPerspectiveEnvelope::doEffect(), Inkscape::LivePathEffect::LPECopyRotate::doEffect_path(), Inkscape::LivePathEffect::LPEMirrorSymmetry::doEffect_path(), Inkscape::LivePathEffect::LPEBendPath::doEffect_pwd2(), Inkscape::LivePathEffect::LPEEnvelope::doEffect_pwd2(), Inkscape::LivePathEffect::LPELattice::doEffect_pwd2(), Inkscape::LivePathEffect::LPELattice2::doEffect_pwd2(), Inkscape::LivePathEffect::LPECopyRotate::doOnApply(), Inkscape::LivePathEffect::LPEMirrorSymmetry::doOnApply(), Inkscape::LivePathEffect::LPESlice::doOnApply(), Inkscape::LivePathEffect::LPETransform2Pts::doOnApply(), original_bbox(), Inkscape::LivePathEffect::LPEPerspectiveEnvelope::projectPoint(), Inkscape::LivePathEffect::LPETransform2Pts::reset(), Inkscape::LivePathEffect::LPEBendPath::resetDefaults(), Inkscape::LivePathEffect::LPEEnvelope::resetDefaults(), Inkscape::LivePathEffect::LPELattice::resetDefaults(), Inkscape::LivePathEffect::LPEVonKoch::resetDefaults(), Inkscape::LivePathEffect::LPELattice2::setDefaults(), Inkscape::LivePathEffect::LPEPerspectiveEnvelope::setDefaults(), and Inkscape::LivePathEffect::LPESlice::splititem().


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