|
GOAT (Geometrical optics application tool) 0.1
|
#include <complex>#include <stdio.h>#include <stdlib.h>#include <fstream>#include <iostream>#include <math.h>#include "vector.h"#include "objectshape.h"#include <string.h>#include "triangle.h"Go to the source code of this file.
Classes | |
| class | GOAT::raytracing::surface |
| This class represents objects those surface is described by triangles. More... | |
Namespaces | |
| namespace | GOAT |
| This class is used for the iray class. This class is intended for internal use only. It defines a plane, defined by a central position and two directional vectors. | |
| namespace | GOAT::raytracing |
| Raytracer used for ultrashort pulse calculation with raytracing only. | |
Macros | |
| #define | OBJECTSHAPE_SURFACE_FILETYPE_NONE -1 |
| #define | OBJECTSHAPE_SURFACE_FILETYPE_SRF 0 |
| #define | OBJECTSHAPE_SURFACE_FILETYPE_STL 1 |
| #define | SQRT3 1.73205080756887729352744634150587236694280525381038062805580 |
Functions | |
| std::ostream & | GOAT::raytracing::operator<< (std::ostream &os, const surface &su) |
operators on surface | |
Operators, which act directly on the surface class | |
| surface & | GOAT::raytracing::generateBullet (double a, double h, double t, maths::Matrix< double > M=maths::UNITY) |
| generates a cylinder with hexagonal cross section with a pyramid-shaped tip on the upper surface. | |
| surface | GOAT::raytracing::generateEllipsoid (double a, double b, int N, double r0=1.0, maths::Matrix< double > M=maths::UNITY) |
| Generiert einen hexagonalen Zylinder mit Seitenl�nge a und H�he h und einer pyramidalen Spitze. | |
| surface | GOAT::raytracing::generateHexagonCylinder (double a, double h, maths::Matrix< double > M=maths::UNITY) |
| } | |
| surface | GOAT::raytracing::generateHollowHexagonalCylinder (double a, double h, double t, maths::Matrix< double > M=maths::UNITY) |
| generates a cylinder with hexagonal cross section. At the upper and lower faces, there are pyramidal dips. | |
| surface | GOAT::raytracing::generatePill (double a, double b, double h, int N, double r0=1.0, maths::Matrix< double > M=maths::UNITY) |
| Generates a cylinder with ellipsoidal caps. | |
| surface | GOAT::raytracing::generatePolyBullet (int n, double a, double h, double t, maths::Matrix< double > M=maths::UNITY) |
| void | GOAT::raytracing::getMinMax (int numTriangles, triangle *S, double &min, double &max) |
| calculates the longest and shortest side length | |
| surface | GOAT::raytracing::operator* (const maths::Matrix< double > &M, const surface &s) |
| surface | GOAT::raytracing::operator+ (const maths::Vector< double > &v, const surface &s) |
| adds vector v to all corners of the triangle list of the surface object s | |
| surface | GOAT::raytracing::operator+ (const surface &s, const maths::Vector< double > &v) |
| { | |
| surface | GOAT::raytracing::operator- (const maths::Vector< double > &v, const surface &s) |
| subtracts vector v from all corners of the triangle list of the surface object s | |
| surface | GOAT::raytracing::operator- (const surface &s, const maths::Vector< double > &v) |
| subtracts vector v from all corners of the triangle list of the surface object s | |