52 lastIntersection.
Reset();
58 for ( i=1; i<bounds.size(); i++)
68 size_t entr = bounds.size();
70 for (i=0; i < entr; i++)
78 cnt+= segments.size();
88 for (i=0; i<bounds.size(); i++)
96 for (
size_t k=0; k<segments.size(); k++)
121 for (
size_t i=0; i<bounds.size(); i++)
123 c= bounds[i]->Project(tr);
128 while (newBounds.size()>0)
130 a = newBounds.back();
131 newBounds.pop_back();
132 for (G4CurveVector::iterator it=newBounds.begin();
133 it!=newBounds.end();)
137 it = newBounds.erase(it);
144 if ( a ) {
delete a; }
151 newBounds.push_back(c);
155 lof->
Init(newBounds);
184 for (
size_t i=0; i < bounds.size(); i++)
217 G4Exception(
"G4SurfaceBoundary::SplitWithPlane()",
"GeomSolids0001",
225 G4Exception(
"G4SurfaceBoundary::SplitWithCylinder()",
"GeomSolids0001",
std::vector< G4Curve * > G4CurveVector
void Init(const G4Point3D &)
G4Point3D GetBoxMin() const
void Extend(const G4Point3D &)
G4Point3D GetBoxMax() const
const G4CurveVector & GetSegments() const
G4Curve & GetCurve() const
virtual G4String GetEntityType() const
void SetSameSense(G4int sameSense0)
virtual G4int IntersectRay2D(const G4Ray &ray)=0
const G4Point3D & GetEnd() const
virtual G4bool Tangent(G4CurvePoint &cp, G4Vector3D &v)=0
void Init(const G4CurveVector &bounds0)
G4int IntersectRay2D(const G4Ray &ray)
G4SurfaceBoundary * Project(const G4Transform3D &tr=G4Transform3D::Identity)
G4bool Tangent(G4CurvePoint &cp, G4Vector3D &v)
void SplitWithCylinder(const G4CylindricalSurface &c, G4SurfaceBoundary *&new1, G4SurfaceBoundary *&new2)
void SplitWithPlane(const G4Point3D &p0, const G4Vector3D &n, G4SurfaceBoundary *&new1, G4SurfaceBoundary *&new2)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)