20 #include <config-kig.h> 
   27 #include "../objects/angle_type.h" 
   28 #include "../objects/arc_type.h" 
   29 #include "../objects/circle_type.h" 
   30 #include "../objects/conic_types.h" 
   31 #include "../objects/cubic_type.h" 
   32 #include "../objects/intersection_types.h" 
   33 #include "../objects/inversion_type.h" 
   34 #include "../objects/line_imp.h" 
   35 #include "../objects/line_type.h" 
   36 #include "../objects/object_imp.h" 
   37 #include "../objects/other_imp.h" 
   38 #include "../objects/other_type.h" 
   39 #include "../objects/point_type.h" 
   40 #include "../objects/tests_type.h" 
   41 #include "../objects/transform_types.h" 
   42 #include "../objects/vector_type.h" 
   43 #include "../objects/polygon_type.h" 
   44 #include "../objects/bezier_type.h" 
   50   static bool done = 
false;
 
   60       I18N_NOOP( 
"Point by Numeric Labels" ),
 
   61       I18N_NOOP( 
"A point whose coordinates are given by two numeric labels" ),
 
   69       I18N_NOOP( 
"A segment constructed from its start and end point" ),
 
   77       I18N_NOOP( 
"The perpendicular line through a given segment's mid point." ),
 
   85       I18N_NOOP( 
"A line constructed through two points"), 
"line" );
 
   92       I18N_NOOP( 
"A half-line by its start point, and another point somewhere on it." ),
 
  100       I18N_NOOP( 
"A line constructed through a point, perpendicular to another line or segment." ),
 
  108       I18N_NOOP( 
"A line constructed through a point, and parallel to another line or segment" ),
 
  116       I18N_NOOP( 
"A circle constructed by its center and a point that pertains to it" ),
 
  123       I18N_NOOP( 
"A circle constructed through three points" ),
 
  130       I18N_NOOP( 
"A circle defined by its center and the length of the radius" ),
 
  145       I18N_NOOP( 
"Construct Bisector of This Angle" ),
 
  146       I18N_NOOP( 
"Select the angle you want to construct the bisector of..." ),
 
  147       I18N_NOOP( 
"Angle Bisector" ),
 
  148       I18N_NOOP( 
"The bisector of an angle" ),
 
  156       I18N_NOOP( 
"A conic constructed through five points" ),
 
  163       I18N_NOOP( 
"Hyperbola by Asymptotes && Point" ),
 
  164       I18N_NOOP( 
"A hyperbola with given asymptotes through a point" ),
 
  171       I18N_NOOP( 
"Ellipse by Focuses && Point" ), 
 
  172       I18N_NOOP( 
"An ellipse constructed by its focuses and a point that pertains to it" ),
 
  179       I18N_NOOP( 
"Hyperbola by Focuses && Point" ), 
 
  180       I18N_NOOP( 
"A hyperbola constructed by its focuses and a point that pertains to it" ),
 
  187       I18N_NOOP( 
"Conic by Directrix, Focus && Point" ),
 
  188       I18N_NOOP( 
"A conic with given directrix and focus, through a point" ),
 
  195       I18N_NOOP( 
"Vertical Parabola by Three Points" ),
 
  196       I18N_NOOP( 
"A vertical parabola constructed through three points" ),
 
  203       I18N_NOOP( 
"Cubic Curve by Nine Points" ),
 
  204       I18N_NOOP( 
"A cubic curve constructed through nine points" ),
 
  211       I18N_NOOP( 
"Polar Point of a Line" ),
 
  212       I18N_NOOP( 
"The polar point of a line with respect to a conic." ),
 
  219       I18N_NOOP( 
"Polar Line of a Point" ),
 
  220       I18N_NOOP( 
"The polar line of a point with respect to a conic." ),
 
  227       I18N_NOOP( 
"Cubic Curve with Node by Six Points" ),
 
  228       I18N_NOOP( 
"A cubic curve with a nodal point at the origin through six points" ),
 
  235       I18N_NOOP( 
"Cubic Curve with Cusp by Four Points" ),
 
  236       I18N_NOOP( 
"A cubic curve with a horizontal cusp at the origin through four points" ),
 
  243       I18N_NOOP( 
"Cubic Function by Four Points" ),
 
  244       I18N_NOOP( 
"A cubic function through four points" ),
 
  245       "verticalcubicb4p" );
 
  251       I18N_NOOP( 
"Directrix of a Conic" ),
 
  252       I18N_NOOP( 
"The directrix line of a conic." ),
 
  259       I18N_NOOP( 
"Angle by Three Points" ),
 
  260       I18N_NOOP( 
"An angle defined by three points" ),
 
  267       I18N_NOOP( 
"Equilateral Hyperbola by Four Points" ),
 
  268       I18N_NOOP( 
"An equilateral hyperbola constructed through four points" ),
 
  269       "equilateralhyperbolab4p" );
 
  286         "", 
"", 
"", 
"", 
"mid-point" );
 
  291         I18N_NOOP( 
"Mid Point" ),
 
  292         I18N_NOOP( 
"The midpoint of a segment or two other points" ),
 
  301       I18N_NOOP( 
"Vector" ),
 
  302       I18N_NOOP( 
"Construct a vector from two given points." ),
 
  309       I18N_NOOP( 
"Vector Sum" ),
 
  310       I18N_NOOP( 
"Construct the vector sum of two vectors." ),
 
  317       I18N_NOOP( 
"Line by Vector" ),
 
  318       I18N_NOOP( 
"Construct the line by a given vector though a given point." ),
 
  325       I18N_NOOP( 
"Half-Line by Vector" ),
 
  326       I18N_NOOP( 
"Construct the half-line by a given vector starting at given point." ),
 
  327       "halflinebyvector" );
 
  333       I18N_NOOP( 
"Arc by Three Points" ),
 
  334       I18N_NOOP( 
"Construct an arc through three points." ),
 
  341       I18N_NOOP( 
"Conic Arc by Center and Three Points" ),
 
  342       I18N_NOOP( 
"Construct a conic arc with given center through three points." ),
 
  349       I18N_NOOP( 
"Conic Arc by Five Points" ),
 
  350       I18N_NOOP( 
"Construct a conic arc through five points." ),
 
  357       I18N_NOOP( 
"Arc by Center, Angle && Point" ),
 
  358       I18N_NOOP( 
"Construct an arc by its center and a given angle, " 
  359                  "starting at a given point" ),
 
  366       I18N_NOOP( 
"Parabola by Directrix && Focus" ),
 
  367       I18N_NOOP( 
"A parabola defined by its directrix and focus" ),
 
  387       I18N_NOOP( 
"Translate" ),
 
  388       I18N_NOOP( 
"The translation of an object by a vector" ),
 
  395       I18N_NOOP( 
"Reflect in Point" ),
 
  396       I18N_NOOP( 
"An object reflected in a point" ),
 
  403       I18N_NOOP( 
"Reflect in Line" ),
 
  404       I18N_NOOP( 
"An object reflected in a line" ),
 
  411       I18N_NOOP( 
"Rotate" ),
 
  412       I18N_NOOP( 
"An object rotated by an angle around a point" ),
 
  419       I18N_NOOP( 
"Scale" ),
 
  420       I18N_NOOP( 
"Scale an object over a point, by the ratio given by the length of a segment" ),
 
  427       I18N_NOOP( 
"Scale over Line" ),
 
  428       I18N_NOOP( 
"An object scaled over a line, by the ratio given by the length of a segment" ),
 
  435       I18N_NOOP( 
"Scale (ratio given by two segments)" ),
 
  436       I18N_NOOP( 
"Scale an object over a point, by the ratio given by the length of two segments" ),
 
  443       I18N_NOOP( 
"Scale over Line (ratio given by two segments)" ),
 
  444       I18N_NOOP( 
"An object scaled over a line, by the ratio given by the length of two segments" ),
 
  451       I18N_NOOP( 
"Apply Similitude" ),
 
  452       I18N_NOOP( 
"Apply a similitude to an object (the sequence of a scaling and rotation around a center)" ),
 
  459       I18N_NOOP( 
"Harmonic Homology" ),
 
  460       I18N_NOOP( 
"The harmonic homology with a given center and a given axis (this is a projective transformation)" ),
 
  461       "harmonichomology" );
 
  475       I18N_NOOP( 
"Draw Projective Shadow" ),
 
  476       I18N_NOOP( 
"The shadow of an object with a given light source and projection plane (indicated by a line)" ),
 
  491       I18N_NOOP( 
"Asymptotes of a Hyperbola" ),
 
  492       I18N_NOOP( 
"The two asymptotes of a hyperbola." ),
 
  493       "conicasymptotes", -1, 1 );
 
  505       I18N_NOOP( 
"Triangle by Its Vertices" ),
 
  506       I18N_NOOP( 
"Construct a triangle given its three vertices." ),
 
  533       I18N_NOOP( 
"A polygon that corresponds to the convex hull of another polygon" ),
 
  544       I18N_NOOP( 
"Bézier Quadratic by its Control Points" ),
 
  545       I18N_NOOP( 
"Construct a Bézier quadratic given its three control points." ),
 
  552       I18N_NOOP( 
"Bézier Cubic by its Control Points" ),
 
  553       I18N_NOOP( 
"Construct a Bézier cubic given its four control points." ),
 
  564       I18N_NOOP( 
"Rational Bézier Quadratic by its Control Points" ),
 
  565       I18N_NOOP( 
"Construct a Rational Bézier quadratic given its three control points." ),
 
  572       I18N_NOOP( 
"Rational Bézier Cubic by its Control Points" ),
 
  573       I18N_NOOP( 
"Construct a Rational Bézier cubic given its four control points." ),
 
  592       I18N_NOOP( 
"Parallel Test" ),
 
  593       I18N_NOOP( 
"Test whether two given lines are parallel" ),
 
  600       I18N_NOOP( 
"Orthogonal Test" ),
 
  601       I18N_NOOP( 
"Test whether two given lines are orthogonal" ),
 
  608       I18N_NOOP( 
"Collinear Test" ),
 
  609       I18N_NOOP( 
"Test whether three given points are collinear" ),
 
  616       I18N_NOOP( 
"Contains Test" ),
 
  617       I18N_NOOP( 
"Test whether a given curve contains a given point" ),
 
  624       I18N_NOOP( 
"In Polygon Test" ),
 
  625       I18N_NOOP( 
"Test whether a given polygon contains a given point" ),
 
  632       I18N_NOOP( 
"Convex Polygon Test" ),
 
  633       I18N_NOOP( 
"Test whether a given polygon is convex" ),
 
  640       I18N_NOOP( 
"Existence Test" ),
 
  641       I18N_NOOP( 
"Test whether a given object is constructible" ),
 
  648       I18N_NOOP( 
"Distance Test" ),
 
  649       I18N_NOOP( 
"Test whether a given point have the same distance from a given point " 
  650                  "and from another given point" ),
 
  657       I18N_NOOP( 
"Vector Equality Test" ),
 
  658       I18N_NOOP( 
"Test whether two vectors are equal" ),
 
  678       I18N_NOOP( 
"Point Projection" ),
 
  679       I18N_NOOP( 
"Project a point on a line" ),
 
  704 #ifdef KIG_ENABLE_PYTHON_SCRIPTING 
  705 #include "../scripting/script-common.h" 
  706     actions->
add( 
new NewScriptAction(
 
  707                         I18N_NOOP( 
"Python Script" ),
 
  708                         I18N_NOOP( 
"Construct a new Python script." ),
 
  709                         "objects_new_script_python",
 
  714     actions->
add( 
new TestAction( 
"test_stuff" ) );
 
This class is a collection of some other ObjectConstructors, that makes them appear to the user as a ...
static const InPolygonTestType * instance()
List of GUIActions for the parts to show. 
static const CastShadowType * instance()
static const ArcBTPType * instance()
static const ScalingOverLineType * instance()
static const ConicArcB5PType * instance()
static const ExistenceTestType * instance()
static const CubicCuspB4PType * instance()
static const PointReflectionType * instance()
static const ConicDirectrixType * instance()
A standard implementation of StandardConstructorBase for simple types. 
static const AreCollinearType * instance()
static const RotationType * instance()
static const TranslatedType * instance()
static const ScalingOverCenter2Type * instance()
static LinePerpendLPType * instance()
static const AreOrthogonalType * instance()
static const ParabolaBDPType * instance()
static const BezierQuadricType * instance()
static const AngleType * instance()
static const ConvexPolygonTestType * instance()
static const CubicB9PType * instance()
The list of object constructors for use in various places, e.g. 
static const CircleBPRType * instance()
static const ConicBAAPType * instance()
static const RayABType * instance()
static const ContainsTestType * instance()
static const SimilitudeType * instance()
static const VerticalCubicB4PType * instance()
void add(ObjectConstructor *a)
static const VectorEqualityTestType * instance()
static const ConicArcBCTPType * instance()
This class represents a way to construct a set of objects from a set of other objects. 
static const ConvexHullType * instance()
static const EllipseBFFPType * instance()
static const TriangleB3PType * instance()
static LineParallelLPType * instance()
static const VectorType * instance()
static const ConicAsymptoteType * instance()
static const SegmentAxisType * instance()
static const BezierCubicType * instance()
static const ConicPolarLineType * instance()
static const ConicBDFPType * instance()
static const ObjectImpType * stype()
Returns the ObjectImpType representing the SegmentImp type. 
static ObjectConstructorList * instance()
static const CircleBCPType * instance()
static const ConicPolarPointType * instance()
static const CircleBTPType * instance()
static const SameDistanceType * instance()
static const ParabolaBTPType * instance()
static const ScalingOverCenterType * instance()
static const ArcBCPAType * instance()
static const VectorSumType * instance()
static const LineByVectorType * instance()
static const HalflineByVectorType * instance()
static const CubicNodeB6PType * instance()
static const ConicB5PType * instance()
static const RationalBezierCubicType * instance()
static const ScalingOverLine2Type * instance()
This class is the equivalent of SimpleObjectTypeConstructor for object types that are constructed in ...
static const ObjectImpType * stype()
Returns the ObjectImpType representing the AngleImp type. 
static GUIActionList * instance()
static const EquilateralHyperbolaB4PType * instance()
static const SegmentABType * instance()
static const LineReflectionType * instance()
static const RationalBezierQuadricType * instance()
static const PointByCoordsType * instance()
static const HarmonicHomologyType * instance()
static const AreParallelType * instance()
static const ProjectedPointType * instance()
A standard implementation of StandardConstructorBase for property objects... 
void merge(ObjectConstructor *e)
static const LineABType * instance()
static const HyperbolaBFFPType * instance()