Representación de esquemas
Los objetos seleccionados se pueden resaltar visualmente si se agrega la representación de contornos a través del componente de invalidación de estado jerárquico. En este capítulo se explica cómo se cambian los parámetros globales para la representación de contornos mediante la API de cliente.
Las propiedades de contorno son una configuración global. Todos los objetos que usen la representación de contorno emplean la misma configuración; no es posible utilizar un color de contorno por cada objeto.
Nota:
El efecto de representación de contorno no se puede aplicar a nubes de puntos.
Parámetros de OutlineSettings
La clase OutlineSettings
contiene la configuración relacionada con las propiedades globales del contorno. Expone los siguientes miembros:
Parámetro | Tipo | Descripción |
---|---|---|
Color |
Color4Ub | Color que se usa para dibujar el contorno. Se omite la parte alfa. |
PulseRateHz |
flotante | Velocidad a la que el contorno oscila por segundo. |
PulseIntensity |
flotante | Intensidad del efecto de pulso de contorno. Debe estar entre 0,0 para que no haya ningún pulso y 1,0 para el pulso completo. La intensidad establece implícitamente la opacidad mínima del contorno como MinOpacity = 1.0 - PulseIntensity . |
MaskTexture |
Textura 2D | Si se especifica, este textura tintará el color del contorno. La textura se muestrea en coordenadas de espacio de pantalla y varios parámetros (MaskScale , MaskScaleToFit , MaskOffset , MaskScrollSpeed , MaskRotationCenter , MaskRotationAngle , MaskRotationSpeed ) afectan al ajuste, la rotación y el desplazamiento de esa asignación. Esta característica se puede usar para lograr efectos como un degradado de color o contornos discontinuos. Consulte la segunda imagen de ejemplo a continuación. |
El efecto de cambiar el parámetro color
de amarillo (izquierda) a magenta (centro) y pulseIntensity
de 0 a 0,8 (derecha).
El efecto de aplicar una textura de máscara a los contornos: degradados de color alineados con pantalla (izquierda) o contornos discontinuos simulados mediante una textura de mosaico con franjas (derecha).
Ejemplo
En el código siguiente se muestra un ejemplo de configuración de parámetros de contorno a través de la API:
void SetOutlineParameters(RenderingSession session)
{
OutlineSettings outlineSettings = session.Connection.OutlineSettings;
outlineSettings.Color = new Color4Ub(255, 255, 0, 255);
outlineSettings.PulseRateHz = 2.0f;
outlineSettings.PulseIntensity = 0.5f;
}
void SetOutlineParameters(ApiHandle<RenderingSession> session)
{
ApiHandle<OutlineSettings> outlineSettings = session->Connection()->GetOutlineSettings();
Color4Ub outlineColor;
outlineColor.channels = { 255, 255, 0, 255 };
outlineSettings->SetColor(outlineColor);
outlineSettings->SetPulseRateHz(2.0f);
outlineSettings->SetPulseIntensity(0.5f);
}
Rendimiento
La representación de contornos puede tener un efecto significativo en el rendimiento de la representación. Este efecto varía en función de la relación espacial en el espacio de la pantalla entre los objetos seleccionados y no seleccionados para un marco determinado.