conic-common.h Source File (Kig Python Scripting API)

| # Kig Python Scripting API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members

conic-common.h
1
20
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
37 class ConicCartesianData
38{
39public:
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{
87public:
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
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
ConicCartesianData
Cartesian Conic Data.
Definition conic-common.h:38
ConicCartesianData::ConicCartesianData
ConicCartesianData(const ConicPolarData &d)
Construct a ConicCartesianData from a ConicPolarData.
ConicCartesianData::invalidData
static ConicCartesianData invalidData()
Invalid conic.
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
ConicCartesianData::valid
bool valid() const
Test validity.
ConicPolarData
This class represents an equation of a conic in the form .
Definition conic-common.h:86
ConicPolarData::pdimen
double pdimen
The pdimen value from the polar equation.
Definition conic-common.h:110
ConicPolarData::ConicPolarData
ConicPolarData(const ConicCartesianData &data)
Construct a ConicPolarData from a ConicCartesianData.
ConicPolarData::ecostheta0
double ecostheta0
The ecostheta0 value from the polar equation.
Definition conic-common.h:114
ConicPolarData::ConicPolarData
ConicPolarData(const Coordinate &focus1, double dimen, double ecostheta0, double esintheta0)
Construct a ConicPolarData using the parameters from the equation .
ConicPolarData::esintheta0
double esintheta0
The esintheta0 value from the polar equation.
Definition conic-common.h:118
ConicPolarData::focus1
Coordinate focus1
The first focus of this conic.
Definition conic-common.h:106
Coordinate
The Coordinate class is the basic class representing a 2D location by its x and y components.
Definition coordinate.h:34
LineData
Simple class representing a line.
Definition common.h:49
Transformation
Class representing a transformation.
Definition kigtransform.h:38
This file is part of the documentation for tdelibs .
Documentation copyright © 1996-2002 the KDE developers.
Generated on by doxygen 1.16.1 written by Dimitri van Heesch, © 1997-2001