-
Notifications
You must be signed in to change notification settings - Fork 1
/
IntersectionInfo.h
76 lines (56 loc) · 1.5 KB
/
IntersectionInfo.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
// IntersectionInfo.h: interface for the CIntersectionInfo class.
//
//////////////////////////////////////////////////////////////////////
# ifndef _INTERSECTIONINFO_H
# define _INTERSECTIONINFO_H
# include "Point3D.h"
# include "TexCoords.h"
# include "Vector.h"
# include "Color.h"
# include "Shape.h"
class CShape;
typedef enum {
ENTRY,
EXIT
}EIntersectionType;
class CIntersectionInfo
{
public:
// Object Construction
CIntersectionInfo ();
CIntersectionInfo (const CIntersectionInfo& obj1);
CIntersectionInfo (CPoint3D pt,
CVector normal,
CColor col,
CShape* pShape,
CVector vecIncoming,
CTexCoords texPt,
EIntersectionType eType
);
// Object destruction
virtual ~CIntersectionInfo();
// assignment
CIntersectionInfo& operator= (const CIntersectionInfo& that);
// Object interface
CVector GetNormal();
CColor GetColor();
CPoint3D GetPointOfIntersection();
CTexCoords GetTextureCoordinates();
CShape* GetShape();
CVector GetIncoming();
EIntersectionType GetIntersectionType();
void SetPointOfIntersection (CPoint3D pt);
void SetNormal (CVector vecNormal);
void SetColor (CColor colObject);
void SetTexCoords (CTexCoords texCoords);
protected:
// Protected Object variables
CPoint3D m_ptIntersection;
CVector m_vecNormal;
CVector m_vecIncoming;
CColor m_colObject;
CShape* m_pShapeObject;
CTexCoords m_texIntersection;
EIntersectionType m_eIntersectionType;
};
# endif