52 : pplace(direction, axis, Pt0), Convex(0), projectedBoundary(0)
73 : pplace( (*pVec)[0]-(*pVec)[1],
74 ((*pVec)[pVec->size()-1]-(*pVec)[0])
75 .cross((*pVec)[0]-(*pVec)[1]),
92 for (
size_t i=0; i< polygon->
GetSegments().size(); i++)
95 bounds.push_back(polygon);
103 for (
size_t i=0; i< polygon->
GetSegments().size(); i++)
106 bounds.push_back(polygon);
111 for (
size_t j=0; j< bounds.size(); j++)
186 NormalX =
new G4Ray(tmp, norm);
235 b = norm.
x() * dirx + norm.
y() * diry + norm.
z() * dirz;
237 if ( std::fabs(b) < perMillion )
247 a = norm.
x() * (srf_point.
x() - startx) +
248 norm.
y() * (srf_point.
y() - starty) +
249 norm.
z() * (srf_point.
z() - startz) ;
256 solx = startx + t * dirx;
257 soly = starty + t * diry;
258 solz = startz + t * dirz;
270 G4bool xhit = (dirx < 0 && solx <= startx) || (dirx >= 0 && solx >= startx);
271 G4bool yhit = (diry < 0 && soly <= starty) || (diry >= 0 && soly >= starty);
272 G4bool zhit = (dirz < 0 && solz <= startz) || (dirz >= 0 && solz >= startz);
274 if( xhit && yhit && zhit ) {
std::vector< G4Curve * > G4CurveVector
std::vector< G4Point3D > G4Point3DVector
HepGeom::Point3D< G4double > G4Point3D
const G4Point3D PINFINITY(kInfinity, kInfinity, kInfinity)
HepGeom::Vector3D< G4double > G4Vector3D
const G4Transform3D & GetToPlacementCoordinates() const
G4Point3D GetLocation() const
G4Vector3D GetAxis() const
G4Point3D GetBoxMin() const
G4Point3D GetBoxMax() const
const G4CurveVector & GetSegments() const
G4int Intersect(const G4Ray &G4Rayref)
G4double HowNear(const G4Vector3D &x) const
G4double ClosestDistanceToPoint(const G4Point3D &Pt)
static G4int CalcPlane3Pts(G4Plane &plane, const G4Point3D &a, const G4Point3D &b, const G4Point3D &c)
const G4Vector3D & GetDir() const
const G4Point3D & GetStart() const
G4int IntersectRay2D(const G4Ray &ray)
G4SurfaceBoundary * Project(const G4Transform3D &tr=G4Transform3D::Identity)
const G4BoundingBox3D & BBox() const
G4int GetSameSense() const
void SetBoundaries(G4CurveVector *)
void SetDistance(G4double Dist)
void SetSameSense(G4int sameSense0)
G4SurfaceBoundary surfaceBoundary
BasicVector3D< T > cross(const BasicVector3D< T > &v) const