Hi,
I had a little look at these methods.
They apply to the GraphisInterface.Viewport class (not to the DatabaseServices.Viewport class).
I do not know the difference between Model and World forms, but the World forms works like WCS2DCS ou DCS2WCS.
I used EyeToWorldTransform in
CustomOsnap to display osnap glyphes parallel to the screen.
In
this message, I tried to correct the transformation matrix so that the attributes text display parallel to the screen whatever the view.
I should have use EyeToWorldTransform to write:
Point3d org = attRef.Position;
Matrix3d viewMat =
Matrix3d.Displacement(vd.Viewport.CameraTarget.GetVectorTo(org)) *
vd.Viewport.EyeToWorldTransform *
Matrix3d
.WorldToPlane(new Plane
(org, attRef
.Normal)) * Matrix3d.Rotation(-attRef.Rotation, attRef.Normal, org);
instead of:
Point3d org = attRef.Position;
Vector3d zVec = vd.Viewport.ViewDirection;
Vector3d yVec = vd.Viewport.CameraUpVector;
Vector3d xVec = yVec.CrossProduct(zVec).GetNormal();
Matrix3d viewMat =
Matrix3d.AlignCoordinateSystem(
Point3d.Origin, Vector3d.XAxis, Vector3d.YAxis, Vector3d.ZAxis,
org, xVec, yVec, zVec) *
Matrix3d
.WorldToPlane(new Plane
(org, attRef
.Normal)) * Matrix3d.Rotation(-attRef.Rotation, attRef.Normal, org);