| xmsstamper
    1.0
    | 
Implementaion of XmStampInterpCrossSection. More...
 
  
 | Public Member Functions | |
| virtual void | InterpMissingCrossSections (XmStamperIo &a_) override | 
| Interpolates the missing cross sections. Modifys the m_cs member of the XmStamperIo class that is passed to this method.  More... | |
| virtual bool | ValidCrossSectionsExist (XmStamperIo &a_) override | 
| Interpolates the missing cross sections. Modifys the m_cs member of the XmStamperIo class that is passed to this method.  More... | |
| virtual void | InterpCs (XmStampCrossSection &a_prev, XmStampCrossSection &a_next, double a_percent, XmStampCrossSection &a_cs) override | 
| Interpolates a cross section from 2 other cross sections using a weight (a_percent)  More... | |
| int | FindFirstValidCrossSection () | 
| Finds the first valid cross section in the inputs.  More... | |
| int | FindLastValidCrossSection () | 
| Finds the last valid cross section in the inputs.  More... | |
| int | FindNextValidCrossSection (int a_idx) | 
| Finds the first valid cross section after a_idx in the inputs.  More... | |
| void | InterpCs (int a_prev, int a_next, double a_percent, XmStampCrossSection &a_cs) | 
| Interpolates a cross section from 2 other cross sections using a weight (a_percent)  More... | |
| void | InterpPts (VecPt3d &a_v1, int a_beg1, int a_end1, VecPt3d &a_v2, int a_beg2, int a_end2, double a_percent, VecPt3d &a_interpPts) | 
| Interpolates part of 2 cross sections to part of a new cross section. Separate interpolations are done for the cross section between the center line and the shoulder and then from the shoulder to boundary of the cross section.  More... | |
| void | CalcTvals (VecPt3d &a_v, int a_beg, int a_end, VecDbl &a_t) | 
| Calculates parametric t values from a vector of x,y coords based on x.  More... | |
| Pt3d | PtFromT (VecPt3d &a_v, int a_beg, VecDbl &a_t, double a_tval) | 
| Calculates the x,y location of the point at a_tval.  More... | |
| Public Attributes | |
| BSHP< Observer > | m_observer | 
| progress observer | |
| XmStamperIo * | m_io | 
| pointer to the inputs to the stamp operation | |
| Additional Inherited Members | |
|  Static Public Member Functions inherited from xms::XmStampInterpCrossSection | |
| static BSHP< XmStampInterpCrossSection > | New () | 
| Creates a XmStampInterpCrossSection class.  More... | |
Implementaion of XmStampInterpCrossSection.
Definition at line 44 of file XmStampInterpCrossSection.cpp.
| void xms::XmStampInterpCrossSectionImpl::CalcTvals | ( | VecPt3d & | a_v, | 
| int | a_beg, | ||
| int | a_end, | ||
| VecDbl & | a_t | ||
| ) | 
Calculates parametric t values from a vector of x,y coords based on x.
| [in] | a_v | vector of x,y | 
| [in] | a_beg | Index to the start of the section of a_v | 
| [in] | a_end | Index to the end of the section of a_v | 
| [out] | a_t | Vector of calculated t values | 
Definition at line 339 of file XmStampInterpCrossSection.cpp.
Referenced by InterpPts().
| int xms::XmStampInterpCrossSectionImpl::FindFirstValidCrossSection | ( | ) | 
Finds the first valid cross section in the inputs.
Definition at line 171 of file XmStampInterpCrossSection.cpp.
References FindNextValidCrossSection().
Referenced by InterpMissingCrossSections(), and ValidCrossSectionsExist().
| int xms::XmStampInterpCrossSectionImpl::FindLastValidCrossSection | ( | ) | 
Finds the last valid cross section in the inputs.
Definition at line 180 of file XmStampInterpCrossSection.cpp.
References xms::XmStamperIo::m_cs, and m_io.
Referenced by InterpMissingCrossSections().
| int xms::XmStampInterpCrossSectionImpl::FindNextValidCrossSection | ( | int | a_idx | ) | 
Finds the first valid cross section after a_idx in the inputs.
| [in] | a_idx | Index used to find the next valid cross section | 
Definition at line 199 of file XmStampInterpCrossSection.cpp.
References xms::XmStamperIo::m_cs, and m_io.
Referenced by FindFirstValidCrossSection(), and InterpMissingCrossSections().
| 
 | overridevirtual | 
Interpolates a cross section from 2 other cross sections using a weight (a_percent)
| [in] | a_prev | The first cross section used to interpolate. | 
| [in] | a_next | The second cross section used to interpolate. | 
| [in] | a_percent | Interpolation weight applied to the prev/next cross sections. | 
| [out] | a_cs | The newly interpolated cross section. | 
Definition at line 241 of file XmStampInterpCrossSection.cpp.
References InterpPts(), xms::XmStampCrossSection::m_idxLeftShoulder, xms::XmStampCrossSection::m_idxRightShoulder, xms::XmStampCrossSection::m_left, xms::XmStampCrossSection::m_leftMax, xms::XmStampCrossSection::m_right, xms::XmStampCrossSection::m_rightMax, and XM_ENSURE_TRUE.
Referenced by InterpCs(), and InterpMissingCrossSections().
| void xms::XmStampInterpCrossSectionImpl::InterpCs | ( | int | a_prev, | 
| int | a_next, | ||
| double | a_percent, | ||
| XmStampCrossSection & | a_cs | ||
| ) | 
Interpolates a cross section from 2 other cross sections using a weight (a_percent)
| [in] | a_prev | Index to the first cross section used to interpolate. | 
| [in] | a_next | Index to the second cross section used to interpolate. | 
| [in] | a_percent | Interpolation weight applied to the prev/next cross sections. | 
| [out] | a_cs | The newly interpolated cross section. | 
Definition at line 224 of file XmStampInterpCrossSection.cpp.
References InterpCs(), xms::XmStamperIo::m_cs, and m_io.
| 
 | overridevirtual | 
Interpolates the missing cross sections. Modifys the m_cs member of the XmStamperIo class that is passed to this method.
| [in,out] | a_ | The inputs and outputs for the feature stamp operation | 
Definition at line 100 of file XmStampInterpCrossSection.cpp.
References FindFirstValidCrossSection(), FindLastValidCrossSection(), FindNextValidCrossSection(), gmXyDistance(), InterpCs(), xms::XmStamperIo::m_centerLine, xms::XmStamperIo::m_cs, and m_io.
Referenced by XmStampInterpCrossSectionUnitTests::test0(), XmStampInterpCrossSectionUnitTests::test1(), and XmStampInterpCrossSectionUnitTests::testCrossSectionTutorial().
| void xms::XmStampInterpCrossSectionImpl::InterpPts | ( | VecPt3d & | a_v1, | 
| int | a_beg1, | ||
| int | a_end1, | ||
| VecPt3d & | a_v2, | ||
| int | a_beg2, | ||
| int | a_end2, | ||
| double | a_percent, | ||
| VecPt3d & | a_interpPts | ||
| ) | 
Interpolates part of 2 cross sections to part of a new cross section. Separate interpolations are done for the cross section between the center line and the shoulder and then from the shoulder to boundary of the cross section.
| [in] | a_v1 | pts from the first cross section | 
| [in] | a_beg1 | Index to the start of the section of a_v1 | 
| [in] | a_end1 | Index to the end of the section of a_v1 | 
| [in] | a_v2 | pts from the second cross section | 
| [in] | a_beg2 | Index to the start of the section of a_v2 | 
| [in] | a_end2 | Index to the end of the section of a_v2 | 
| [in] | a_percent | Interpolation weight applied to the prev/next cross sections. | 
| [out] | a_interpPts | Vector of newly interpolated points | 
Definition at line 304 of file XmStampInterpCrossSection.cpp.
References CalcTvals(), PtFromT(), xms::Pt3< T >::x, and xms::Pt3< T >::y.
Referenced by InterpCs().
| Pt3d xms::XmStampInterpCrossSectionImpl::PtFromT | ( | VecPt3d & | a_v, | 
| int | a_beg, | ||
| VecDbl & | a_t, | ||
| double | a_tval | ||
| ) | 
Calculates the x,y location of the point at a_tval.
| [in] | a_v | vector of x,y | 
| [in] | a_beg | Index to the start of the section of a_v | 
| [in] | a_t | Vector of calculated t values | 
| [in] | a_tval | Parametric tvalue | 
Definition at line 360 of file XmStampInterpCrossSection.cpp.
References xms::Pt3< T >::x, and xms::Pt3< T >::y.
Referenced by InterpPts().
| 
 | overridevirtual | 
Interpolates the missing cross sections. Modifys the m_cs member of the XmStamperIo class that is passed to this method.
| [in,out] | a_ | The inputs and outputs for the feature stamp operation | 
Definition at line 159 of file XmStampInterpCrossSection.cpp.
References FindFirstValidCrossSection(), and m_io.