|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4TriangularFacet defines a facet with 3 vertices, used for the contruction of G4TessellatedSolid. Vertices shall be supplied in anti-clockwise order looking from the outsider of the solid where it belongs. More...
#include <G4TriangularFacet.hh>
Additional Inherited Members | |
| Protected Attributes inherited from G4VFacet | |
| G4double | kCarTolerance |
| Static Protected Attributes inherited from G4VFacet | |
| static const G4double | dirTolerance = 1.0E-14 |
G4TriangularFacet defines a facet with 3 vertices, used for the contruction of G4TessellatedSolid. Vertices shall be supplied in anti-clockwise order looking from the outsider of the solid where it belongs.
Definition at line 65 of file G4TriangularFacet.hh.
| G4TriangularFacet::G4TriangularFacet | ( | ) |
Default Constructor.
Definition at line 145 of file G4TriangularFacet.cc.
Referenced by G4TriangularFacet(), G4TriangularFacet(), GetClone(), GetFlippedFacet(), operator=(), operator=(), and SetVertexIndex().
| G4TriangularFacet::G4TriangularFacet | ( | const G4ThreeVector & | Pt0, |
| const G4ThreeVector & | vt1, | ||
| const G4ThreeVector & | vt2, | ||
| G4FacetVertexType | vType ) |
Constructs a facet with 3 vertices, given its parameters.
| [in] | Pt0 | The anchor point, first vertex. |
| [in] | vt1 | Second vertex. |
| [in] | vt2 | Third vertex. |
| [in] | vType | The positioning type for the vertices, either: "ABSOLUTE" - vertices set in anti-clockwise order when looking from the outsider. "RELATIVE" - first vertex is Pt0, second is Pt0+vt1, and the third vertex is Pt0+vt2, still in anti-clockwise order. |
Definition at line 55 of file G4TriangularFacet.cc.
|
override |
Destructor.
Definition at line 167 of file G4TriangularFacet.cc.
| G4TriangularFacet::G4TriangularFacet | ( | const G4TriangularFacet & | right | ) |
Copy and move constructors.
Definition at line 209 of file G4TriangularFacet.cc.
|
noexcept |
Definition at line 217 of file G4TriangularFacet.cc.
|
inlineoverridevirtual |
Returns the allocated memory (sizeof) by the facet.
Implements G4VFacet.
| G4ThreeVector G4TriangularFacet::Distance | ( | const G4ThreeVector & | p | ) |
Determines the vector between p and the closest point on the facet to p.
Definition at line 296 of file G4TriangularFacet.cc.
Referenced by Distance(), Distance(), and Intersect().
|
overridevirtual |
Determines the closest distance between point p and the facet.
Implements G4VFacet.
Definition at line 480 of file G4TriangularFacet.cc.
|
overridevirtual |
Determines the distance to point 'p'. kInfinity is returned if either: (1) outgoing is TRUE and the dot product of the normal vector to the facet and the displacement vector from p to the triangle is negative. (2) outgoing is FALSE and the dot product of the normal vector to the facet and the displacement vector from p to the triangle is positive.
Implements G4VFacet.
Definition at line 515 of file G4TriangularFacet.cc.
|
overridevirtual |
Calculates the furthest the triangle extends in fA particular direction defined by the vector axis.
Implements G4VFacet.
Definition at line 565 of file G4TriangularFacet.cc.
|
overridevirtual |
Auxiliary method for returning the surface area.
Implements G4VFacet.
Definition at line 801 of file G4TriangularFacet.cc.
|
inlineoverridevirtual |
Returns the circumcentre point of the facet.
Implements G4VFacet.
|
overridevirtual |
Returns a pointer to a newly allocated duplicate copy of the facet.
Implements G4VFacet.
Definition at line 261 of file G4TriangularFacet.cc.
|
overridevirtual |
Returns the type ID, "G4TriangularFacet" of the facet.
Implements G4VFacet.
Definition at line 808 of file G4TriangularFacet.cc.
| G4TriangularFacet * G4TriangularFacet::GetFlippedFacet | ( | ) |
Generates and returns an identical facet, but with the normal vector pointing at 180 degrees.
Definition at line 275 of file G4TriangularFacet.cc.
|
inlineoverridevirtual |
Returns the number of vertices, i.e. 3.
Implements G4VFacet.
|
overridevirtual |
Auxiliary method to get a uniform random point on the facet.
Implements G4VFacet.
Definition at line 783 of file G4TriangularFacet.cc.
|
inlineoverridevirtual |
Returns the radius to the anchor point and centered on the circumcentre.
Implements G4VFacet.
|
overridevirtual |
Returns/sets the normal vector to the facet.
Implements G4VFacet.
Definition at line 815 of file G4TriangularFacet.cc.
|
inlineoverridevirtual |
Returns the vertex based on the index 'i'.
Implements G4VFacet.
Referenced by Distance(), Extent(), G4TriangularFacet(), GetClone(), GetFlippedFacet(), GetPointOnFace(), and Intersect().
Accessor/setter for the vertex index.
Implements G4VFacet.
|
overridevirtual |
Finds the next intersection when going from 'p' in the direction of 'v'. If 'outgoing' is true, only consider the face if we are going out through the face; otherwise, if false, only consider the face if we are going in through the face.
Implements G4VFacet.
Definition at line 602 of file G4TriangularFacet.cc.
|
inlineoverridevirtual |
Returns true if the facet is defined.
Implements G4VFacet.
| G4TriangularFacet & G4TriangularFacet::operator= | ( | const G4TriangularFacet & | right | ) |
Assignment and move assignment operators.
Definition at line 226 of file G4TriangularFacet.cc.
|
noexcept |
Definition at line 242 of file G4TriangularFacet.cc.
| void G4TriangularFacet::SetSurfaceNormal | ( | const G4ThreeVector & | normal | ) |
Definition at line 822 of file G4TriangularFacet.cc.
|
inlineoverridevirtual |
Methods to set the vertices.
Implements G4VFacet.
Referenced by G4TriangularFacet(), and G4TriangularFacet().
Implements G4VFacet.
|
inlineoverridevirtual |
Implements G4VFacet.
Referenced by operator=(), operator=(), and ~G4TriangularFacet().