Kig Python Scripting API Documentation

conic-common.h
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
28class ConicPolarData;
29class Transformation;
30class LineData;
31
38{
39public:
40 double coeffs[6];
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
76 bool valid() const;
77};
78
86{
87public:
94 explicit ConicPolarData( const ConicCartesianData& data );
95 explicit ConicPolarData();
100 ConicPolarData( const Coordinate& focus1, double dimen,
101 double ecostheta0, double esintheta0 );
102
110 double pdimen;
119};
120
121bool operator==( const ConicPolarData& lhs, const ConicPolarData& rhs );
122
137enum LinearConstraints {
138 noconstraint, zerotilt, parabolaifzt, circleifzt,
139 equilateral, ysymmetry, xsymmetry
140};
141
153const 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
169const ConicPolarData calcConicBFFP(
170 const std::vector<Coordinate>& args,
171 int type );
172
177const ConicPolarData calcConicBDFP(
178 const LineData& d, const Coordinate& f, const Coordinate& p );
179
184const ConicCartesianData calcConicByAsymptotes(
185 const LineData& line1,
186 const LineData& line2,
187 const Coordinate& p );
188
197const LineData calcConicPolarLine (
198 const ConicCartesianData& data,
199 const Coordinate& cpole,
200 bool& valid );
201
210const Coordinate calcConicPolarPoint (
211 const ConicCartesianData& data,
212 const LineData& polar );
213
230const Coordinate calcConicLineIntersect( const ConicCartesianData& c,
231 const LineData& l,
232 double knownparam,
233 int which );
234
244const LineData calcConicAsymptote(
245 const ConicCartesianData data,
246 int which, bool &valid );
247
261const LineData calcConicRadical( const ConicCartesianData& cequation1,
262 const ConicCartesianData& cequation2,
263 int which, int zeroindex, bool& valid );
264
274const ConicCartesianData calcConicTransformation (
275 const ConicCartesianData& data,
276 const Transformation& t, bool& valid );
277
278#endif // KIG_MISC_CONIC_COMMON_H
Cartesian Conic Data.
Definition: conic-common.h:38
ConicCartesianData(const ConicPolarData &d)
Construct a ConicCartesianData from a ConicPolarData.
static ConicCartesianData invalidData()
Invalid conic.
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
bool valid() const
Test validity.
This class represents an equation of a conic in the form .
Definition: conic-common.h:86
double pdimen
The pdimen value from the polar equation.
Definition: conic-common.h:110
ConicPolarData(const ConicCartesianData &data)
Construct a ConicPolarData from a ConicCartesianData.
double ecostheta0
The ecostheta0 value from the polar equation.
Definition: conic-common.h:114
ConicPolarData(const Coordinate &focus1, double dimen, double ecostheta0, double esintheta0)
Construct a ConicPolarData using the parameters from the equation .
double esintheta0
The esintheta0 value from the polar equation.
Definition: conic-common.h:118
Coordinate focus1
The first focus of this conic.
Definition: conic-common.h:106
The Coordinate class is the basic class representing a 2D location by its x and y components.
Definition: coordinate.h:34
Simple class representing a line.
Definition: common.h:60
Class representing a transformation.
Definition: kigtransform.h:38
KDE Logo
This file is part of the documentation for tdelibs .
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed May 15 2024 03:39:42 by doxygen 1.9.4 written by Dimitri van Heesch, © 1997-2001