Classe ModelVisual3D (System.Windows.Media.Media3D)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Classe ModelVisual3D
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Fornisce un oggetto Visual3D che esegue il rendering di oggetti Model3D.

Gerarchia di ereditarietà

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Media.Media3D.Visual3D
        System.Windows.Media.Media3D.ModelVisual3D

Spazio dei nomi:  System.Windows.Media.Media3D
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
Sintassi

Visual Basic
<ContentPropertyAttribute("Children")> _
Public Class ModelVisual3D _
	Inherits Visual3D _
	Implements IAddChild
C#
[ContentPropertyAttribute("Children")]
public class ModelVisual3D : Visual3D, 
	IAddChild
Visual C++
[ContentPropertyAttribute(L"Children")]
public ref class ModelVisual3D : public Visual3D, 
	IAddChild
F#
[<ContentPropertyAttribute("Children")>]
type ModelVisual3D =  
    class
        inherit Visual3D
        interface IAddChild
    end
Utilizzo della sintassi XAML per elementi oggetto
<ModelVisual3D>
  Children
</ModelVisual3D>

Il tipo ModelVisual3D espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ModelVisual3D Inizializza una nuova istanza della classe ModelVisual3D.
In alto
Proprietà

  Nome Descrizione
Proprietà pubblica Children Ottiene un insieme di oggetti Visual3D figli.
Proprietà pubblica Content Ottiene o imposta il modello che comprende il contenuto di ModelVisual3D.
Proprietà pubblica DependencyObjectType Ottiene la classe DependencyObjectType che include il tipo CLR di questa istanza.  (Ereditato da DependencyObject)
Proprietà pubblica Dispatcher Ottiene l'oggetto Dispatcher associato a DispatcherObject. (Ereditato da DispatcherObject)
Proprietà pubblica HasAnimatedProperties Ottiene un valore che indica se Visual3D dispone di proprietà a cui è stata aggiunta un'animazione. (Ereditato da Visual3D)
Proprietà pubblica IsSealed Ottiene un valore che indica se l'istanza è attualmente sealed (di sola lettura). (Ereditato da DependencyObject)
Proprietà pubblica Transform Ottiene o imposta la trasformazione impostata a ModelVisual3D.
Proprietà protetta. Visual3DChildrenCount Restituisce il numero di oggetti figlio. (Esegue l'override di Visual3D.Visual3DChildrenCount).
Proprietà protetta. Visual3DModel Ottiene o imposta l'oggetto Model3D di cui eseguire il rendering. (Ereditato da Visual3D)
In alto
Metodi

  Nome Descrizione
Metodo protetto AddVisual3DChild Definisce la relazione padre-figlio tra due oggetti visivi 3D. (Ereditato da Visual3D)
Metodo pubblico ApplyAnimationClock(DependencyProperty, AnimationClock) Applica l'effetto di un oggetto AnimationClock specificato a una proprietà di dipendenza precisata. (Ereditato da Visual3D)
Metodo pubblico ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) Applica l'effetto di una classe AnimationClock specificata a una proprietà di dipendenza precisata. L'effetto della nuova classe AnimationClock sulle animazioni correnti è determinato dal valore del parametro handoffBehavior. (Ereditato da Visual3D)
Metodo pubblico BeginAnimation(DependencyProperty, AnimationTimeline) Avvia una sequenza di animazione per l'oggetto DependencyProperty, in base all'oggetto AnimationTimeline specificato. (Ereditato da Visual3D)
Metodo pubblico BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) Avvia una sequenza di animazione per l'oggetto DependencyProperty, in base agli oggetti AnimationTimeline e HandoffBehavior specificati. (Ereditato da Visual3D)
Metodo pubblico CheckAccess Determina se il thread chiamante ha accesso a DispatcherObject. (Ereditato da DispatcherObject)
Metodo pubblico ClearValue(DependencyProperty) Cancella il valore locale di una proprietà. La proprietà da cancellare è indicata da un identificatore DependencyProperty. (Ereditato da DependencyObject)
Metodo pubblico ClearValue(DependencyPropertyKey) Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare è indicata da un identificatore DependencyPropertyKey. (Ereditato da DependencyObject)
Metodo pubblico CoerceValue Assegna il valore della proprietà di dipendenza specificata. Questa operazione viene eseguita richiamando qualsiasi funzione CoerceValueCallback specificata nei metadati della proprietà di dipendenza, esistente nell'oggetto DependencyObject chiamante. (Ereditato da DependencyObject)
Metodo pubblico Equals Determina se l'oggetto DependencyObject specificato equivale all'oggetto DependencyObject corrente. (Ereditato da DependencyObject)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico FindCommonVisualAncestor Restituisce il predecessore comune dell'oggetto visivo e di un altro oggetto visivo specificato. (Ereditato da Visual3D)
Metodo pubblico GetAnimationBaseValue Recupera il valore di base dell'oggetto DependencyProperty specificato. (Ereditato da Visual3D)
Metodo pubblico GetHashCode Ottiene un codice hash per questo oggetto DependencyObject. (Ereditato da DependencyObject)
Metodo pubblico GetLocalValueEnumerator Crea un enumeratore specializzato per determinare le proprietà di dipendenza che presentano valori impostati localmente nell'oggetto DependencyObject. (Ereditato da DependencyObject)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico GetValue Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject. (Ereditato da DependencyObject)
Metodo protetto GetVisual3DChild Restituisce l’oggetto Visual3D specificato nell'insieme di oggetti padre. (Esegue l'override di Visual3D.GetVisual3DChild(Int32)).
Metodo pubblico InvalidateProperty Valuta di nuovo il valore effettivo della proprietà di dipendenza specificata. (Ereditato da DependencyObject)
Metodo pubblico IsAncestorOf Determina se l'oggetto visivo è un predecessore dell'oggetto visivo discendente. (Ereditato da Visual3D)
Metodo pubblico IsDescendantOf Determina se l'oggetto visivo è un discendente dell'oggetto visivo predecessore. (Ereditato da Visual3D)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protetto OnPropertyChanged Richiamato ogni volta che il valore effettivo di qualsiasi proprietà di dipendenza in DependencyObject è stato aggiornato. La specifica proprietà di dipendenza modificata viene indicata nei dati dell'evento. (Ereditato da DependencyObject)
Metodo protetto OnVisualChildrenChanged Viene chiamato quando l'oggetto Visual3DCollection dell’oggetto visivo viene modificato. (Ereditato da Visual3D)
Metodo protetto OnVisualParentChanged Chiamato quando l'elemento padre dell’oggetto visivo 3D viene modificato. (Ereditato da Visual3D)
Metodo pubblico ReadLocalValue Restituisce il valore locale di una proprietà di dipendenza, se esistente. (Ereditato da DependencyObject)
Metodo protetto RemoveVisual3DChild Rimuove la relazione padre-figlio tra due oggetti visivi 3D. (Ereditato da Visual3D)
Metodo pubblico SetCurrentValue Imposta il valore di una proprietà di dipendenza senza modificare l'origine del valore. (Ereditato da DependencyObject)
Metodo pubblico SetValue(DependencyProperty, Object) Imposta il valore locale di una proprietà di dipendenza, specificata dal relativo identificatore. (Ereditato da DependencyObject)
Metodo pubblico SetValue(DependencyPropertyKey, Object) Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificata dall'identificatore DependencyPropertyKey della proprietà di dipendenza. (Ereditato da DependencyObject)
Metodo protetto ShouldSerializeProperty Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà di dipendenza fornita. (Ereditato da DependencyObject)
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblico TransformToAncestor(Visual) Restituisce una trasformazione che può essere utilizzata per trasformare le coordinate da questo oggetto Visual3D al predecessore Visual specificato dell'oggetto. (Ereditato da Visual3D)
Metodo pubblico TransformToAncestor(Visual3D) Restituisce una trasformazione che può essere utilizzata per trasformare le coordinate da questo oggetto Visual3D al predecessore Visual3D specificato dell'oggetto. (Ereditato da Visual3D)
Metodo pubblico TransformToDescendant Restituisce una trasformazione che può essere utilizzata per trasformare le coordinate da questo oggetto Visual3D all'oggetto discendente Visual3D specificato. (Ereditato da Visual3D)
Metodo pubblico VerifyAccess Impone che il thread chiamante abbia accesso a DispatcherObject. (Ereditato da DispatcherObject)
In alto
Campi

  Nome Descrizione
Campo pubblico Membro statico ContentProperty Identifica la proprietà di dipendenza Content.
Campo pubblico Membro statico TransformProperty Identifica la proprietà di dipendenza Transform.
In alto
Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfaccia Metodo privato IAddChild.AddChild Infrastruttura. Aggiunge un oggetto figlio.
Implementazione esplicita dell'interfaccia Metodo privato IAddChild.AddText Infrastruttura. Aggiunge il contenuto di testo di un nodo all'oggetto.
In alto
Note

Fornisce servizi e proprietà comuni a tutti gli oggetti visivi, incluso l’hit testing, trasformazione delle coordinate e calcoli del riquadro delimitatore.

La classe ModelVisual3D dispone di una proprietà Children che consente di compilare una struttura a albero di oggetti ModelVisual3D.

Gli oggetti ModelVisual3D vengono ottimizzati come nodi della scena. Ad esempio, essi memorizzano i limiti. Ogni qualvolta è possibile, utilizzare gli oggetti ModelVisual3D per istanze univoche di oggetti all'interno della scena. Questo utilizzo contrasta con quello di oggetti Model3D, che sono oggetti leggeri ottimizzati per essere condivisi e riutilizzati. Ad esempio, utilizzare un oggetto Model3D per compilare un modello di una macchina; e utilizzare dieci oggetti ModelVisual3D per posizionare dieci macchine nella scena.

Esempi

Nel seguente esempio viene mostrata un'istanza di ModelVisual3D in markup. L'oggetto myTeapot si riferisce a un oggetto MeshGeometry3D definito esternamente. È possibile sostituire qualsiasi geometria personale.

XAML

<DockPanel>
  <Viewport3D Name="myViewport">

    <Viewport3D.Camera>
      <PerspectiveCamera FarPlaneDistance="20" LookDirection="5,-2,-3" UpDirection="0,1,0" NearPlaneDistance="0" Position="-5,2,3" FieldOfView="45" />
    </Viewport3D.Camera>

    <ModelVisual3D x:Name="topModelVisual3D">
      <ModelVisual3D.Children>
        <ModelVisual3D>
          <ModelVisual3D.Content>
            <DirectionalLight Color="#FFFFFFFF" Direction="-3,-4,-5" />
          </ModelVisual3D.Content>
        </ModelVisual3D>

        <ModelVisual3D>
          <ModelVisual3D.Content>
            <GeometryModel3D Geometry="{StaticResource myTeapot}">
              <GeometryModel3D.Material>
                <DiffuseMaterial>
                  <DiffuseMaterial.Brush>
                    <SolidColorBrush Color="Blue" Opacity="1.0" />
                  </DiffuseMaterial.Brush>
                </DiffuseMaterial>
              </GeometryModel3D.Material>
              <GeometryModel3D.Transform>
                <RotateTransform3D>
                  <RotateTransform3D.Rotation>
                    <AxisAngleRotation3D x:Name="myAngleRotation" Axis="0,3,0" Angle="1" />
                  </RotateTransform3D.Rotation>
                </RotateTransform3D>
              </GeometryModel3D.Transform>
            </GeometryModel3D>
          </ModelVisual3D.Content>
        </ModelVisual3D>


      </ModelVisual3D.Children>
    </ModelVisual3D>


    <Viewport3D.Triggers>

      <EventTrigger RoutedEvent="Viewport3D.Loaded">
        <BeginStoryboard>
          <Storyboard>
            <DoubleAnimation 
              Storyboard.TargetName="myAngleRotation"
              Storyboard.TargetProperty="Angle"
              From="0" To="360" Duration="0:0:10"
              RepeatBehavior="Forever" />
          </Storyboard>
        </BeginStoryboard>
      </EventTrigger>
    </Viewport3D.Triggers>


  </Viewport3D>
</DockPanel>


Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1
Piattaforme

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche

Riferimenti

Cronologia delle modifiche

Data

Cronologia

Motivo

Luglio 2010

È stata aggiunta una nota a myTeapot.

Commenti e suggerimenti dei clienti.