xmsstamper  1.0
XmSlopedAbutmentUtil.h
Go to the documentation of this file.
1 #pragma once
2 //------------------------------------------------------------------------------
7 //------------------------------------------------------------------------------
8 
9 //----- Included files ---------------------------------------------------------
10 
11 // 3. Standard library headers
12 
13 // 4. External library headers
15 #include <xmscore/misc/base_macros.h> // for XM_DISALLOW_COPY_AND_ASSIGN
16 #include <xmscore/stl/vector.h>
17 
18 // 5. Shared code headers
19 
20 //----- Namespace declaration --------------------------------------------------
21 namespace xms
22 {
23 //----- Forward declarations ---------------------------------------------------
24 class XmStamperIo;
25 class XmStamper3dPts;
26 struct cs3dPtIdx;
27 
28 //----- Constants / Enumerations -----------------------------------------------
29 
30 //----- Structs / Classes ------------------------------------------------------
31 
32 //----- Function prototypes ----------------------------------------------------
33 
38 {
39 public:
40  static BSHP<XmSlopedAbutmentUtil> New();
41 
43  virtual void DoConvertTo3d(bool a_first, XmStamperIo& a_io, XmStamper3dPts& a_3dpts) = 0;
44  virtual void GetEndCapEndPoints(cs3dPtIdx& a_ptIdx,
45  VecInt& a_firstEndCapEndPts,
46  VecInt& a_lastEndCapEndPts,
47  XmStamperIo& a_io) = 0;
48  virtual void GetEndCapBreakLines(XmStamperIo& a_io, cs3dPtIdx& a_ptIdx, VecInt& a_blTypes) = 0;
49 
50 private:
52 
54 
55 protected:
57  virtual ~XmSlopedAbutmentUtil();
58 
59 }; // XmSlopedAbutmentUtil
60 
61 } // namespace xms
std::vector< int > VecInt
static BSHP< XmSlopedAbutmentUtil > New()
Creates a XmSlopedAbutmentUtil class.
helper struct to store point indexes
class to hold 3d points generated by the stamping operation
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
Stamping inputs/outputs class.
Definition: XmStamperIo.h:171
Converts sloped abutment to 3d points.