19#ifndef _SURFACES_CIRCULAR_H
20#define _SURFACES_CIRCULAR_H
23#include <SurfaceShape.h>
33 bool m_obstruction =
false;
35 std::vector<GLfloat> m_vertices;
36 std::vector<GLfloat> m_grid;
37 std::vector<std::vector<Real>> m_edges;
40 void renderOpenGLAperture();
41 void renderOpenGLObstruction();
47 virtual std::vector<std::vector<Real>>
const &edges()
const override;
49 void setEccentricity(Real);
66 radiusEccentricity(Real &R, Real &e, Real width, Real height)
70 R = .5 * sqrt(width * height);
77 e = +sqrt(1 - b2 * b2);
79 e = -sqrt(1 - a2 * a2);
106 void setObstruction(
bool);
108 virtual bool intercept(
113 Vec3 const &direction)
const override;
115 virtual Real area()
const override;
116 virtual std::string name()
const override;
118 virtual void generatePoints(
122 unsigned int N)
override;
124 virtual void renderOpenGL()
override;
Definition: Circular.h:26
Definition: ReferenceFrame.h:59
Definition: SurfaceShape.h:31