40 #ifndef USOLIDS_UExtrudedSolid_HH 
   41 #define USOLIDS_UExtrudedSolid_HH 
   68                    std::vector<UVector2>  polygon,
 
   69                    std::vector<ZSection>  zsections);
 
   73                    std::vector<UVector2>  polygon,
 
   86     inline std::vector<UVector2> 
GetPolygon() 
const;
 
  101                              bool aAccurate = 
false) 
const;
 
  106     std::ostream& 
StreamInfo(std::ostream& os) 
const;
 
  119     void Initialise(std::vector<UVector2>& polygon,
 
  120                     std::vector<ZSection>& zsections);
 
  121     void Initialise(std::vector<UVector2>& polygon, 
double dz,
 
void Initialise(std::vector< UVector2 > &polygon, std::vector< ZSection > &zsections)
 
std::ostream & StreamInfo(std::ostream &os) const 
 
std::vector< double > fKScales
 
virtual ~UExtrudedSolid()
 
bool IsPointInside(UVector2 a, UVector2 b, UVector2 c, UVector2 p) const 
 
double SafetyFromInside(const UVector3 &aPoint, bool aAccurate=false) const 
 
ZSection GetZSection(int index) const 
 
UVector2 ProjectPoint(const UVector3 &point) const 
 
std::vector< std::vector< int > > fTriangles
 
bool IsSameLineSegment(UVector2 p, UVector2 l1, UVector2 l2) const 
 
VUFacet * MakeUpFacet(int ind1, int ind2, int ind3) const 
 
std::vector< UVector2 > fKOffsets
 
std::vector< double > fScale0s
 
UGeometryType fGeometryType
 
EnumInside Inside(const UVector3 &aPoint) const 
 
UGeometryType GetEntityType() const 
 
std::vector< UVector2 > fPolygon
 
bool AddGeneralPolygonFacets()
 
std::vector< UVector2 > GetPolygon() const 
 
double GetAngle(UVector2 p0, UVector2 pa, UVector2 pb) const 
 
std::vector< ZSection > fZSections
 
static const double kInfinity
 
std::vector< ZSection > GetZSections() const 
 
std::vector< UVector2 > fOffset0s
 
VUFacet * MakeDownFacet(int ind1, int ind2, int ind3) const 
 
UVector2 GetVertex(int index) const 
 
ZSection(double z, UVector2 offset, double scale)
 
int GetNofZSections() const 
 
bool IsSameSide(UVector2 p1, UVector2 p2, UVector2 l1, UVector2 l2) const 
 
std::string UGeometryType
 
UExtrudedSolid & operator=(const UExtrudedSolid &rhs)
 
int GetNofVertices() const 
 
bool IsSameLine(UVector2 p, UVector2 l1, UVector2 l2) const 
 
void ComputeProjectionParameters()
 
double DistanceToOut(const UVector3 &aPoint, const UVector3 &aDirection, UVector3 &aNormalVector, bool &aConvex, double aPstep=UUtils::kInfinity) const