// coorMap = null case for use when loading rocks from database public RockViewModel(Rock aRock, Canvas canvas, CoordinateMapper coorMap = null) { MyRock = aRock; BCanvas = canvas; BoulderShape = CreateBoulderShape(); CameraSpacePoint csp = new CameraSpacePoint(); csp.X = (float)aRock.CoorX.GetValueOrDefault(0); csp.Y = (float)aRock.CoorY.GetValueOrDefault(0); csp.Z = (float)aRock.CoorZ.GetValueOrDefault(0); if (coorMap != null) { bCanvasPoint = coorMap.MapCameraSpacePointToPointOnCanvas(csp, canvas, SpaceMode.Color); bPoint = canvas.GetNormalisedPoint(bCanvasPoint); } }