summaryrefslogtreecommitdiffstats
path: root/kig/objects/polygon_type.cc
diff options
context:
space:
mode:
Diffstat (limited to 'kig/objects/polygon_type.cc')
-rw-r--r--kig/objects/polygon_type.cc184
1 files changed, 92 insertions, 92 deletions
diff --git a/kig/objects/polygon_type.cc b/kig/objects/polygon_type.cc
index bca867da..55aa4cd8 100644
--- a/kig/objects/polygon_type.cc
+++ b/kig/objects/polygon_type.cc
@@ -60,13 +60,13 @@ const TriangleB3PType* TriangleB3PType::instance()
return &s;
}
-ObjectImp* TriangleB3PType::calc( const Args& parents, const KigDocument& ) const
+ObjectImp* TriangleB3PType::calc( const Args& tqparents, const KigDocument& ) const
{
- if ( ! margsparser.checkArgs( parents, 1 ) ) return new InvalidImp;
+ if ( ! margsparser.checkArgs( tqparents, 1 ) ) return new InvalidImp;
std::vector<Coordinate> points;
Coordinate centerofmass3 = Coordinate( 0, 0 );
- for ( Args::const_iterator i = parents.begin(); i != parents.end(); ++i )
+ for ( Args::const_iterator i = tqparents.begin(); i != tqparents.end(); ++i )
{
Coordinate point = static_cast<const PointImp*>( *i )->coordinate();
centerofmass3 += point;
@@ -87,46 +87,46 @@ bool TriangleB3PType::canMove( const ObjectTypeCalcer& o ) const
bool TriangleB3PType::isFreelyTranslatable( const ObjectTypeCalcer& o ) const
{
- std::vector<ObjectCalcer*> parents = o.parents();
- return parents[0]->isFreelyTranslatable() &&
- parents[1]->isFreelyTranslatable() &&
- parents[2]->isFreelyTranslatable();
+ std::vector<ObjectCalcer*> tqparents = o.tqparents();
+ return tqparents[0]->isFreelyTranslatable() &&
+ tqparents[1]->isFreelyTranslatable() &&
+ tqparents[2]->isFreelyTranslatable();
}
void TriangleB3PType::move( ObjectTypeCalcer& o, const Coordinate& to,
const KigDocument& d ) const
{
- std::vector<ObjectCalcer*> parents = o.parents();
- assert( margsparser.checkArgs( parents ) );
- const Coordinate a = static_cast<const PointImp*>( parents[0]->imp() )->coordinate();
- const Coordinate b = static_cast<const PointImp*>( parents[1]->imp() )->coordinate();
- const Coordinate c = static_cast<const PointImp*>( parents[2]->imp() )->coordinate();
- if ( parents[0]->canMove() )
- parents[0]->move( to, d );
- if ( parents[1]->canMove() )
- parents[1]->move( to + b - a, d );
- if ( parents[2]->canMove() )
- parents[2]->move( to + c - a, d );
+ std::vector<ObjectCalcer*> tqparents = o.tqparents();
+ assert( margsparser.checkArgs( tqparents ) );
+ const Coordinate a = static_cast<const PointImp*>( tqparents[0]->imp() )->coordinate();
+ const Coordinate b = static_cast<const PointImp*>( tqparents[1]->imp() )->coordinate();
+ const Coordinate c = static_cast<const PointImp*>( tqparents[2]->imp() )->coordinate();
+ if ( tqparents[0]->canMove() )
+ tqparents[0]->move( to, d );
+ if ( tqparents[1]->canMove() )
+ tqparents[1]->move( to + b - a, d );
+ if ( tqparents[2]->canMove() )
+ tqparents[2]->move( to + c - a, d );
}
const Coordinate TriangleB3PType::moveReferencePoint( const ObjectTypeCalcer& o ) const
{
- std::vector<ObjectCalcer*> parents = o.parents();
- assert( margsparser.checkArgs( parents ) );
- return static_cast<const PointImp*>( parents[0]->imp() )->coordinate();
+ std::vector<ObjectCalcer*> tqparents = o.tqparents();
+ assert( margsparser.checkArgs( tqparents ) );
+ return static_cast<const PointImp*>( tqparents[0]->imp() )->coordinate();
}
std::vector<ObjectCalcer*> TriangleB3PType::movableParents( const ObjectTypeCalcer& ourobj ) const
{
- std::vector<ObjectCalcer*> parents = ourobj.parents();
+ std::vector<ObjectCalcer*> tqparents = ourobj.tqparents();
std::set<ObjectCalcer*> ret;
- std::vector<ObjectCalcer*> tmp = parents[0]->movableParents();
+ std::vector<ObjectCalcer*> tmp = tqparents[0]->movableParents();
ret.insert( tmp.begin(), tmp.end() );
- tmp = parents[1]->movableParents();
+ tmp = tqparents[1]->movableParents();
ret.insert( tmp.begin(), tmp.end() );
- tmp = parents[2]->movableParents();
+ tmp = tqparents[2]->movableParents();
ret.insert( tmp.begin(), tmp.end() );
- ret.insert( parents.begin(), parents.end() );
+ ret.insert( tqparents.begin(), tqparents.end() );
return std::vector<ObjectCalcer*>( ret.begin(), ret.end() );
}
@@ -151,11 +151,11 @@ const PolygonBNPType* PolygonBNPType::instance()
return &s;
}
-ObjectImp* PolygonBNPType::calc( const Args& parents, const KigDocument& ) const
+ObjectImp* PolygonBNPType::calc( const Args& tqparents, const KigDocument& ) const
{
- uint count = parents.size();
+ uint count = tqparents.size();
assert (count >= 3); /* non sono ammessi poligoni con meno di tre lati */
-// if ( parents[0] != parents[count] ) return new InvalidImp;
+// if ( tqparents[0] != tqparents[count] ) return new InvalidImp;
std::vector<Coordinate> points;
uint npoints = 0;
@@ -164,8 +164,8 @@ ObjectImp* PolygonBNPType::calc( const Args& parents, const KigDocument& ) const
for ( uint i = 0; i < count; ++i )
{
npoints++;
- if ( ! parents[i]->inherits( PointImp::stype() ) ) return new InvalidImp;
- Coordinate point = static_cast<const PointImp*>( parents[i] )->coordinate();
+ if ( ! tqparents[i]->inherits( PointImp::stype() ) ) return new InvalidImp;
+ Coordinate point = static_cast<const PointImp*>( tqparents[i] )->coordinate();
centerofmassn += point;
points.push_back( point );
}
@@ -204,10 +204,10 @@ bool PolygonBNPType::canMove( const ObjectTypeCalcer& o ) const
bool PolygonBNPType::isFreelyTranslatable( const ObjectTypeCalcer& o ) const
{
- std::vector<ObjectCalcer*> parents = o.parents();
- for ( uint i = 0; i < parents.size(); ++i )
+ std::vector<ObjectCalcer*> tqparents = o.tqparents();
+ for ( uint i = 0; i < tqparents.size(); ++i )
{
- if ( !parents[i]->isFreelyTranslatable() ) return false;
+ if ( !tqparents[i]->isFreelyTranslatable() ) return false;
}
return true;
}
@@ -215,32 +215,32 @@ bool PolygonBNPType::isFreelyTranslatable( const ObjectTypeCalcer& o ) const
void PolygonBNPType::move( ObjectTypeCalcer& o, const Coordinate& to,
const KigDocument& d ) const
{
- std::vector<ObjectCalcer*> parents = o.parents();
- const Coordinate ref = static_cast<const PointImp*>( parents[0]->imp() )->coordinate();
- for ( uint i = 0; i < parents.size(); ++i )
+ std::vector<ObjectCalcer*> tqparents = o.tqparents();
+ const Coordinate ref = static_cast<const PointImp*>( tqparents[0]->imp() )->coordinate();
+ for ( uint i = 0; i < tqparents.size(); ++i )
{
- const Coordinate a = static_cast<const PointImp*>( parents[i]->imp() )->coordinate();
- parents[i]->move( to + a - ref, d );
+ const Coordinate a = static_cast<const PointImp*>( tqparents[i]->imp() )->coordinate();
+ tqparents[i]->move( to + a - ref, d );
}
}
const Coordinate PolygonBNPType::moveReferencePoint( const ObjectTypeCalcer& o
) const
{
- std::vector<ObjectCalcer*> parents = o.parents();
- return static_cast<const PointImp*>( parents[0]->imp() )->coordinate();
+ std::vector<ObjectCalcer*> tqparents = o.tqparents();
+ return static_cast<const PointImp*>( tqparents[0]->imp() )->coordinate();
}
std::vector<ObjectCalcer*> PolygonBNPType::movableParents( const ObjectTypeCalcer& ourobj ) const
{
- std::vector<ObjectCalcer*> parents = ourobj.parents();
+ std::vector<ObjectCalcer*> tqparents = ourobj.tqparents();
std::set<ObjectCalcer*> ret;
- for ( uint i = 0; i < parents.size(); ++i )
+ for ( uint i = 0; i < tqparents.size(); ++i )
{
- std::vector<ObjectCalcer*> tmp = parents[i]->movableParents();
+ std::vector<ObjectCalcer*> tmp = tqparents[i]->movableParents();
ret.insert( tmp.begin(), tmp.end() );
}
- ret.insert( parents.begin(), parents.end() );
+ ret.insert( tqparents.begin(), tqparents.end() );
return std::vector<ObjectCalcer*>( ret.begin(), ret.end() );
}
@@ -281,26 +281,26 @@ const PolygonBCVType* PolygonBCVType::instance()
return &s;
}
-ObjectImp* PolygonBCVType::calc( const Args& parents, const KigDocument& ) const
+ObjectImp* PolygonBCVType::calc( const Args& tqparents, const KigDocument& ) const
{
- if ( parents.size() < 3 || parents.size() > 4 ) return new InvalidImp;
+ if ( tqparents.size() < 3 || tqparents.size() > 4 ) return new InvalidImp;
- if ( ( ! parents[0]->inherits( PointImp::stype() ) ) ||
- ( ! parents[1]->inherits( PointImp::stype() ) ) ||
- ( ! parents[2]->inherits( IntImp::stype() ) ) )
+ if ( ( ! tqparents[0]->inherits( PointImp::stype() ) ) ||
+ ( ! tqparents[1]->inherits( PointImp::stype() ) ) ||
+ ( ! tqparents[2]->inherits( IntImp::stype() ) ) )
return new InvalidImp;
const Coordinate center =
- static_cast<const PointImp*>( parents[0] )->coordinate();
+ static_cast<const PointImp*>( tqparents[0] )->coordinate();
const Coordinate vertex =
- static_cast<const PointImp*>( parents[1] )->coordinate();
+ static_cast<const PointImp*>( tqparents[1] )->coordinate();
const int sides =
- static_cast<const IntImp*>( parents[2] )->data();
+ static_cast<const IntImp*>( tqparents[2] )->data();
int twist = 1;
- if ( parents.size() == 4 )
+ if ( tqparents.size() == 4 )
{
- if ( ! parents[3]->inherits( IntImp::stype() ) ) return new InvalidImp;
- twist = static_cast<const IntImp*>( parents[3] )->data();
+ if ( ! tqparents[3]->inherits( IntImp::stype() ) ) return new InvalidImp;
+ twist = static_cast<const IntImp*>( tqparents[3] )->data();
}
std::vector<Coordinate> vertexes;
@@ -359,43 +359,43 @@ bool PolygonBCVType::canMove( const ObjectTypeCalcer& o ) const
bool PolygonBCVType::isFreelyTranslatable( const ObjectTypeCalcer& o ) const
{
- std::vector<ObjectCalcer*> parents = o.parents();
- return parents[0]->isFreelyTranslatable() &&
- parents[1]->isFreelyTranslatable();
+ std::vector<ObjectCalcer*> tqparents = o.tqparents();
+ return tqparents[0]->isFreelyTranslatable() &&
+ tqparents[1]->isFreelyTranslatable();
}
void PolygonBCVType::move( ObjectTypeCalcer& o, const Coordinate& to,
const KigDocument& d ) const
{
- std::vector<ObjectCalcer*> parents = o.parents();
- // assert( margsparser.checkArgs( parents ) );
- if ( ! parents[0]->imp()->inherits( PointImp::stype() ) ||
- ! parents[1]->imp()->inherits( PointImp::stype() ) ) return;
+ std::vector<ObjectCalcer*> tqparents = o.tqparents();
+ // assert( margsparser.checkArgs( tqparents ) );
+ if ( ! tqparents[0]->imp()->inherits( PointImp::stype() ) ||
+ ! tqparents[1]->imp()->inherits( PointImp::stype() ) ) return;
- const Coordinate a = static_cast<const PointImp*>( parents[0]->imp() )->coordinate();
- const Coordinate b = static_cast<const PointImp*>( parents[1]->imp() )->coordinate();
- parents[0]->move( to, d );
- parents[1]->move( to + b - a, d );
+ const Coordinate a = static_cast<const PointImp*>( tqparents[0]->imp() )->coordinate();
+ const Coordinate b = static_cast<const PointImp*>( tqparents[1]->imp() )->coordinate();
+ tqparents[0]->move( to, d );
+ tqparents[1]->move( to + b - a, d );
}
const Coordinate PolygonBCVType::moveReferencePoint( const ObjectTypeCalcer& o) const
{
- std::vector<ObjectCalcer*> parents = o.parents();
- // assert( margsparser.checkArgs( parents ) );
- if ( ! parents[0]->imp()->inherits( PointImp::stype() ) ) return Coordinate::invalidCoord();
+ std::vector<ObjectCalcer*> tqparents = o.tqparents();
+ // assert( margsparser.checkArgs( tqparents ) );
+ if ( ! tqparents[0]->imp()->inherits( PointImp::stype() ) ) return Coordinate::invalidCoord();
- return static_cast<const PointImp*>( parents[0]->imp() )->coordinate();
+ return static_cast<const PointImp*>( tqparents[0]->imp() )->coordinate();
}
std::vector<ObjectCalcer*> PolygonBCVType::movableParents( const ObjectTypeCalcer& ourobj ) const
{
- std::vector<ObjectCalcer*> parents = ourobj.parents();
+ std::vector<ObjectCalcer*> tqparents = ourobj.tqparents();
std::set<ObjectCalcer*> ret;
- std::vector<ObjectCalcer*> tmp = parents[0]->movableParents();
+ std::vector<ObjectCalcer*> tmp = tqparents[0]->movableParents();
ret.insert( tmp.begin(), tmp.end() );
- tmp = parents[1]->movableParents();
+ tmp = tqparents[1]->movableParents();
ret.insert( tmp.begin(), tmp.end() );
- ret.insert( &parents[0], &parents[1] );
+ ret.insert( &tqparents[0], &tqparents[1] );
return std::vector<ObjectCalcer*>( ret.begin(), ret.end() );
}
@@ -443,23 +443,23 @@ const PolygonLineIntersectionType* PolygonLineIntersectionType::instance()
* vertex of the polygon.
*/
-ObjectImp* PolygonLineIntersectionType::calc( const Args& parents, const KigDocument& ) const
+ObjectImp* PolygonLineIntersectionType::calc( const Args& tqparents, const KigDocument& ) const
{
- if ( ! margsparser.checkArgs( parents ) ) return new InvalidImp;
+ if ( ! margsparser.checkArgs( tqparents ) ) return new InvalidImp;
- const PolygonImp* polygon = static_cast<const PolygonImp*>( parents[0] );
+ const PolygonImp* polygon = static_cast<const PolygonImp*>( tqparents[0] );
const std::vector<Coordinate> ppoints = polygon->points();
- const LineData line = static_cast<const AbstractLineImp*>( parents[1] )->data();
+ const LineData line = static_cast<const AbstractLineImp*>( tqparents[1] )->data();
Coordinate intersections[2];
uint whichintersection = 0;
bool boundleft = false;
bool boundright = false;
- if ( parents[1]->inherits( SegmentImp::stype() ) )
+ if ( tqparents[1]->inherits( SegmentImp::stype() ) )
{
boundleft = boundright = true;
}
- if ( parents[1]->inherits( RayImp::stype() ) )
+ if ( tqparents[1]->inherits( RayImp::stype() ) )
{
boundleft = true;
}
@@ -562,12 +562,12 @@ const PolygonVertexType* PolygonVertexType::instance()
return &t;
}
-ObjectImp* PolygonVertexType::calc( const Args& parents, const KigDocument& ) const
+ObjectImp* PolygonVertexType::calc( const Args& tqparents, const KigDocument& ) const
{
- if ( ! margsparser.checkArgs( parents ) ) return new InvalidImp;
+ if ( ! margsparser.checkArgs( tqparents ) ) return new InvalidImp;
- const std::vector<Coordinate> ppoints = static_cast<const PolygonImp*>( parents[0] )->points();
- const uint i = static_cast<const IntImp*>( parents[1] )->data();
+ const std::vector<Coordinate> ppoints = static_cast<const PolygonImp*>( tqparents[0] )->points();
+ const uint i = static_cast<const IntImp*>( tqparents[1] )->data();
if ( i >= ppoints.size() ) return new InvalidImp;
@@ -605,12 +605,12 @@ const PolygonSideType* PolygonSideType::instance()
return &t;
}
-ObjectImp* PolygonSideType::calc( const Args& parents, const KigDocument& ) const
+ObjectImp* PolygonSideType::calc( const Args& tqparents, const KigDocument& ) const
{
- if ( ! margsparser.checkArgs( parents ) ) return new InvalidImp;
+ if ( ! margsparser.checkArgs( tqparents ) ) return new InvalidImp;
- const std::vector<Coordinate> ppoints = static_cast<const PolygonImp*>( parents[0] )->points();
- const uint i = static_cast<const IntImp*>( parents[1] )->data();
+ const std::vector<Coordinate> ppoints = static_cast<const PolygonImp*>( tqparents[0] )->points();
+ const uint i = static_cast<const IntImp*>( tqparents[1] )->data();
if ( i >= ppoints.size() ) return new InvalidImp;
@@ -650,11 +650,11 @@ const ConvexHullType* ConvexHullType::instance()
return &t;
}
-ObjectImp* ConvexHullType::calc( const Args& parents, const KigDocument& ) const
+ObjectImp* ConvexHullType::calc( const Args& tqparents, const KigDocument& ) const
{
- if ( ! margsparser.checkArgs( parents ) ) return new InvalidImp;
+ if ( ! margsparser.checkArgs( tqparents ) ) return new InvalidImp;
- const std::vector<Coordinate> ppoints = static_cast<const PolygonImp*>( parents[0] )->points();
+ const std::vector<Coordinate> ppoints = static_cast<const PolygonImp*>( tqparents[0] )->points();
if ( ppoints.size() < 3 ) return new InvalidImp;