xmsstamper  1.0
xms::XmStampEndCapImpl Class Reference

Implementaion of XmStampEndCap. More...

Inheritance diagram for xms::XmStampEndCapImpl:
xms::XmStampEndCap

Public Member Functions

virtual void RotateEndCapCrossSections (XmStamperIo &a_io, VecPt3d2d &a_left, VecPt3d2d &a_right) override
 Rotates cross section points based on the angle specified for an end cap. More...
 
virtual void ConvertTo3dPts (XmStamperIo &a_io, XmStamper3dPts &a_3dpts) override
 Rotates cross section points based on the angle specified for an end cap. More...
 
void AdjustCrossSection (bool a_first, XmStamperIo &a_cap, VecPt3d2d &a_left, VecPt3d2d &a_right)
 Rotates cross section points based on the angle specified for an end cap. More...
 
void RotateCrossSection (double a_angle, Pt3d &a_cl, VecPt3d &a_cs)
 Rotates cross section points based on the angle specified for an end cap. More...
 
void RotateCrossSectionForType (bool a_first, Pt3d &a_clPt, XmStamperEndCap &a_cap, VecPt3d &a_left, VecPt3d &a_right, int a_leftShoulderIdx, int a_rightShoulderIdx)
 Rotates cross section points based on the angle specified for an end cap. More...
 
void GuidebankRotate (bool a_first, Pt3d &a_clPt, XmStamperEndCap &a_cap, VecPt3d &a_left, VecPt3d &a_right, int a_leftShoulderIdx, int a_rightShoulderIdx)
 Rotates cross section points based on the angle specified for an end cap. More...
 
void SlopedAbutmentRotateShoulders (double a_capAngle, int a_shoulderIdx, VecPt3d &a_cs)
 Rotates cross section points based on the angle specified for an end cap. More...
 
void WingWallRotate (bool a_first, double a_capAngle, double a_wwAngle, int a_shoulderIdx, VecPt3d &a_cs)
 Rotates cross section points based on the angle specified for an end cap. More...
 
void EndCapTo3dPts (bool a_first, XmStamperIo &a_io, XmStamper3dPts &a_3dpts)
 Converts an end cap to 3d pts defining the geometry. More...
 
void GuidebankEndCapTo3dPts (bool a_first, XmStamperIo &a_io, XmStamper3dPts &a_3dpts)
 Converts an end cap to 3d pts defining the geometry. More...
 
void SlopedAbutmentEndCapTo3dPts (bool a_first, XmStamperIo &a_io, XmStamper3dPts &a_3dpts)
 Converts an end cap to 3d pts defining the geometry. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from xms::XmStampEndCap
static BSHP< XmStampEndCapNew ()
 Creates a XmStampInterpCrossSection class. More...
 

Detailed Description

Implementaion of XmStampEndCap.

end cap operations for feature stamping

Definition at line 47 of file XmStampEndCap.cpp.

Member Function Documentation

◆ AdjustCrossSection()

void xms::XmStampEndCapImpl::AdjustCrossSection ( bool  a_first,
XmStamperIo a_io,
VecPt3d2d a_left,
VecPt3d2d a_right 
)

Rotates cross section points based on the angle specified for an end cap.

Parameters
[in]a_first- flag indicating if this is the first or last end cap
[in]a_io- stamper io class
[in,out]a_left- left side of cross section at end cap
[in,out]a_right- right side of cross section at end cap

Definition at line 136 of file XmStampEndCap.cpp.

References xms::XmStamperEndCap::m_angle, xms::XmStamperIo::m_centerLine, xms::XmStamperIo::m_cs, xms::XmStamperIo::m_firstEndCap, xms::XmStamperIo::m_lastEndCap, RotateCrossSection(), and RotateCrossSectionForType().

Referenced by RotateEndCapCrossSections().

◆ ConvertTo3dPts()

void xms::XmStampEndCapImpl::ConvertTo3dPts ( XmStamperIo a_io,
XmStamper3dPts a_3dpts 
)
overridevirtual

Rotates cross section points based on the angle specified for an end cap.

Parameters
[in]a_io- stamper io class
[out]a_3dpts- 3d points for the stamp operation

Definition at line 122 of file XmStampEndCap.cpp.

References EndCapTo3dPts().

◆ EndCapTo3dPts()

void xms::XmStampEndCapImpl::EndCapTo3dPts ( bool  a_first,
XmStamperIo a_io,
XmStamper3dPts a_3dpts 
)

Converts an end cap to 3d pts defining the geometry.

Parameters
[in]a_first- flag indicating if this is the first end cap (otherwise it is the last endcap)
[in]a_io- stamper io class
[out]a_3dpts- points filled in by the method

Definition at line 459 of file XmStampEndCap.cpp.

References GuidebankEndCapTo3dPts(), xms::XmStamper3dPts::m_first_endcap, xms::XmStamperIo::m_firstEndCap, xms::XmStamper3dPts::m_last_endcap, xms::XmStamperIo::m_lastEndCap, xms::stXs3dPts::m_left, xms::stXs3dPts::m_right, xms::XmStamperEndCap::m_type, SlopedAbutmentEndCapTo3dPts(), and XM_ENSURE_TRUE.

Referenced by ConvertTo3dPts().

◆ GuidebankEndCapTo3dPts()

void xms::XmStampEndCapImpl::GuidebankEndCapTo3dPts ( bool  a_first,
XmStamperIo a_io,
XmStamper3dPts a_3dpts 
)

Converts an end cap to 3d pts defining the geometry.

Parameters
[in]a_first- flag indicating if this is the first end cap (otherwise it is the last endcap)
[in]a_io- stamper io class
[out]a_3dpts- points filled in by the method

Definition at line 489 of file XmStampEndCap.cpp.

References xms::XmGuideBankUtil::New().

Referenced by EndCapTo3dPts().

◆ GuidebankRotate()

void xms::XmStampEndCapImpl::GuidebankRotate ( bool  a_first,
Pt3d a_clPt,
XmStamperEndCap a_cap,
VecPt3d a_left,
VecPt3d a_right,
int  a_leftShoulderIdx,
int  a_rightShoulderIdx 
)

Rotates cross section points based on the angle specified for an end cap.

Parameters
[in]a_first- flag indicating if this is the first or last end cap
[in]a_clPt- the center line point
[in]a_cap- end cap definition
[in,out]a_left- left side of cross section at end cap
[in,out]a_right- right side of cross section at end cap
[in]a_leftShoulderIdx- index in the left cross section of the shoulder
[in]a_rightShoulderIdx- index in the right cross section of the shoulder

Definition at line 256 of file XmStampEndCap.cpp.

References gmComponentMagnitudes(), xms::XmStamperEndCap::m_angle, xms::XmStamperEndCap::m_guidebank, xms::XmGuidebank::m_side, xms::XmGuidebank::m_width, Mdist(), XM_ENSURE_TRUE, and XM_PI.

Referenced by RotateCrossSectionForType().

◆ RotateCrossSection()

void xms::XmStampEndCapImpl::RotateCrossSection ( double  a_angle,
Pt3d a_clPt,
VecPt3d a_cs 
)

Rotates cross section points based on the angle specified for an end cap.

Parameters
[in]a_angle- angle in degrees for the end cap -45 to 45
[in]a_clPt- the center line point
[in,out]a_cs- 3d locations for cross section

Definition at line 175 of file XmStampEndCap.cpp.

References gmComponentMagnitudes(), and XM_PI.

Referenced by AdjustCrossSection().

◆ RotateCrossSectionForType()

void xms::XmStampEndCapImpl::RotateCrossSectionForType ( bool  a_first,
Pt3d a_clPt,
XmStamperEndCap a_cap,
VecPt3d a_left,
VecPt3d a_right,
int  a_leftShoulderIdx,
int  a_rightShoulderIdx 
)

Rotates cross section points based on the angle specified for an end cap.

Parameters
[in]a_first- flag indicating if this is the first or last end cap
[in]a_clPt- the center line point
[in]a_cap- end cap definition
[in,out]a_left- left side of cross section at end cap
[in,out]a_right- right side of cross section at end cap
[in]a_leftShoulderIdx- index in the left cross section of the shoulder
[in]a_rightShoulderIdx- index in the right cross section of the shoulder

Definition at line 215 of file XmStampEndCap.cpp.

References GuidebankRotate(), xms::XmStamperEndCap::m_angle, xms::XmStamperEndCap::m_type, xms::XmStamperEndCap::m_wingWall, xms::XmWingWall::m_wingWallAngle, SlopedAbutmentRotateShoulders(), WingWallRotate(), and XM_ENSURE_TRUE.

Referenced by AdjustCrossSection().

◆ RotateEndCapCrossSections()

void xms::XmStampEndCapImpl::RotateEndCapCrossSections ( XmStamperIo a_io,
VecPt3d2d a_left,
VecPt3d2d a_right 
)
overridevirtual

Rotates cross section points based on the angle specified for an end cap.

Parameters
[in]a_io- stamper io class
[in,out]a_left- left side of cross section at end cap
[in,out]a_right- right side of cross section at end cap

Definition at line 108 of file XmStampEndCap.cpp.

References AdjustCrossSection().

◆ SlopedAbutmentEndCapTo3dPts()

void xms::XmStampEndCapImpl::SlopedAbutmentEndCapTo3dPts ( bool  a_first,
XmStamperIo a_io,
XmStamper3dPts a_3dpts 
)

Converts an end cap to 3d pts defining the geometry.

Parameters
[in]a_first- flag indicating if this is the first end cap (otherwise it is the last endcap)
[in]a_io- stamper io class
[out]a_3dpts- points filled in by the method

Definition at line 503 of file XmStampEndCap.cpp.

References xms::XmSlopedAbutmentUtil::New().

Referenced by EndCapTo3dPts().

◆ SlopedAbutmentRotateShoulders()

void xms::XmStampEndCapImpl::SlopedAbutmentRotateShoulders ( double  a_capAngle,
int  a_shoulderIdx,
VecPt3d a_cs 
)

Rotates cross section points based on the angle specified for an end cap.

Parameters
[in]a_capAngle- angle in degrees for the end cap -45 to 45
[in]a_shoulderIdx- index in the cross section of the shoulder
[in,out]a_cs- 3d locations for cross section

Definition at line 384 of file XmStampEndCap.cpp.

References gmComponentMagnitudes(), XM_ENSURE_TRUE, and XM_PI.

Referenced by RotateCrossSectionForType().

◆ WingWallRotate()

void xms::XmStampEndCapImpl::WingWallRotate ( bool  a_first,
double  a_capAngle,
double  a_wwAngle,
int  a_shoulderIdx,
VecPt3d a_cs 
)

Rotates cross section points based on the angle specified for an end cap.

Parameters
[in]a_first- flag indicating if this is the first or last end cap
[in]a_capAngle- angle in degrees for the end cap -45 to 45
[in]a_wwAngle- angle for wing wall
[in]a_shoulderIdx- index in the cross section of the shoulder
[in,out]a_cs- 3d locations for cross section

Definition at line 419 of file XmStampEndCap.cpp.

References gmComponentMagnitudes(), XM_ENSURE_TRUE_NO_ASSERT, and XM_PI.

Referenced by RotateCrossSectionForType().


The documentation for this class was generated from the following file: