GOAT (Geometrical optics application tool) 0.1
Loading...
Searching...
No Matches
plane.h
Go to the documentation of this file.
1/***************************************************************************
2 plane.h - description
3 -------------------
4 begin : Sat Feb 19 2000
5 copyright : (C) 2000 by Thomas Weigel
6 email : weigel@lat.ruhr-uni-bochum.de
7 ***************************************************************************/
8
9
10
11#ifndef EBENE_H
12#define EBENE_H
13
14
18
19#include<iostream>
20#include<fstream>
21#include "vector.h"
22#include "matrix.h"
27namespace GOAT
28{
29 namespace raytracing
30 {
31
32 class Plane {
33 public:
49 void norm();
52 void toString(char* S);
53 void binWrite(std::ofstream& os);
54 void binRead(std::ifstream& is);
55 void rotate(double dr, double dtheta, double dphi);
56 friend std::ostream& operator << (std::ostream& os, Plane E)
57 {
58 os << " P=" << E.P << std::endl;
59 os << "n=" << E.n << std::endl;
60 os << "e1=" << E.e1 << std::endl;
61 os << "e2=" << E.e2 << std::endl;
62 return os;
63 }
66 };
67
68 const Plane Exz = Plane(maths::Vector<double>(0.0, 0.0, 0.0), maths::ex, maths::ez);
69 const Plane Exy = Plane(maths::Vector<double>(0.0, 0.0, 0.0), maths::ex, maths::ey);
70 }
71}
72#endif
Template class for threedimensional vectors.
Definition vector.h:57
Plane(const maths::Vector< double > &P, const maths::Vector< double > &e1, const maths::Vector< double > &e2)
Constructor.
maths::Vector< double > e2
Definition plane.h:65
void binWrite(std::ofstream &os)
writes plane into the binary file stream os
double distance(maths::Vector< double > R)
distance between the point R and the plane
void toString(char *S)
void norm()
normal of the plane
friend std::ostream & operator<<(std::ostream &os, Plane E)
Definition plane.h:56
void binRead(std::ifstream &is)
reads plane from binary file stream is
maths::Vector< double > e1
Definition plane.h:65
void rotate(double dr, double dtheta, double dphi)
void intersectSphere(maths::Vector< double > O, double r)
find intersection point with a sphere
maths::Vector< double > n
Definition plane.h:65
maths::Vector< double > P
Definition plane.h:65
This file contains the definition of a template for 3x3 matrices, which can be used together with the...
Raytracer used for ultrashort pulse calculation with raytracing only.
Definition asphericLens.h:6
const Plane Exy
Definition plane.h:69
const Plane Exz
Definition plane.h:68
This class is used for the iray class. This class is intended for internal use only....
Definition fresnel.h:7
This file contains the Vector template class and some useful functions around this class.