BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
DoubleEllipseX Class Reference

Description

Definition at line 31 of file DoubleEllipse.h.

Inheritance diagram for DoubleEllipseX:
[legend]
Collaboration diagram for DoubleEllipseX:
[legend]

Public Member Functions

 DoubleEllipseX (double x1, double r1_y, double r1_z, double z1_b, double z1_t, double x2, double r2_y, double r2_z, double z2_b, double z2_t)
 
 ~DoubleEllipseX () override
 
virtual std::vector< R3 > vertices () const
 Retrieves a list of the vertices constituting this concrete shape. More...
 

Static Public Attributes

static const size_t N_Circle = 24
 

Protected Attributes

std::vector< R3 > m_vertices
 List of vertices initialized during construction. More...
 

Constructor & Destructor Documentation

◆ DoubleEllipseX()

DoubleEllipseX::DoubleEllipseX ( double  x1,
double  r1_y,
double  r1_z,
double  z1_b,
double  z1_t,
double  x2,
double  r2_y,
double  r2_z,
double  z2_b,
double  z2_t 
)

Definition at line 33 of file DoubleEllipse.cpp.

35 {
36  auto face_1 = EllipseVerticesXtrunc(x1, r1_y, r1_z, z1_b, z1_t);
37  size_t n_1 = face_1.size();
38  auto face_2 = EllipseVerticesXtrunc(x2, r2_y, r2_z, z2_b, z2_t);
39  m_vertices.resize(n_1 + face_2.size());
40  std::move(face_1.begin(), face_1.end(), m_vertices.begin());
41  std::move(face_2.begin(), face_2.end(), m_vertices.begin() + n_1);
42 }
std::vector< R3 > EllipseVerticesXtrunc(double x, double r_y, double r_z, double z_b, double z_t)
Generate vertices of centered vertical ellipse with given semi-axes at position x and truncation heig...
Definition: IShape3D.cpp:50
std::vector< R3 > m_vertices
List of vertices initialized during construction.
Definition: IShape3D.h:42

References EllipseVerticesXtrunc(), and IShape3D::m_vertices.

Here is the call graph for this function:

◆ ~DoubleEllipseX()

DoubleEllipseX::~DoubleEllipseX ( )
overridedefault

Member Function Documentation

◆ vertices()

std::vector< R3 > IShape3D::vertices ( ) const
virtualinherited

Retrieves a list of the vertices constituting this concrete shape.

Definition at line 23 of file IShape3D.cpp.

24 {
25  return m_vertices;
26 }

References IShape3D::m_vertices.

Member Data Documentation

◆ m_vertices

std::vector<R3> IShape3D::m_vertices
protectedinherited

◆ N_Circle

const size_t IShape3D::N_Circle = 24
staticinherited

The documentation for this class was generated from the following files: