This class provides a cylindrical object. Here, a cylindrical object is provided. The reference point is situated in the center of bottom face. The cylinder is described by its height and radius. It is oriented in the z-direction.
More...
|
| void | binRead (std::ifstream &is) |
| | binary reading from file
|
| void | binWrite (std::ofstream &os) |
| | binary writing to file
|
| maths::Vector< double > | calcCoM () |
| | Calculates the center of mass, which is in the case of an ellipsoid simply its center, P.
|
| maths::Matrix< double > | computeInertia () |
| | Calculates the inertia matrix of the ellipsoid.
|
| | Cylinder () |
| | Cylinder (const maths::Vector< double > &P, double r, double h, std::complex< double > n, double r0=1.0, const maths::Matrix< std::complex< double > > alpha=maths::CUNITY, const maths::Vector< double > &Ex=maths::ex, const maths::Vector< double > &Ey=maths::ey, const maths::Vector< double > &Ez=maths::ez) |
| | Cylinder (Cylinder &c) |
| | Cylinder (ObjectShape &os) |
| double | height () |
| void | initQuad () |
| | Sets the circumscribing cuboid (for use in inelastic calculations)
|
| bool | isInside (const maths::Vector< double > &p) |
| | checks if point P is inside the object
|
| bool | next (const maths::Vector< double > &Ps, const maths::Vector< double > &K, maths::Vector< double > &pout) |
| | searches for the next (nearest) intersection of a ray with the object, p: current position of the ray, k: direction of the ray, pout: position of the crossing point. Returns true, if a crossing point was found.
|
| maths::Vector< double > | norm (const maths::Vector< double > &p) |
| | surface normal at the point P
|
| Cylinder & | operator= (Cylinder &f) |
| Cylinder & | operator= (Cylinder f) |
| double | radius () |
| void | scale (double sf) |
| | Set the scaling factor (the half axis will be multiplied by this factor)
|
| void | setHeight (double h) |
| | set the height of the cylinder
|
| void | setPos (double x, double y, double z) |
| | sets reference point P
|
| void | setPos (maths::Vector< double > r) |
| | sets reference point P
|
| void | setr0 (double r0) |
| | defines the radius of the calculation sphere
|
| void | setRadius (double r) |
| double | volume () |
| | Calculates the volume of the ellipsoid.
|
| std::complex< double > | getn () |
| | returns refractive index for inelastic (RRT) calculation
|
| std::complex< double > | getninel () |
| | returns refractive index
|
| bool | getVisible () |
| | show the visiblity state (used in GOATvis)
|
| bool | isActive () |
| | returns true if the object should be considered for inelastic calculation
|
| bool | isOutsideWorld () |
| | Test if bounding box is (partly) outside the calculation space.
|
| | ObjectShape () |
| | ObjectShape (const maths::Vector< double > &P, std::complex< double > n, GOAT::maths::Matrix< std::complex< double > > alpha, const maths::Vector< double > &Ex=maths::ex, const maths::Vector< double > &Ey=maths::ey, const maths::Vector< double > &Ez=maths::ez, const int type=-1) |
| | Constructor, as template for all derived classes.
|
| | ObjectShape (const ObjectShape &F) |
| void | rotate (maths::Vector< double > A, double phi) |
| | sets the matrix for the transformation between object's coordinate system and outer coordinate system, A: rotation axis, phi: angle for rotation around A
|
| void | scale (double sf) |
| | sets scaling of the shape by the factor sf
|
| void | setActive (bool active) |
| | sets flag if the object is inelastic active, i.e. it will be considered for inelastic calculation
|
| void | setAlpha (double Alpha) |
| | sets rotation angle around x-axis
|
| void | setBeta (double Beta) |
| | sets rotation angle around y-axis
|
| void | setCenter (maths::Vector< double > P) |
| | sets Center to P (check, if function is necessary)
|
| void | setCenter2CoM () |
| | Calculates the center of mass (CoM) and sets the object's reference point to the CoM.
|
| void | setGamma (double Gamma) |
| | sets rotation angle around z-axis
|
| void | setMatrix (double alpha, double beta, double gamma) |
| | sets the matrix for the transformation between object's coordinate system and outer coordinate system, alpha, beta, gamma: angles (rotation around x-, y- and z-axis) to calculate transformation matrix
|
| void | setMatrix (maths::Matrix< double > H) |
| | sets the matrix for the transformation between object's coordinate system and outer coordinate system, H: transformation matrix
|
| void | setn (std::complex< double > n) |
| | sets refractive index
|
| void | setninel (std::complex< double > ninel) |
| | sets refractive index for inelastic (RRT) calculation
|
| void | setPolMatrix (maths::Matrix< std::complex< double > >alpha) |
| | sets polarisability matrix
|
| void | setVisible (bool visible) |
| | set visiblity (used in GOATvis)
|
| int | Type () |
| | returns the object's type
|
|
| bool | Active |
| | should the object be considered for inelastic (RRT) calculations?
|
| maths::Matrix< std::complex< double > > | alpha |
| | polarisability matrix
|
| maths::Vector< double > | e [3] |
| | unity vectors, describing the directions of the local coordinate system
|
| double | Ealpha |
| double | Ebeta |
| double | Egamma |
| | angles through which the object was rotated (around the x- (Ealpha), then the y- (Ebeta) and finally the z-axis (Egamma))
|
| maths::Matrix< double > | H |
| std::complex< double > | n |
| | refractive index of the object
|
| std::function< std::complex< double >(double)> | nfunc |
| NFUNCTYPE | nfuncType =NFUNCTYPE::vacuum |
| std::complex< double > | ninel |
| | refractive index of the object, used for inelastic (RRT) calculation
|
| maths::Vector< double > | P |
| | position of the object
|
| maths::Vector< double > | por |
| | corners of the circumferent cuboid (lower left corner and upper right corner)
|
| maths::Vector< double > | pul |
| maths::Matrix< double > | R |
| | matrices for the transformation in the local coordinate system (H) and back to the calculation system (R)
|
| double | r0 |
| | radius of the calculation sphere
|
| double | rho |
| | mass density in \( kg/m^3 \)
|
| double | sf =1 |
| | scaling factor, it is used to scale the shape of the object
|
| int | type |
| | type of the object
|
| bool | visible =true |
This class provides a cylindrical object. Here, a cylindrical object is provided. The reference point is situated in the center of bottom face. The cylinder is described by its height and radius. It is oriented in the z-direction.
Definition at line 12 of file cylinder.h.