This class represents a cone. The cone is defined by the reference point (position), the height and the radius.
More...
|
| void | binRead (std::ifstream &os) |
| | binary reading from file
|
| void | binWrite (std::ofstream &os) |
| | binary writing to file
|
| maths::Vector< double > | calcCoM () |
| | calculates center of mass (needed by setCenter2CoM () )
|
| | Cone () |
| | Cone (maths::Vector< double > Pos, double radius, double height, 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) |
| | Constructor which defines the cone by the reference point, radius and height.
|
| double | getConeAngle () |
| | Returns the cone angle.
|
| double | getHeight () |
| | Returns the height of the cone.
|
| double | getRadius () |
| | Returns the radius of the cone.
|
| void | initQuad () |
| | calculates the circumferent cuboid (needed e.g. for the inelastic scattering calculations)
|
| bool | isInside (const maths::Vector< double > &p) |
| | checks if point P is inside the object
|
| bool | next (const maths::Vector< double > &p, const maths::Vector< double > &k, maths::Vector< double > &pout) |
| | Calculates next crossing point with ray. This method calculates the next crossing point with the entire cone.
|
| double | nextCone (const maths::Vector< double > &p, const maths::Vector< double > &k, maths::Vector< double > &pout) |
| | Calculates the next crossing point with the lateral surface of the cone. The method calculates the next crossing point with the lateral surface of the cone according to the algorithm described in the article: Ching-Kuang Shene, "V.1 - Computing the Intersection of a Line and a Cone" in Graphics Gems V, p. 227–231, Academic Press, 1995.
|
| maths::Vector< double > | norm (const maths::Vector< double > &P) |
| | surface normal at the point P
|
| void | scale (double sf) |
| void | setConeAngle (double coneAngle) |
| | Set the cone angle.
|
| void | setHeight (double height) |
| | Set the height of the cone.
|
| 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 radius) |
| | Set the radius of the cone.
|
| double | volume () |
| | returns the volume of the object
|
| | ~Cone () |
| 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 represents a cone. The cone is defined by the reference point (position), the height and the radius.
Definition at line 15 of file cone.h.