Difference between revisions of "CheatSheetForConvertingto2geom"
Jump to navigation
Jump to search
Verbalshadow (talk | contribs) (Add is isTranslation()) |
Verbalshadow (talk | contribs) (Add to_2geom error) |
||
Line 164: | Line 164: | ||
| !(!transform.is_translation() && SP_OBJECT_STYLE(item) && SP_OBJECT_STYLE(item)->getFilter()) | | !(!transform.is_translation() && SP_OBJECT_STYLE(item) && SP_OBJECT_STYLE(item)->getFilter()) | ||
| !(!transform.isTranslation() && SP_OBJECT_STYLE(item) && SP_OBJECT_STYLE(item)->getFilter()) | | !(!transform.isTranslation() && SP_OBJECT_STYLE(item) && SP_OBJECT_STYLE(item)->getFilter()) | ||
|- | |||
| text-context.cpp:1610: error: no matching function for call to ‘to_2geom(boost::optional<Geom::D2<Geom::Interval> >)’ | |||
| boost::optional<Geom::Rect> frame_bbox = to_2geom(sp_item_bbox_desktop(frame)); | |||
| boost::optional<Geom::Rect> frame_bbox = sp_item_bbox_desktop(frame); | |||
|} | |} |
Revision as of 05:20, 1 October 2008
Cheat Sheet For Converting to 2geom
If you are just starting I suggest you pick a header file and convert just one function at a time. That will give you a feel for the process as you get more comfortable do more at one time.
ItemsThat you Can Switch NR:: for Geom::
NR::Point |
NR::Matrix |
NR::Rect |
NR::Dim2 |
NR::L2 |
NR::Y |
NR::X |
NR::identify |
NR::Coord |
Things that need small adjustments or Complete replacement
Error looks like | NR Function or Code | 2geom Replacement |
NR::scale | Geom::Scale (note the capital letter S) | |
NR::translate | Geom::Translate (capital) | |
nrrect.extent(NR::X) | geomrect.dimensions()[Geom::X] OR
geomRect[X].extent() | |
height= r->extent(NR::Y); | height= r->dimensions()[Geom::Y]; | |
NR::expansion(nrmatrix) | geommatrix.descrim() | |
desktop.cpp:754: error: 'expand' is not a member of 'Geom' | NR::Rect const viewbox = NR::expand(canvas->getViewbox(), border);
|
Geom::Rect viewbox = canvas->getViewbox();
viewbox.expandBy(border); |
desktop.cpp:162: error: 'class Geom::Matrix' has no member named 'set_identity' | Mymatrix = set_identity (Nrmatrix) | identity(Nrmatrix) OR
matrix.setIdentity() |
desktop.cpp: In member function 'bool SPDesktop::isWithinViewport(SPItem*) const':
desktop.cpp:532: error: conversion from 'boost::optional<NR::Rect>' to non-scalar type 'boost::optional<Geom::D2<Geom::Interval> >' requested |
boost::optional<NR::Rect> | boost::optional<Geom::Rect> |
desktop.cpp:1004: error: no matching function for call to 'Geom::D2<Geom::Interval>::isEmpty(double)' ./2geom/rect.h:105: note: candidates are: bool Geom::D2<Geom::Interval>::isEmpty() const | if ( !d || d->isEmpty(0.1) ) {
return;
}
|
if ( !d
|| d->width() < 0.1 || d->height() < 0.1 ) { return; } |
NR::
matrix.test_identity() |
local.isIdentity() | |
selection-chemistry.cpp:1424: error: no match for ‘operator[]’ in ‘center[X]’
center is a boost::optional<Geom::Point> |
you're missing the * | |
Geom::Rotate doesn't seem have a operator/ what is the trick for turning division in to multiplication, again | r1/r2 | r1 * r2.inverse() |
NR::Rect's can be changed to Geom::Rect But it is better not to do this. | geomrect = to_2geom(nrrect) | |
NR::union_bounds() | Geom::unify() | |
sp-item.cpp:814: error: ‘expansionX’ is not a member of ‘Geom’ | dy0 *= NR::expansionY(i2d);
dx0 *= NR::expansionX(i2d); |
dy0 *= i2d.expansionY();
dx0 *= i2d.expansionX(); |
sp-item.cpp:1447: error: ‘const class Geom::Matrix’ has no member named ‘is_translation’ | !(!transform.is_translation() && SP_OBJECT_STYLE(item) && SP_OBJECT_STYLE(item)->getFilter()) | !(!transform.isTranslation() && SP_OBJECT_STYLE(item) && SP_OBJECT_STYLE(item)->getFilter()) |
text-context.cpp:1610: error: no matching function for call to ‘to_2geom(boost::optional<Geom::D2<Geom::Interval> >)’ | boost::optional<Geom::Rect> frame_bbox = to_2geom(sp_item_bbox_desktop(frame)); | boost::optional<Geom::Rect> frame_bbox = sp_item_bbox_desktop(frame); |