Graphics Reference
In-Depth Information
class
UWB
_
PrimitiveLine :
public
UWB
_
Primitive {
public
:
A:
virtual void
Update(
float
elapsed
_
seconds);
B:
virtual void
MouseDownVertex(
int
vertexID,
float
x,
float
y);
virtual void
MoveTo(
float
x,
float
y);
C:
void
SetStartPoint(
float
x,
float
y,
float
z=0.0f);
vec3
GetStartPoint()
const
;
.
protected
:
D:
void
DrawPrimitive( eLevelOfDetail lod, UWB
_
DrawHelper& draw
_
helper )
const
;
void
SetupDrawAttributes(UWB
_
DrawHelper& draw
_
helper)
const
;
E:
vec3
m
_
start, m
_
end;
// the end points on the line
};
A1:
void
UWB
_
PrimitiveLine::Update(
float
elapsed
_
seconds)
vec3
adjust
_
vec = m
_
velocity
*
elapsed
_
seconds;
m
_
start += adjust
_
vec; m
_
end += adjust
_
vec;
B1:
void
UWB
_
PrimitiveLine::MouseDownVertex(
int
vertexID,
float
x,
float
y)
if
(0 == vertexID) SetStartPoint(x,y);
SetEndPoint(x,y);
void
UWB
_
PrimitiveLine::MoveTo(
float
x,
float
y) { SetEndPoint(x,y); }
.
D2:
void
UWB
_
PrimitiveLine::SetupDrawAttributes(UWB
_
DrawHelper& draw
_
helper)
const
// super class to set color
__
super::SetupDrawAttributes(draw
_
helper);
// set current shading mode, and
draw
_
helper.SetShadeMode(m
_
ShadeMode);
// set the shading color
draw
_
helper.SetColor2(m
_
ShadingColor);
Source files.
uwbgl
_
PrimitiveLine1.h/cpp
files in the
Common Files/
Primitives
Listing 7.11.
The
UWB
_
PrimitiveLine
class (Tutorial 7.2).
subfolder
of
the
UWBGL
_
D3D
_
Lib5
project.
class
UWB
_
PrimitiveCircle :
public
UWB
_
Primitive {
public
:
virtual void
Update(
float
elapsed
_
seconds);
A:
B:
virtual void
MouseDownVertex(
int
vertexID,
float
x,
float
y);
virtual void
MoveTo(
float
x,
float
y);
Listing 7.12.
The
UWB
_
PrimitiveCircle
class (Tutorial 7.2).
Search WWH ::
Custom Search