-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathXBeamRateView.h
executable file
·133 lines (105 loc) · 4.68 KB
/
XBeamRateView.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
///////////////////////////////////////////////////////////////////////
// XBeamRate - Cross Beam Load Rating
// Copyright © 1999-2025 Washington State Department of Transportation
// Bridge and Structures Office
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the Alternate Route Open Source License as
// published by the Washington State Department of Transportation,
// Bridge and Structures Office.
//
// This program is distributed in the hope that it will be useful, but
// distribution is AS IS, WITHOUT ANY WARRANTY; without even the implied
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
// the Alternate Route Open Source License for more details.
//
// You should have received a copy of the Alternate Route Open Source
// License along with this program; if not, write to the Washington
// State Department of Transportation, Bridge and Structures Office,
// P.O. Box 47340, Olympia, WA 98503, USA or e-mail
///////////////////////////////////////////////////////////////////////
// XBeamRateView.h : interface of the CXBeamRateView class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_XBeamRateView_H__536DF63B_D04E_4BD4_A347_53ADDDDA2863__INCLUDED_)
#define AFX_XBeamRateView_H__536DF63B_D04E_4BD4_A347_53ADDDDA2863__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <DManip\DManip.h>
#include <DManipTools\DManipTools.h>
#include <XBeamRateExt\PointOfInterest.h>
class CXBeamRateDoc;
class CXBeamRateChildFrame;
#define HINT_SECTION_CUT_MOVED 1
class CXBeamRateView : public CDisplayView
{
friend CXBeamRateChildFrame;
protected: // create from serialization only
CXBeamRateView();
DECLARE_DYNCREATE(CXBeamRateView)
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CXBeamRateView)
public:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs) override;
protected:
virtual void OnDraw(CDC* pDC) override; // overridden to draw this view
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo) override;
virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo) override;
afx_msg void OnSize(UINT nType, int cx, int cy);
//}}AFX_VIRTUAL
virtual void OnInitialUpdate() override;
virtual DROPEFFECT CanDrop(COleDataObject* pDataObject,DWORD dwKeyState,IPoint2d* point) override;
virtual void OnDropped(COleDataObject* pDataObject,DROPEFFECT dropEffect,IPoint2d* point) override;
PierIDType GetPierID();
PierIndexType GetPierIndex();
xbrPointOfInterest GetCutLocation();
// Implementation
public:
virtual ~CXBeamRateView();
#ifdef _DEBUG
virtual void AssertValid() const override;
virtual void Dump(CDumpContext& dc) const override;
#endif
protected:
virtual void OnUpdate(CView* pSender,LPARAM lHint,CObject* pHint) override;
void UpdateDisplayObjects();
void UpdateRoadwayDisplayObjects();
void UpdateXBeamDisplayObjects();
void UpdateColumnDisplayObjects();
void UpdateBearingDisplayObjects();
void UpdateGirderDisplayObjects();
void UpdateRebarDisplayObjects();
void UpdateStirrupDisplayObjects();
void UpdateDimensionsDisplayObjects();
void UpdateSectionCutDisplayObjects();
void CreateLineDisplayObject(IPoint2d* pntStart,IPoint2d* pntEnd,iLineDisplayObject** ppLineDO);
void BuildDimensionLine(iDisplayList* pDL, IPoint2d* fromPoint,IPoint2d* toPoint,iDimensionLine** ppDimLine = 0, bool bOmitForZeroDistance = false);
void BuildDimensionLine(iDisplayList* pDL, IPoint2d* fromPoint,IPoint2d* toPoint,Float64 dimension,iDimensionLine** ppDimLine = nullptr);
void SkewGirderShape(Float64 skew,Float64 shear,IShape* pShape,IShape** ppSkewedShape);
virtual void HandleLButtonDblClk(UINT nFlags, CPoint logPoint) override;
IDType m_DisplayObjectID; // used to generate display object IDs
bool m_bIsIdealized;
CXBeamRateChildFrame* m_pFrame;
// Generated message map functions
protected:
//{{AFX_MSG(CXBeamRateView)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnExportPier();
afx_msg void OnEditPier();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
virtual void HandleContextMenu(CWnd* pWnd,CPoint logPoint) override;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_XBeamRateView_H__536DF63B_D04E_4BD4_A347_53ADDDDA2863__INCLUDED_)