• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

kig

  • sources
  • kde-4.12
  • kdeedu
  • kig
  • misc
Classes | Enumerations | Functions
conic-common.h File Reference
#include "coordinate.h"
#include <vector>
#include "kignumerics.h"
Include dependency graph for conic-common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ConicCartesianData
 
class  ConicPolarData
 

Enumerations

enum  LinearConstraints {
  noconstraint, zerotilt, parabolaifzt, circleifzt,
  equilateral, ysymmetry, xsymmetry
}
 

Functions

const LineData calcConicAsymptote (const ConicCartesianData data, int which, bool &valid)
 
const ConicPolarData calcConicBDFP (const LineData &d, const Coordinate &f, const Coordinate &p)
 
const ConicPolarData calcConicBFFP (const std::vector< Coordinate > &args, int type)
 
const ConicCartesianData calcConicByAsymptotes (const LineData &line1, const LineData &line2, const Coordinate &p)
 
const Coordinate calcConicLineIntersect (const ConicCartesianData &c, const LineData &l, double knownparam, int which)
 
const LineData calcConicPolarLine (const ConicCartesianData &data, const Coordinate &cpole, bool &valid)
 
const Coordinate calcConicPolarPoint (const ConicCartesianData &data, const LineData &polar)
 
const LineData calcConicRadical (const ConicCartesianData &cequation1, const ConicCartesianData &cequation2, int which, int zeroindex, bool &valid)
 
const ConicCartesianData calcConicThroughPoints (const std::vector< Coordinate > &points, const LinearConstraints c1=noconstraint, const LinearConstraints c2=noconstraint, const LinearConstraints c3=noconstraint, const LinearConstraints c4=noconstraint, const LinearConstraints c5=noconstraint)
 
const ConicCartesianData calcConicTransformation (const ConicCartesianData &data, const Transformation &t, bool &valid)
 
bool operator== (const ConicPolarData &lhs, const ConicPolarData &rhs)
 

Enumeration Type Documentation

enum LinearConstraints

These are the constraint values that can be passed to the calcConicThroughPoints function.

Their meaning is as follows: noconstraint: no additional points will be calculated. zerotilt: force the symmetry axes to be parallel to the coordinate system ( zero tilt ). parabolaifzt: the returned conic should be a parabola ( if used in combination with zerotilt ) circleifzt: the returned conic should be a circle ( if used in combination with zerotilt ) equilateral: the returned conic should be equilateral ysymmetry: the returned conic should be symmetric over the Y-axis. xsymmetry: the returned conic should be symmetric over the X-axis.

Enumerator
noconstraint 
zerotilt 
parabolaifzt 
circleifzt 
equilateral 
ysymmetry 
xsymmetry 

Definition at line 137 of file conic-common.h.

Function Documentation

const LineData calcConicAsymptote ( const ConicCartesianData  data,
int  which,
bool &  valid 
)

This function calculates the asymptote of the given conic ( data ).

A conic has two asymptotes in general, so which should be set to +1 or -1 depending on which asymptote you want. As the last argument, you should pass a reference to a boolean. This boolean will be set to true if the returned line is valid, and to false if the returned line is not valid. The latter condition only occurs if the given conic does not have the specified asymptote.

Definition at line 467 of file conic-common.cpp.

const ConicPolarData calcConicBDFP ( const LineData &  d,
const Coordinate &  f,
const Coordinate &  p 
)

function used by ConicBDFP.

It calcs the conic with directrix d, focus f, and point p on the conic..

Definition at line 433 of file conic-common.cpp.

const ConicPolarData calcConicBFFP ( const std::vector< Coordinate > &  args,
int  type 
)

This function is used by ConicBFFP.

It calcs the polar equation for a hyperbola ( type == -1 ) or ellipse ( type == 1 ) with focuses args[0] and args[1], and with args[2] on the edge of the conic. args.size() should be two or three. If it is two, the two points are taken to be the focuses, and a third point is chosen in a sensible way..

Definition at line 251 of file conic-common.cpp.

const ConicCartesianData calcConicByAsymptotes ( const LineData &  line1,
const LineData &  line2,
const Coordinate &  p 
)

This calcs the hyperbola defined by its two asymptotes line1 and line2, and a point p on the edge.

Definition at line 511 of file conic-common.cpp.

const Coordinate calcConicLineIntersect ( const ConicCartesianData &  c,
const LineData &  l,
double  knownparam,
int  which 
)

This function calculates the intersection of a given line ( l ) and a given conic ( c ).

A line and a conic have two intersections in general, and as such, which should be set to -1 or 1 depending on which intersection you want. As the last argument, you should pass a reference to a boolean. This boolean will be set to true if the returned point is valid, and to false if the returned point is not valid. The latter condition only occurs if the given conic and line do not have the specified intersection.

knownparam is something special: If you already know one intersection of the line and the conic, and you want the other one, then you should set which to 0, knownparam to the curve parameter of the point you already know ( i.e. the value returned by conicimp->getParam( otherpoint ) ).

Definition at line 367 of file conic-common.cpp.

const LineData calcConicPolarLine ( const ConicCartesianData &  data,
const Coordinate &  cpole,
bool &  valid 
)

This function calculates the polar line of the point cpole with respect to the given conic data.

As the last argument, you should pass a reference to a boolean. This boolean will be set to true if the returned LineData is valid, and to false if the returned line is not valid. The latter condition only occurs if a "line at infinity" would have had to be returned.

Definition at line 293 of file conic-common.cpp.

const Coordinate calcConicPolarPoint ( const ConicCartesianData &  data,
const LineData &  polar 
)

This function calculates the polar point of the line polar with respect to the given conic data.

As the last argument, you should pass a reference to a boolean. This boolean will be set to true if the returned LineData is valid, and to false if the returned line is not valid. The latter condition only occurs if a "point at infinity" would have had to be returned.

Definition at line 325 of file conic-common.cpp.

const LineData calcConicRadical ( const ConicCartesianData &  cequation1,
const ConicCartesianData &  cequation2,
int  which,
int  zeroindex,
bool &  valid 
)

This function calculates the radical line of two conics.

A radical line is the line that goes through two of the intersections of two conics. Since two conics have up to four intersections in general, there are three sets of two radical lines. zeroindex specifies which set of radical lines you want ( set it to 1, 2 or 3 ), and which is set to -1 or +1 depending on which of the two radical lines in the set you want. As the last argument, you should pass a reference to a boolean. This boolean will be set to true if the returned line is valid, and to false if the returned line is not valid. The latter condition only occurs if the given conics do not have the specified radical line.

Definition at line 544 of file conic-common.cpp.

const ConicCartesianData calcConicThroughPoints ( const std::vector< Coordinate > &  points,
const LinearConstraints  c1 = noconstraint,
const LinearConstraints  c2 = noconstraint,
const LinearConstraints  c3 = noconstraint,
const LinearConstraints  c4 = noconstraint,
const LinearConstraints  c5 = noconstraint 
)

Calculate a conic through a given set of points.

points should contain at least one, and at most five points. If there are five points, then the conic is completely defined. If there are less, then additional points will be calculated according to the constraints given. See above for the various constraints.

An invalid ConicCartesianData is returned if there is no conic through the given set of points, or if not enough constraints are given for a conic to be calculated.

Definition at line 169 of file conic-common.cpp.

const ConicCartesianData calcConicTransformation ( const ConicCartesianData &  data,
const Transformation &  t,
bool &  valid 
)

This calculates the image of the given conic ( data ) through the given transformation ( t ).

As the last argument, you should pass a reference to a boolean. This boolean will be set to true if the returned line is valid, and to false if the returned line is not valid. The latter condition only occurs if the given transformation is singular, and as such, the transformation of the conic cannot be calculated.

Definition at line 826 of file conic-common.cpp.

bool operator== ( const ConicPolarData &  lhs,
const ConicPolarData &  rhs 
)

Definition at line 875 of file conic-common.cpp.

This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:35:40 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kig

Skip menu "kig"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal