728x90
화면에 Text를 표시하기 위해 적용할 수 있는 두가지 방법별로 설명한다.
1. vtkActor2D 를 사용하는 방법
vtkTextMapper singlineMapper = vtkTextMapper.New();
// 문자열을 mapper 에 입력한다.
singlineMapper.SetInput("Single line");
tprop = singlineMapper.GetTextProperty();
tprop.ShallowCopy(commonProp);
tprop.SetVerticalJustificationToCentered();
tprop.SetJustificationToCentered();
tprop.SetColor(colors.GetColor3d("Peacock").GetCppThis().Handle);
tprop.SetFontSize(20);
vtkActor2D singleLineActor2D = vtkActor2D.New();
singleLineActor2D.SetMapper(singlineMapper);
singleLineActor2D.GetPositionCoordinate().SetCoordinateSystemToNormalizedViewport();
singleLineActor2D.GetPositionCoordinate().SetValue(0.5, 0.5);
2. vtkTextActor 사용하는 방법
vtkTextActor 는 vtkTexturedActor2D를 상속한 클래스이다.
vtkTextMapper를 사용하지 않고 actor에 바로 문자열을 입력할 수 있으며 SetMapper를 입력하지 않아도 된다.
vtkTextActor textActor = vtkTextActor.New();
textActor.SetTextScaleModeToProp(); // GetPosition2 를 이용한 text width, height 설정을 적용하여 text size를 변경하도록 함.
// SetDisplayPosition 또는 Position1 을 이용하여 위치 조정
//textActor.SetDisplayPosition(90,50);
textActor.SetInput("Scaled Text");
// GetPositionCoordinate Display 할 위치 설정
textActor.GetPositionCoordinate().SetCoordinateSystemToNormalizedViewport();
textActor.GetPositionCoordinate().SetValue(0.0, 0.0);
textActor.GetPosition2Coordinate().SetCoordinateSystemToNormalizedViewport();
textActor.GetPosition2Coordinate().SetValue(0.6, 0.1);
tprop = textActor.GetTextProperty();
tprop.ShallowCopy(commonProp);
// SetTextScaleModeToProp 설정시에는 Justification 설정이 적용되지 않음.
tprop.SetVerticalJustificationToCentered();
728x90
728x90