xmsstamper  1.0
XmUtil.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
14 #include <xmscore/stl/vector.h>
15 
16 // 5. Shared code headers
17 
18 //----- Namespace declaration --------------------------------------------------
19 namespace xms
20 {
21 //----- Forward declarations ---------------------------------------------------
22 class XmStampCrossSection;
23 
24 //----- Constants / Enumerations -----------------------------------------------
25 
26 //----- Structs / Classes ------------------------------------------------------
27 
28 //----- Function prototypes ----------------------------------------------------
29 
33 class XmUtil
34 {
35 public:
36  XmUtil();
37  virtual ~XmUtil();
38 
39  static void ConvertXsPointsTo3d(const Pt3d& a_cl,
40  const VecPt3d& a_pts,
41  double a_maxX,
42  double a_angle,
43  VecPt3d2d& a_3dpts);
44  static void EnsureVectorAtMaxX(VecPt3d& a_pts, double a_maxX);
45  static void GetAnglesFromCenterLine(size_t a_idx,
46  const VecPt3d& a_cl,
47  double& a_leftAngle,
48  double& a_rightAngle);
49  static void ScaleCrossSectionXvals(XmStampCrossSection& a_xs, double a_factor);
50 
52 
53 protected:
54 private:
56 }; // StSlopedAbutmentUtil
57 
58 } // namespace xms
Utility functions.
Definition: XmUtil.h:33
static void EnsureVectorAtMaxX(VecPt3d &a_pts, double a_maxX)
Makes sure the cross section goes to the maxX value.
Definition: XmUtil.cpp:94
static void GetAnglesFromCenterLine(size_t a_idx, const VecPt3d &a_cl, double &a_leftAngle, double &a_rightAngle)
Gets the angles of the left and right cross sections relative to the centerline.
Definition: XmUtil.cpp:153
Pt3< double > Pt3d
static void ConvertXsPointsTo3d(const Pt3d &a_cl, const VecPt3d &a_pts, double a_maxX, double a_angle, VecPt3d2d &a_3dpts)
Converts the left or right portion of a cross section data to 3d point locations using the angle from...
Definition: XmUtil.cpp:49
std::vector< VecPt3d > VecPt3d2d
Cross section definition for stamping.
Definition: XmStamperIo.h:142
std::vector< Pt3d > VecPt3d
static void ScaleCrossSectionXvals(XmStampCrossSection &a_xs, double a_factor)
Converts interpolated cross sections to 3d.
Definition: XmUtil.cpp:80