GOAT (Geometrical optics application tool) 0.1
Loading...
Searching...
No Matches
objectshape.h File Reference
#include "matrix.h"
#include "vector.h"
#include <fstream>

Go to the source code of this file.

Classes

class  GOAT::raytracing::ObjectShape
 Abstract base class for all volume objects This abstract class provides a template for all volume objects. The refractive index is complex to be able to consider absorption. 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 BOX   3
#define COMPOUND   8
#define EPS   1E-10*r0
#define ERYTHROCYTE   11
#define FUNSURF   2
#define HOHLFASER   13
#define INF   1.0/0.0
#define KEGELSTUMPF   7
#define KEGELSTUMPF_HOHL   9
#define KREISKEGEL   6
#define LINSE   15
#define NINCTYPES   14
#define OBJECTSHAPE_ASPHERIC_LENS   10003
 Shape is an aspheric lens.
#define OBJECTSHAPE_BOX   10005
 Shape is a box.
#define OBJECTSHAPE_CONE   10002
 Shape is a cone.
#define OBJECTSHAPE_CYLINDER   10006
 Shape is a cylinder.
#define OBJECTSHAPE_ELLIPSOID   10000
 Shape is an ellipsoid.
#define OBJECTSHAPE_NO_SHAPE   -1
#define OBJECTSHAPE_SPHERIC_LENS   10004
 Shape is a spheric lens.
#define OBJECTSHAPE_SURFACE   10001
 Shape is triangulated surface.
#define OBJECTSHAPE_VORTEX_PLATE   10007
 Shape is a vortex plate.
#define SPIEGEL   12
#define SUPERELLIPSOID   4
#define SUPERELLIPSOID_D   17
#define SUPERELLIPSOID_N   10
#define ZYLINDER   5
#define ZYLINDER_HEXAGONAL   16

Enumerations

enum class  GOAT::raytracing::NFUNCTYPE {
  GOAT::raytracing::vacuum , GOAT::raytracing::air , GOAT::raytracing::bk7 , GOAT::raytracing::silica ,
  GOAT::raytracing::lasf5 , GOAT::raytracing::pmma
}

Functions

maths::Matrix< double > GOAT::raytracing::computeInertia (ObjectShape *F)
 calculates inertia matrix
bool GOAT::raytracing::intersectionTest (ObjectShape &A, ObjectShape &B)
 Test if object A and object B may intersect each other (i.e. the bounding boxes around the objects intersect each other)

Macro Definition Documentation

◆ BOX

#define BOX   3

Definition at line 51 of file objectshape.h.

◆ COMPOUND

#define COMPOUND   8

Definition at line 42 of file objectshape.h.

◆ EPS

#define EPS   1E-10*r0

Definition at line 52 of file objectshape.h.

◆ ERYTHROCYTE

#define ERYTHROCYTE   11

Definition at line 45 of file objectshape.h.

◆ FUNSURF

#define FUNSURF   2

Definition at line 36 of file objectshape.h.

◆ HOHLFASER

#define HOHLFASER   13

Definition at line 47 of file objectshape.h.

◆ INF

#define INF   1.0/0.0

Definition at line 16 of file objectshape.h.

◆ KEGELSTUMPF

#define KEGELSTUMPF   7

Definition at line 41 of file objectshape.h.

◆ KEGELSTUMPF_HOHL

#define KEGELSTUMPF_HOHL   9

Definition at line 46 of file objectshape.h.

◆ KREISKEGEL

#define KREISKEGEL   6

Definition at line 40 of file objectshape.h.

◆ LINSE

#define LINSE   15

Definition at line 49 of file objectshape.h.

◆ NINCTYPES

#define NINCTYPES   14

Definition at line 48 of file objectshape.h.

◆ OBJECTSHAPE_ASPHERIC_LENS

#define OBJECTSHAPE_ASPHERIC_LENS   10003

Shape is an aspheric lens.

Definition at line 29 of file objectshape.h.

◆ OBJECTSHAPE_BOX

#define OBJECTSHAPE_BOX   10005

Shape is a box.

Definition at line 31 of file objectshape.h.

◆ OBJECTSHAPE_CONE

#define OBJECTSHAPE_CONE   10002

Shape is a cone.

Definition at line 28 of file objectshape.h.

◆ OBJECTSHAPE_CYLINDER

#define OBJECTSHAPE_CYLINDER   10006

Shape is a cylinder.

Definition at line 32 of file objectshape.h.

◆ OBJECTSHAPE_ELLIPSOID

#define OBJECTSHAPE_ELLIPSOID   10000

Shape is an ellipsoid.

Definition at line 26 of file objectshape.h.

◆ OBJECTSHAPE_NO_SHAPE

#define OBJECTSHAPE_NO_SHAPE   -1

Definition at line 25 of file objectshape.h.

◆ OBJECTSHAPE_SPHERIC_LENS

#define OBJECTSHAPE_SPHERIC_LENS   10004

Shape is a spheric lens.

Definition at line 30 of file objectshape.h.

◆ OBJECTSHAPE_SURFACE

#define OBJECTSHAPE_SURFACE   10001

Shape is triangulated surface.

Definition at line 27 of file objectshape.h.

◆ OBJECTSHAPE_VORTEX_PLATE

#define OBJECTSHAPE_VORTEX_PLATE   10007

Shape is a vortex plate.

Definition at line 33 of file objectshape.h.

◆ SPIEGEL

#define SPIEGEL   12

Definition at line 43 of file objectshape.h.

◆ SUPERELLIPSOID

#define SUPERELLIPSOID   4

Definition at line 38 of file objectshape.h.

◆ SUPERELLIPSOID_D

#define SUPERELLIPSOID_D   17

Definition at line 37 of file objectshape.h.

◆ SUPERELLIPSOID_N

#define SUPERELLIPSOID_N   10

Definition at line 44 of file objectshape.h.

◆ ZYLINDER

#define ZYLINDER   5

Definition at line 39 of file objectshape.h.

◆ ZYLINDER_HEXAGONAL

#define ZYLINDER_HEXAGONAL   16

Definition at line 50 of file objectshape.h.