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

kig

  • sources
  • kde-4.14
  • kdeedu
  • kig
  • misc
conic-common.h
Go to the documentation of this file.
1 
21 #ifndef KIG_MISC_CONIC_COMMON_H
22 #define KIG_MISC_CONIC_COMMON_H
23 
24 #include "coordinate.h"
25 #include <vector>
26 #include "kignumerics.h"
27 
28 class ConicPolarData;
29 class Transformation;
30 class LineData;
31 
37 class ConicCartesianData
38 {
39 public:
40  double coeffs[6];
41  ConicCartesianData();
47  explicit ConicCartesianData( const ConicPolarData& d );
53  ConicCartesianData( double a, double b, double c,
54  double d, double e, double f )
55  {
56  coeffs[0] = a;
57  coeffs[1] = b;
58  coeffs[2] = c;
59  coeffs[3] = d;
60  coeffs[4] = e;
61  coeffs[5] = f;
62  }
63  ConicCartesianData( const double incoeffs[6] );
64 
70  static ConicCartesianData invalidData();
76  bool valid() const;
77 };
78 
85 class ConicPolarData
86 {
87 public:
94  explicit ConicPolarData( const ConicCartesianData& data );
95  explicit ConicPolarData();
100  ConicPolarData( const Coordinate& focus1, double dimen,
101  double ecostheta0, double esintheta0 );
102 
106  Coordinate focus1;
110  double pdimen;
114  double ecostheta0;
118  double esintheta0;
119 };
120 
121 bool operator==( const ConicPolarData& lhs, const ConicPolarData& rhs );
122 
137 enum LinearConstraints {
138  noconstraint, zerotilt, parabolaifzt, circleifzt,
139  equilateral, ysymmetry, xsymmetry
140 };
141 
153 const ConicCartesianData calcConicThroughPoints (
154  const std::vector<Coordinate>& points,
155  const LinearConstraints c1 = noconstraint,
156  const LinearConstraints c2 = noconstraint,
157  const LinearConstraints c3 = noconstraint,
158  const LinearConstraints c4 = noconstraint,
159  const LinearConstraints c5 = noconstraint);
160 
169 const ConicPolarData calcConicBFFP(
170  const std::vector<Coordinate>& args,
171  int type );
172 
177 const ConicPolarData calcConicBDFP(
178  const LineData& d, const Coordinate& f, const Coordinate& p );
179 
184 const ConicCartesianData calcConicByAsymptotes(
185  const LineData& line1,
186  const LineData& line2,
187  const Coordinate& p );
188 
197 const LineData calcConicPolarLine (
198  const ConicCartesianData& data,
199  const Coordinate& cpole,
200  bool& valid );
201 
210 const Coordinate calcConicPolarPoint (
211  const ConicCartesianData& data,
212  const LineData& polar );
213 
230 const Coordinate calcConicLineIntersect( const ConicCartesianData& c,
231  const LineData& l,
232  double knownparam,
233  int which );
234 
244 const LineData calcConicAsymptote(
245  const ConicCartesianData data,
246  int which, bool &valid );
247 
261 const LineData calcConicRadical( const ConicCartesianData& cequation1,
262  const ConicCartesianData& cequation2,
263  int which, int zeroindex, bool& valid );
264 
274 const ConicCartesianData calcConicTransformation (
275  const ConicCartesianData& data,
276  const Transformation& t, bool& valid );
277 
278 #endif // KIG_MISC_CONIC_COMMON_H
LinearConstraints
LinearConstraints
These are the constraint values that can be passed to the calcConicThroughPoints function.
Definition: conic-common.h:137
ConicPolarData::esintheta0
double esintheta0
The esintheta0 value from the polar equation.
Definition: conic-common.h:118
LineData
Simple class representing a line.
Definition: misc/common.h:49
ConicPolarData::ConicPolarData
ConicPolarData()
Definition: conic-common.cpp:428
calcConicThroughPoints
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.
Definition: conic-common.cpp:169
ConicCartesianData
Cartesian Conic Data.
Definition: conic-common.h:37
calcConicBFFP
const ConicPolarData calcConicBFFP(const std::vector< Coordinate > &args, int type)
This function is used by ConicBFFP.
Definition: conic-common.cpp:251
circleifzt
Definition: conic-common.h:138
ConicCartesianData::invalidData
static ConicCartesianData invalidData()
Invalid conic.
Definition: conic-common.cpp:883
ConicCartesianData::coeffs
double coeffs[6]
Definition: conic-common.h:40
parabolaifzt
Definition: conic-common.h:138
Coordinate
The Coordinate class is the basic class representing a 2D location by its x and y components...
Definition: coordinate.h:33
equilateral
Definition: conic-common.h:139
xsymmetry
Definition: conic-common.h:139
Transformation
Class representing a transformation.
Definition: kigtransform.h:37
ConicPolarData::focus1
Coordinate focus1
The first focus of this conic.
Definition: conic-common.h:106
ConicCartesianData::ConicCartesianData
ConicCartesianData(double a, double b, double c, double d, double e, double f)
Construct a ConicCartesianData from its coefficients Construct a ConicCartesianData using the coeffic...
Definition: conic-common.h:53
calcConicPolarLine
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...
Definition: conic-common.cpp:293
calcConicPolarPoint
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...
Definition: conic-common.cpp:325
ConicPolarData::pdimen
double pdimen
The pdimen value from the polar equation.
Definition: conic-common.h:110
ConicPolarData::ecostheta0
double ecostheta0
The ecostheta0 value from the polar equation.
Definition: conic-common.h:114
ysymmetry
Definition: conic-common.h:139
operator==
bool operator==(const ConicPolarData &lhs, const ConicPolarData &rhs)
Definition: conic-common.cpp:875
ConicCartesianData::ConicCartesianData
ConicCartesianData()
Definition: conic-common.cpp:871
calcConicAsymptote
const LineData calcConicAsymptote(const ConicCartesianData data, int which, bool &valid)
This function calculates the asymptote of the given conic ( data ).
Definition: conic-common.cpp:467
calcConicTransformation
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 )...
Definition: conic-common.cpp:826
noconstraint
Definition: conic-common.h:138
ConicCartesianData::valid
bool valid() const
Test validity.
Definition: conic-common.cpp:890
calcConicBDFP
const ConicPolarData calcConicBDFP(const LineData &d, const Coordinate &f, const Coordinate &p)
function used by ConicBDFP.
Definition: conic-common.cpp:433
zerotilt
Definition: conic-common.h:138
coordinate.h
kignumerics.h
calcConicRadical
const LineData calcConicRadical(const ConicCartesianData &cequation1, const ConicCartesianData &cequation2, int which, int zeroindex, bool &valid)
This function calculates the radical line of two conics.
Definition: conic-common.cpp:544
calcConicByAsymptotes
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: conic-common.cpp:511
calcConicLineIntersect
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 )...
Definition: conic-common.cpp:367
ConicPolarData
This class represents an equation of a conic in the form .
Definition: conic-common.h:85
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:12:05 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
  • 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