119 bool doesOverlap(
double phiStart,
double phiEnd)
const;
222 orientation(1) * orientation(1) +
223 orientation(2) * orientation(2));
std::vector< RingSection * > RingSectionList
Tps< T > sec(const Tps< T > &x)
Secant.
Tps< T > sqrt(const Tps< T > &x)
Square root.
static double magnitude(const Vector_t &v)
Interface for a single beam element.
Component placement handler in ring geometry.
Vector_t componentOrientation_m
void setStartNormal(Vector_t orientation)
Set the normal vector to the section start plane.
RingSection & operator=(const RingSection &sec)
void rotate(Vector_t &vector) const
void setComponentPosition(Vector_t position)
Set the displacement for the component relative to the section start.
void setComponent(Component *component)
Set the component wrapped by RingSection.
void handleOffset()
Check whether component_m is a global offset and handle.
void setStartPosition(Vector_t pos)
Set a position on the plane of the section start.
Vector_t getStartNormal() const
Get the normal vector to the section start plane.
void setComponentOrientation(Vector_t orientation)
Set the rotation for the component relative to the section start.
bool getFieldValue(const Vector_t &pos, const Vector_t ¢roid, const double &t, Vector_t &E, Vector_t &B) const
Return field value in global coordinate system.
void rotateToCyclCoordinates(Vector_t &vec) const
Vector_t endOrientation_m
void rotate_back(Vector_t &vector) const
Vector_t startOrientation_m
bool isOnOrPastStartPlane(const Vector_t &pos) const
Return true if pos is on or past start plane.
Vector_t componentPosition_m
Component * getComponent() const
Get the component wrapped by RingSection.
Vector_t getComponentPosition() const
Get the displacement for the component relative to the section start.
bool doesOverlap(double phiStart, double phiEnd) const
Return true if the phi range overlaps bounding box elements.
Vector_t getEndPosition() const
Get a position on the section end plane.
void updateComponentOrientation()
Vector_t getStartPosition() const
Get a position on the plane of the section start.
void setEndPosition(Vector_t pos)
Set a position on the section end plane.
Vector_t getEndNormal() const
Get the normal vector to the section end plane.
void setEndNormal(Vector_t orientation)
Set the normal vector to the section end plane
Vector_t getComponentOrientation() const
Get the rotation for the component relative to the section start.
Vector_t & normalise(Vector_t &vector) const
std::vector< Vector_t > getVirtualBoundingBox() const
Get the "Virtual" bounding box for the RingSection.
void rotateToTCoordinates(Vector_t &vec) const
bool isPastEndPlane(const Vector_t &pos) const
Return true if pos is past end plane.
RingSection()
Construct a ring section - positions, orientations etc default to 0.
~RingSection()
Destructor - does nothing.
Vektor< double, 3 > Vector_t