Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Rotation3D (Clase)

Especifica la rotación 3D que se va a usar en una transformación.

Espacio de nombres:  System.Windows.Media.Media3D
Ensamblado:  PresentationCore (en PresentationCore.dll)

public abstract class Rotation3D : Animatable, 
	IFormattable

El tipo Rotation3D expone los siguientes miembros.

  NombreDescripción
Propiedad públicaCanFreezeObtiene un valor que indica si el objeto se puede convertir en no modificable. (Se hereda de Freezable).
Propiedad públicaDependencyObjectTypeObtiene el objeto DependencyObjectType que ajusta el tipo CLR de esta instancia.  (Se hereda de DependencyObject).
Propiedad públicaDispatcherObtiene el objeto Dispatcher al que está asociado DispatcherObject. (Se hereda de DispatcherObject).
Propiedad públicaHasAnimatedPropertiesObtiene un valor que indica si uno o más objetos AnimationClock se asocian a cualquiera de las propiedades de dependencia de este objeto. (Se hereda de Animatable).
Propiedad públicaMiembro estáticoIdentityIdentidad singleton Rotation3D.
Propiedad públicaIsFrozenObtiene un valor que indica si el objeto es modificable actualmente. (Se hereda de Freezable).
Propiedad públicaIsSealedObtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura). (Se hereda de DependencyObject).
Arriba

  NombreDescripción
Método públicoApplyAnimationClock(DependencyProperty, AnimationClock)Aplica un objeto AnimationClock al objeto DependencyProperty especificado. Si la propiedad ya está animada, se usa el comportamiento de entrega de SnapshotAndReplace. (Se hereda de Animatable).
Método públicoApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)Aplica un objeto AnimationClock al objeto DependencyProperty especificado. Si la propiedad ya está animada, se usa el objeto HandoffBehavior especificado. (Se hereda de Animatable).
Método públicoBeginAnimation(DependencyProperty, AnimationTimeline)Aplica una animación al objeto DependencyProperty especificado. La animación empieza cuando se representa el siguiente fotograma. Si la propiedad especificada ya está animada, se usa el comportamiento de entrega de SnapshotAndReplace. (Se hereda de Animatable).
Método públicoBeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)Aplica una animación al objeto DependencyProperty especificado. La animación empieza cuando se representa el siguiente fotograma. Si la propiedad especificada ya está animada, se usa el objeto HandoffBehavior especificado. (Se hereda de Animatable).
Método públicoCheckAccessDetermina si el subproceso de la llamada tiene acceso a DispatcherObject. (Se hereda de DispatcherObject).
Método públicoClearValue(DependencyProperty)Borra el valor local de una propiedad. La propiedad que se va a borrar se especifica mediante un identificador de DependencyProperty. (Se hereda de DependencyObject).
Método públicoClearValue(DependencyPropertyKey)Borra el valor local de una propiedad de sólo lectura. DependencyPropertyKey especifica la propiedad que se va a borrar. (Se hereda de DependencyObject).
Método públicoCloneCrea un clon modificable de este objeto Rotation3D y realiza copias en profundidad de sus valores. Cuando se copian propiedades de dependencia, este método copia las referencias de recursos y enlaces de datos (aunque no se resuelvan), pero no copia las animaciones ni sus valores actuales.
Método protegidoCloneCoreConvierte la instancia en un clon (copia en profundidad) de la clase Freezable especificada con los valores de propiedades base (no animadas). (Se hereda de Freezable).
Método públicoCloneCurrentValueCrea un clon modificable de este objeto Rotation3D y hace copias en profundidad de sus valores actuales. Las referencias de recursos, los enlaces de datos y las animaciones no se copian, pero sus valores actuales sí.
Método protegidoCloneCurrentValueCoreConvierte la instancia en un clon modificable (en profundidad) del objeto Freezable especificado utilizando los valores de propiedades actuales. (Se hereda de Freezable).
Método públicoCoerceValueConvierte el valor de la propiedad de dependencia especificada. Esto se logra invocando cualquier función de CoerceValueCallback especificada en los metadatos de la propiedad de dependencia cuando existe en el objeto DependencyObject de llamada. (Se hereda de DependencyObject).
Método protegidoCreateInstanceInicializa una nueva instancia de la clase Freezable. (Se hereda de Freezable).
Método protegidoCreateInstanceCoreCuando se implementa en una clase derivada, crea una nueva instancia de la clase Freezable derivada. (Se hereda de Freezable).
Método públicoEqualsDetermina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual. (Se hereda de DependencyObject).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoFreeze()Convierte el objeto actual en no modificable y establece su propiedad IsFrozen en true. (Se hereda de Freezable).
Método protegidoFreezeCoreConvierte este objeto Animatable en no modificable o determina si se puede convertir en no modificable. (Se hereda de Animatable).
Método públicoGetAnimationBaseValueDevuelve el valor no animado del objeto DependencyProperty especificado. (Se hereda de Animatable).
Método públicoGetAsFrozenCrea una copia inmovilizada de Freezable, con los valores de propiedades base (no animadas). Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia. (Se hereda de Freezable).
Método protegidoGetAsFrozenCoreConvierte la instancia en un clon inmovilizado de la clase Freezable especificada con los valores de propiedades base (no animadas). (Se hereda de Freezable).
Método públicoGetCurrentValueAsFrozenCrea una copia inmovilizada de Freezable con los valores de propiedad actuales. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia. (Se hereda de Freezable).
Método protegidoGetCurrentValueAsFrozenCoreConvierte la instancia actual en un clon inmovilizado de la clase Freezable especificada. Si el objeto tiene propiedades de dependencia animadas, se copian sus valores animados actuales. (Se hereda de Freezable).
Método públicoGetHashCodeObtiene un código hash de este objeto DependencyObject. (Se hereda de DependencyObject).
Método públicoGetLocalValueEnumeratorCrea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject. (Se hereda de DependencyObject).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoGetValueDevuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de DependencyObject. (Se hereda de DependencyObject).
Método públicoInvalidatePropertyVuelve a evaluar el valor efectivo para la propiedad de dependencia especificada. (Se hereda de DependencyObject).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoOnChangedSe llama cuando se modifica el objeto Freezable actual. (Se hereda de Freezable).
Método protegidoOnFreezablePropertyChanged(DependencyObject, DependencyObject)Se asegura de que se establecen los punteros contextuales adecuados para un miembro de datos DependencyObjectType que se acaba de establecer. (Se hereda de Freezable).
Método protegidoOnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)Este miembro es compatible con la infraestructura de Windows Presentation Foundation (WPF) y no debe usarse directamente desde el código. (Se hereda de Freezable).
Método protegidoOnPropertyChangedInvalida la implementación de DependencyObject de OnPropertyChanged para invocar también cualquier controlador Changed como respuesta a un cambio de propiedad de dependencia de tipo Freezable. (Se hereda de Freezable).
Método públicoReadLocalValueDevuelve el valor local de una propiedad de dependencia, si existe. (Se hereda de DependencyObject).
Método protegidoReadPreambleSe asegura de que se tiene acceso a Freezable desde un subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de las API que lean miembros de datos que no son propiedades de dependencia. (Se hereda de Freezable).
Método públicoSetCurrentValueEstablece el valor de una propiedad de dependencia sin cambiar el origen de su valor. (Se hereda de DependencyObject).
Método públicoSetValue(DependencyProperty, Object)Establece el valor local de una propiedad de dependencia, especificado por su identificador de propiedad de dependencia. (Se hereda de DependencyObject).
Método públicoSetValue(DependencyPropertyKey, Object)Establece el valor local de una propiedad de dependencia de sólo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia. (Se hereda de DependencyObject).
Método protegidoShouldSerializePropertyDevuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia proporcionada. (Se hereda de DependencyObject).
Método públicoToString()Devuelve una cadena que representa el objeto actual. (Invalida a Object.ToString()).
Método públicoToString(IFormatProvider)Devuelve String mediante un formato especificado que representa el Objectactual.
Método públicoVerifyAccessExige que el subproceso de la llamada tenga acceso a DispatcherObject. (Se hereda de DispatcherObject).
Método protegidoWritePostscriptProvoca el evento Changed de Freezable e invoca su método OnChanged. Las clases que se derivan de Freezable deben llamar a este método al final de cualquier API que modifique miembros de clase que no se almacenen como propiedades de dependencia. (Se hereda de Freezable).
Método protegidoWritePreambleComprueba que no se inmovilice Freezable y que se tiene acceso desde un contexto de subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de cualquier API que escriba en miembros de datos que no sean propiedades de dependencia. (Se hereda de Freezable).
Arriba

  NombreDescripción
Evento públicoChangedSe produce cuando se modifican la clase Freezable o un objeto que la contiene. (Se hereda de Freezable).
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privadoIFormattable.ToStringAplica formato al valor de la instancia actual utilizando el formato especificado.
Arriba

En el ejemplo siguiente se muestra cómo hacer que objeto 3D gire mientras se "tambalea" animando las propiedades Angle y Axis de un objeto AxisAngleRotation3D. Este objeto AxisAngleRotation3D especifica la transformación de giro del objeto 3D y así, animando sus propiedades, crea el efecto de giro deseado. Dentro del guión gráfico, se utiliza DoubleAnimation para animar la propiedad Angle, mientras que para animar Vector3DAnimation se utiliza la propiedad Axis.


<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
  <DockPanel>
    <Viewbox>
      <Canvas Width="321" Height="201">

        <!-- The Viewport3D provides a rendering surface for 3-D visual content. -->
        <Viewport3D Name="MyAnimatedObject"
          ClipToBounds="True" Width="150" Height="150"
          Canvas.Left="0" Canvas.Top="10">

          <!-- Defines the camera used to view the 3D object. -->
          <Viewport3D.Camera>
            <PerspectiveCamera x:Name="myPerspectiveCamera" Position="0,0,2" LookDirection="0,0,-1" 
             FieldOfView="60" />
          </Viewport3D.Camera>

          <!-- The ModelVisual3D children contain the 3D models -->
          <Viewport3D.Children>

            <!-- Two ModelVisual3D define the lights cast in the scene. Without light, the
                 3D object cannot be seen. Also, the direction of the lights affect shadowing. -->
            <ModelVisual3D>
              <ModelVisual3D.Content>
                <DirectionalLight Color="#FFFFFF" Direction="-0.612372,-0.5,-0.612372" />
              </ModelVisual3D.Content>
            </ModelVisual3D>
            <ModelVisual3D>
              <ModelVisual3D.Content>
                <DirectionalLight Color="#FFFFFF" Direction="0.612372,-0.5,-0.612372" />
              </ModelVisual3D.Content>
            </ModelVisual3D>
            <ModelVisual3D>
              <ModelVisual3D.Content>
                <GeometryModel3D>

                  <!-- The geometry specifes the shape of the 3D plane. In this case, a flat sheet is created. -->
                  <GeometryModel3D.Geometry>
                    <MeshGeometry3D
                     TriangleIndices="0,1,2 3,4,5 "
                     Normals="0,0,1 0,0,1 0,0,1 0,0,1 0,0,1 0,0,1 "
                     TextureCoordinates="0,0 1,0 1,1 1,1 0,1 0,0 "
                     Positions="-0.5,-0.5,0.5 0.5,-0.5,0.5 0.5,0.5,0.5 0.5,0.5,0.5 -0.5,0.5,0.5 -0.5,-0.5,0.5 " />
                  </GeometryModel3D.Geometry>

                  <!-- The material specifies the material applied to the plane. In this case it is a linear gradient.-->
                  <GeometryModel3D.Material>
                    <MaterialGroup>
                      <DiffuseMaterial>
                        <DiffuseMaterial.Brush>
                          <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
                            <LinearGradientBrush.GradientStops>
                              <GradientStop Color="Yellow" Offset="0" />
                              <GradientStop Color="Red" Offset="0.25" />
                              <GradientStop Color="Blue" Offset="0.75" />
                              <GradientStop Color="LimeGreen" Offset="1" />
                            </LinearGradientBrush.GradientStops>
                          </LinearGradientBrush>
                        </DiffuseMaterial.Brush>
                      </DiffuseMaterial>
                    </MaterialGroup>
                  </GeometryModel3D.Material>

                  <!-- The Transform specifies how to transform the 3D object. The properties of the
                        Rotation object are animated causing the 3D object to rotate and "wobble" (see Storyboard below).-->
                  <GeometryModel3D.Transform>
                    <RotateTransform3D>
                      <RotateTransform3D.Rotation>
                        <AxisAngleRotation3D x:Name="myAngleRotation" Axis="0,3,0" Angle="40" />
                      </RotateTransform3D.Rotation>
                    </RotateTransform3D>
                  </GeometryModel3D.Transform>
                </GeometryModel3D>
              </ModelVisual3D.Content>
            </ModelVisual3D>
          </Viewport3D.Children>

          <!-- Trigger the rotation animation when the 3D object loads. -->
          <Viewport3D.Triggers>
            <EventTrigger RoutedEvent="Viewport3D.Loaded">
              <BeginStoryboard>
                <Storyboard>

                  <!-- This animation animates the Angle property of the AxisAngleRotation3D
                       making the 3D object rotate from -60 degrees to 60 degrees. -->
                  <DoubleAnimation 
                   Storyboard.TargetName="myAngleRotation" 
                   Storyboard.TargetProperty="Angle" 
                   From="-60" To="60" Duration="0:0:4" AutoReverse="True"  RepeatBehavior="Forever"/>

                  <!-- This animation animates the Axis property of the AxisAngleRotation3D
                       making the 3D wobble as it rotates. -->
                  <Vector3DAnimation 
                   Storyboard.TargetName="myAngleRotation" 
                   Storyboard.TargetProperty="Axis" 
                   From="0,3,0" To="1,0,1" Duration="0:0:4" AutoReverse="True"  RepeatBehavior="Forever"/>

                </Storyboard>
              </BeginStoryboard>
            </EventTrigger>
          </Viewport3D.Triggers>
        </Viewport3D>
      </Canvas>

    </Viewbox>
  </DockPanel>
</Page>


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft