PerspectiveCamera Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een perspectiefprojectiecamera.
public ref class PerspectiveCamera sealed : System::Windows::Media::Media3D::ProjectionCamera
public sealed class PerspectiveCamera : System.Windows.Media.Media3D.ProjectionCamera
type PerspectiveCamera = class
inherit ProjectionCamera
Public NotInheritable Class PerspectiveCamera
Inherits ProjectionCamera
- Overname
-
PerspectiveCamera
Voorbeelden
<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 ClipToBounds="True" Width="150" Height="150" Canvas.Left="0" Canvas.Top="10">
<!-- Defines the camera used to view the 3D object. -->
<Viewport3D.Camera>
<PerspectiveCamera Position="0,0,2" LookDirection="0,0,-1" FieldOfView="60" />
</Viewport3D.Camera>
<!-- The ModelVisual3D children contain the 3D models -->
<Viewport3D.Children>
<!-- This ModelVisual3D defines the light cast in the scene. Without light, the 3D
object cannot be seen. Also, the direction of the lights affect shadowing. If desired,
you can create multiple lights with different colors that shine from different directions. -->
<ModelVisual3D>
<ModelVisual3D.Content>
<DirectionalLight Color="#FFFFFF" Direction="-0.612372,-0.5,-0.612372" />
</ModelVisual3D.Content>
</ModelVisual3D>
<ModelVisual3D>
<ModelVisual3D.Content>
<GeometryModel3D>
<!-- The geometry specifies the shape of the 3D plane. In this sample, 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 3D object. In this sample a tiled drawing
covers the surface of the 3D object.-->
<GeometryModel3D.Material>
<DiffuseMaterial>
<DiffuseMaterial.Brush>
<DrawingBrush Viewport="0,0,0.1,0.1" TileMode="Tile">
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Geometry="M0,0.1 L0.1,0 1,0.9, 0.9,1z"
Brush="Gray" />
<GeometryDrawing Geometry="M0.9,0 L1,0.1 0.1,1 0,0.9z"
Brush="Gray" />
<GeometryDrawing Geometry="M0.25,0.25 L0.5,0.125 0.75,0.25 0.5,0.5z"
Brush="#FFFF00" />
<GeometryDrawing Geometry="M0.25,0.75 L0.5,0.875 0.75,0.75 0.5,0.5z"
Brush="Black" />
<GeometryDrawing Geometry="M0.25,0.75 L0.125,0.5 0.25,0.25 0.5,0.5z"
Brush="#FF0000" />
<GeometryDrawing Geometry="M0.75,0.25 L0.875,0.5 0.75,0.75 0.5,0.5z"
Brush="MediumBlue" />
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</DiffuseMaterial.Brush>
</DiffuseMaterial>
</GeometryModel3D.Material>
<!-- Apply a transform to the object. In this sample, a rotation transform is applied, rendering the
3D object rotated. -->
<GeometryModel3D.Transform>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="0,3,0" Angle="40" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
</GeometryModel3D.Transform>
</GeometryModel3D>
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D.Children>
</Viewport3D>
</Canvas>
</Viewbox>
</DockPanel>
</Page>
Opmerkingen
PerspectiveCamera hiermee geeft u een projectie van een 3D-model naar een 2D-visualoppervlak. Deze projectie omvat perspectief vooreshortening. Met andere woorden, de PerspectiveCamera beschrijving van een korst waarvan de zijden convergeren naar een punt aan de horizon. Objecten dichter bij de camera worden groter weergegeven en objecten verder van de camera lijken kleiner.
In het volgende diagram ziet u het verschil tussen ortografische en perspectief-foreshortened cameraprojecties.
Constructors
| Name | Description |
|---|---|
| PerspectiveCamera() |
Initialiseert een nieuw exemplaar van de PerspectiveCamera klasse. |
| PerspectiveCamera(Point3D, Vector3D, Vector3D, Double) |
Initialiseert een nieuw exemplaar van de PerspectiveCamera klasse met behulp van de opgegeven positie, richting en weergaveveld. |
Velden
| Name | Description |
|---|---|
| FieldOfViewProperty |
Identificeert de FieldOfView afhankelijkheidseigenschap. |
Eigenschappen
| Name | Description |
|---|---|
| CanFreeze |
Hiermee wordt een waarde opgehaald die aangeeft of het object onmodieerbaar kan worden gemaakt. (Overgenomen van Freezable) |
| DependencyObjectType |
Hiermee haalt u het DependencyObjectType CLR-type van dit exemplaar op. (Overgenomen van DependencyObject) |
| Dispatcher |
Hiermee wordt de Dispatcher aan dit DispatcherObject gekoppelde bestand. (Overgenomen van DispatcherObject) |
| FarPlaneDistance |
Hiermee wordt een waarde opgehaald of ingesteld waarmee de afstand van de camera van het verre clipvlak van de camera wordt opgegeven. (Overgenomen van ProjectionCamera) |
| FieldOfView |
Hiermee wordt een waarde opgehaald of ingesteld die het horizontale weergaveveld van de camera vertegenwoordigt. |
| HasAnimatedProperties |
Hiermee wordt een waarde opgehaald die aangeeft of een of meer AnimationClock objecten zijn gekoppeld aan een van de afhankelijkheidseigenschappen van dit object. (Overgenomen van Animatable) |
| IsFrozen |
Hiermee wordt een waarde opgehaald die aangeeft of het object momenteel kan worden gewijzigd. (Overgenomen van Freezable) |
| IsSealed |
Hiermee wordt een waarde opgehaald die aangeeft of dit exemplaar momenteel is verzegeld (alleen-lezen). (Overgenomen van DependencyObject) |
| LookDirection |
Hiermee haalt u een op of stelt u een Vector3D die de richting bepaalt waarin de camera in wereldcoördinaten kijkt. (Overgenomen van ProjectionCamera) |
| NearPlaneDistance |
Hiermee wordt een waarde opgehaald of ingesteld waarmee de afstand van de camera van het vlak van de camera in de buurt van het clipvlak van de camera wordt opgegeven. (Overgenomen van ProjectionCamera) |
| Position |
Hiermee haalt u de positie van de camera in wereldcoördinaten op of stelt u deze in. (Overgenomen van ProjectionCamera) |
| Transform |
Hiermee haalt u de Transform3D op of stelt u deze in op de camera. (Overgenomen van Camera) |
| UpDirection |
Hiermee haalt u een op of stelt u een Vector3D in die de opwaartse richting van de camera definieert. (Overgenomen van ProjectionCamera) |
Methoden
| Name | Description |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Hiermee wordt een AnimationClock op de opgegeven DependencyPropertywaarde toegepast. Als de eigenschap al is geanimeerd, wordt de opgegeven HandoffBehavior waarde gebruikt. (Overgenomen van Animatable) |
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
Hiermee wordt een AnimationClock op de opgegeven DependencyPropertywaarde toegepast. Als de eigenschap al is geanimeerd, wordt het SnapshotAndReplace handoff-gedrag gebruikt. (Overgenomen van Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Hiermee past u een animatie toe op de opgegeven DependencyProperty. De animatie wordt gestart wanneer het volgende frame wordt weergegeven. Als de opgegeven eigenschap al is geanimeerd, wordt de opgegeven HandoffBehavior gebruikt. (Overgenomen van Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline) |
Hiermee past u een animatie toe op de opgegeven DependencyProperty. De animatie wordt gestart wanneer het volgende frame wordt weergegeven. Als de opgegeven eigenschap al is geanimeerd, wordt het SnapshotAndReplace handoff-gedrag gebruikt. (Overgenomen van Animatable) |
| CheckAccess() |
Bepaalt of de aanroepende thread toegang heeft tot dit DispatcherObject. (Overgenomen van DispatcherObject) |
| ClearValue(DependencyProperty) |
Hiermee wist u de lokale waarde van een eigenschap. De eigenschap die moet worden gewist, wordt opgegeven door een DependencyProperty id. (Overgenomen van DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Hiermee wist u de lokale waarde van een alleen-lezen eigenschap. De eigenschap die moet worden gewist, wordt opgegeven door een DependencyPropertyKey. (Overgenomen van DependencyObject) |
| Clone() |
Hiermee maakt u een wijzigbare kloon van dit PerspectiveCameraobject, waardoor diepe kopieën van de waarden van dit object worden gemaakt. Bij het kopiëren van afhankelijkheidseigenschappen kopieert deze methode bronverwijzingen en gegevensbindingen (maar ze kunnen deze mogelijk niet meer oplossen) maar niet animaties of hun huidige waarden. |
| CloneCore(Freezable) |
Hiermee wordt het exemplaar een kloon (diepe kopie) van de opgegeven Freezable met behulp van basiseigenschapswaarden (niet-geanimeerde waarden). (Overgenomen van Freezable) |
| CloneCurrentValue() |
Hiermee maakt u een wijzigbare kloon van dit PerspectiveCamera object, waardoor diepe kopieën worden gemaakt van de huidige waarden van dit object. Resourceverwijzingen, gegevensbindingen en animaties worden niet gekopieerd, maar de huidige waarden zijn. |
| CloneCurrentValueCore(Freezable) |
Maakt het exemplaar een wijzigbare kloon (diepe kopie) van de opgegeven Freezable met behulp van de huidige eigenschapswaarden. (Overgenomen van Freezable) |
| CoerceValue(DependencyProperty) |
Hiermee wordt de waarde van de opgegeven afhankelijkheidseigenschap gecodeerd. Dit wordt bereikt door een CoerceValueCallback functie aan te roepen die is opgegeven in eigenschapsmetagegevens voor de afhankelijkheidseigenschap, zoals deze bestaat bij het aanroepen DependencyObject. (Overgenomen van DependencyObject) |
| CreateInstance() |
Initialiseert een nieuw exemplaar van de Freezable klasse. (Overgenomen van Freezable) |
| CreateInstanceCore() |
Wanneer deze wordt geïmplementeerd in een afgeleide klasse, maakt u een nieuw exemplaar van de Freezable afgeleide klasse. (Overgenomen van Freezable) |
| Equals(Object) |
Bepaalt of een opgegeven DependencyObject gelijk is aan de huidige DependencyObject. (Overgenomen van DependencyObject) |
| Freeze() |
Maakt het huidige object onmodifieerbaar en stelt de IsFrozen eigenschap ervan in op |
| FreezeCore(Boolean) |
Animatable Dit object kan niet worden gewijzigd of bepaalt of het kan worden gewijzigd. (Overgenomen van Animatable) |
| GetAnimationBaseValue(DependencyProperty) |
Retourneert de niet-geanimeerde waarde van de opgegeven DependencyProperty. (Overgenomen van Animatable) |
| GetAsFrozen() |
Hiermee maakt u een geblokkeerde kopie van de Freezableeigenschapswaarden met basiswaarden (niet-geanimeerd). Omdat de kopie is geblokkeerd, worden alle geblokkeerde subobjecten gekopieerd met verwijzing. (Overgenomen van Freezable) |
| GetAsFrozenCore(Freezable) |
Hiermee wordt het exemplaar een geblokkeerde kloon van de opgegeven Freezable met behulp van basiseigenschapswaarden (niet-geanimeerd). (Overgenomen van Freezable) |
| GetCurrentValueAsFrozen() |
Hiermee maakt u een geblokkeerde kopie van het Freezable gebruik van de huidige eigenschapswaarden. Omdat de kopie is geblokkeerd, worden alle geblokkeerde subobjecten gekopieerd met verwijzing. (Overgenomen van Freezable) |
| GetCurrentValueAsFrozenCore(Freezable) |
Hiermee wordt het huidige exemplaar een geblokkeerde kloon van de opgegeven Freezable. Als het object eigenschappen van afhankelijkheid met animatie heeft, worden de huidige geanimeerde waarden gekopieerd. (Overgenomen van Freezable) |
| GetHashCode() |
Hiermee haalt u een hashcode op.DependencyObject (Overgenomen van DependencyObject) |
| GetLocalValueEnumerator() |
Hiermee maakt u een gespecialiseerde enumerator om te bepalen welke afhankelijkheidseigenschappen lokaal waarden hebben ingesteld.DependencyObject (Overgenomen van DependencyObject) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| GetValue(DependencyProperty) |
Retourneert de huidige effectieve waarde van een afhankelijkheidseigenschap op dit exemplaar van een DependencyObject. (Overgenomen van DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Evalueert de effectieve waarde voor de opgegeven afhankelijkheidseigenschap opnieuw. (Overgenomen van DependencyObject) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnChanged() |
Aangeroepen wanneer het huidige Freezable object wordt gewijzigd. (Overgenomen van Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Dit lid ondersteunt de Windows Presentation Foundation -infrastructuur (WPF) en is niet bedoeld om rechtstreeks vanuit uw code te worden gebruikt. (Overgenomen van Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Zorgt ervoor dat de juiste contextpointers tot stand worden gebracht voor een DependencyObjectType gegevenslid dat zojuist is ingesteld. (Overgenomen van Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Overschrijft de DependencyObject implementatie van het aanroepen OnPropertyChanged(DependencyPropertyChangedEventArgs) van Changed handlers als reactie op een veranderende afhankelijkheidseigenschap van het typeFreezable. (Overgenomen van Freezable) |
| ReadLocalValue(DependencyProperty) |
Retourneert de lokale waarde van een afhankelijkheidseigenschap, als deze bestaat. (Overgenomen van DependencyObject) |
| ReadPreamble() |
Zorgt ervoor dat de Freezable thread wordt geopend vanuit een geldige thread. Overnames van Freezable deze methode moeten aan het begin van een API worden aangeroepen die gegevensleden leest die geen afhankelijkheidseigenschappen zijn. (Overgenomen van Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
Hiermee stelt u de waarde van een afhankelijkheidseigenschap in zonder de waardebron te wijzigen. (Overgenomen van DependencyObject) |
| SetValue(DependencyProperty, Object) |
Hiermee stelt u de lokale waarde van een afhankelijkheidseigenschap in, die is opgegeven door de id van de afhankelijkheidseigenschap. (Overgenomen van DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Hiermee stelt u de lokale waarde van een alleen-lezen afhankelijkheidseigenschap in, die is opgegeven door de DependencyPropertyKey id van de afhankelijkheidseigenschap. (Overgenomen van DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Retourneert een waarde die aangeeft of serialisatieprocessen de waarde voor de opgegeven afhankelijkheidseigenschap moeten serialiseren. (Overgenomen van DependencyObject) |
| ToString() |
Hiermee maakt u een tekenreeksweergave van dit object op basis van de huidige cultuurinstellingen. (Overgenomen van Camera) |
| ToString(IFormatProvider) |
Hiermee maakt u een tekenreeksweergave van de camera. (Overgenomen van Camera) |
| VerifyAccess() |
Hiermee wordt afgedwongen dat de aanroepende thread toegang heeft tot dit DispatcherObject. (Overgenomen van DispatcherObject) |
| WritePostscript() |
Hiermee wordt de gebeurtenis voor de Changed gebeurtenis gegenereerd en wordt Freezable de OnChanged() methode aangeroepen. Klassen die zijn afgeleid van Freezable , moeten deze methode aan het einde van een API aanroepen die klasseleden wijzigt die niet zijn opgeslagen als afhankelijkheidseigenschappen. (Overgenomen van Freezable) |
| WritePreamble() |
Controleert of het Freezable niet is geblokkeerd en of deze wordt geopend vanuit een geldige threadingcontext. Freezable overnemers moeten deze methode aan het begin van een API aanroepen die schrijft naar gegevensleden die geen afhankelijkheidseigenschappen zijn. (Overgenomen van Freezable) |
gebeurtenis
| Name | Description |
|---|---|
| Changed |
Treedt op wanneer het Freezable object dat het bevat, wordt gewijzigd. (Overgenomen van Freezable) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Hiermee wordt de waarde van het huidige exemplaar opgemaakt met behulp van de opgegeven indeling. (Overgenomen van Camera) |