Earl;
Yes, you answer helped a lot.
However I "sort of" found a answer to my problem by trying a few
things.
For the textout routine, I
changed it to this:
originial--
PROCEDURE
TPantoGraph.TextOut (CONST v: TVector; CONST Text:
STRING);
VAR
i,j:
INTEGER;
BEGIN
WorldToPixel (v,
i,j);
Canvas.TextOut (i, jMax - j -
Canvas.TextHeight(Text), Text);
END {OutText};
modified--
PROCEDURE TPantoGraph.TextOut
(CONST v: TVector; CONST Text: STRING);
VAR
i,j: INTEGER;
u :
TVector;
BEGIN
u := v;
IF positioning = positionRelative // Adjustment for
relative positioning
THEN
BEGIN
u := AddVectors(uSaveW,
u);
uSaveW := u
END;
u :=
ToCartesian (coordinate,u);
VectorTransform
(u,uSaveX);
WorldToPixel (uSaveX,
i,j);
IF ClipFlag
THEN
BEGIN
IF (i >= iWest) AND (i
<= iEast) AND (j >= jSouth) AND (j <=
jNorth)
THEN Canvas.TextOut (i, jMax - j
- Canvas.TextHeight(Text), Text);
END
ELSE Canvas.TextOut (i, jMax - j -
Canvas.TextHeight(Text), Text);
END {OutText};
This doesnt draw "rotatable" 3D
text, but it does place text in 3D space on the screen, good enough for me now.
I am going to check out the
Hershey font routines too, looks interesting.
Thanks
Earl;
Chris
Many of the vector routines in TPantograph were
written before Windows existed along with the Windows API calls such as
TextOut. What I'm trying to say is that TPantograph doesn't know
anything about TextOut and doesn't attempt to do 2D/3D operations on
TextOut. The TPantograph writes on a Canvas, and TextOut can write on a
canvas, but there's no connection at all.
To work with text with TPantograph, you need to
create your own "stroke" fonts that draw each character as a set of 2D or 3D
vectors. The only example of this with TPantograph is the football field
example:
You can find some stroke font characters
here:
Sorry that this doesn't directly answer your
question, but I hope this helps.
--
----- Original Message -----
To: 'EarlGlynn
Sent: Thursday, May 16, 2002 6:52
AM
Subject: PantoGraph Question...
Earl;
I seem to be having trouble
with using the "TextOut" routine. It doesn't display the text at the
location, 3d via Vector3D(), that I specify. It always appears at the same
place, never rotates with everything else.
Could you please provide me
with a small code snippet to correctly use "TextOut"?
I want to 'attach' text to
specific 3D points & rotate the text with the 3D
points.
Thanks.
Chris Campbell
Northrop Grumman Newport News
Dept. E12, Bldg. 600-2
Phone:
757-688-6326