GeometryModel3D Класс

Определение

Отрисовывает объект Geometry3D с указанным Material.

public ref class GeometryModel3D sealed : System::Windows::Media::Media3D::Model3D
public sealed class GeometryModel3D : System.Windows.Media.Media3D.Model3D
type GeometryModel3D = class
    inherit Model3D
Public NotInheritable Class GeometryModel3D
Inherits Model3D
Наследование

Примеры

Следующий фрагмент кода создает GeometryModel3D в форме куба.

<GeometryModel3D>
  <GeometryModel3D.Geometry>
          <MeshGeometry3D 
              Positions="-1 -1 0  1 -1 0  -1 1 0  1 1 0"
              Normals="0 0 1  0 0 1  0 0 1  0 0 1"
              TextureCoordinates="0 1  1 1  0 0  1 0   "
              TriangleIndices="0 1 2  1 3 2" />
      </GeometryModel3D.Geometry>
      <GeometryModel3D.Material>
          <DiffuseMaterial>
              <DiffuseMaterial.Brush>
                  <SolidColorBrush Color="Cyan" Opacity="0.3"/>
              </DiffuseMaterial.Brush>
          </DiffuseMaterial>
      </GeometryModel3D.Material>
  <!-- Translate the plane. -->
      <GeometryModel3D.Transform>
          <TranslateTransform3D
            OffsetX="2" OffsetY="0" OffsetZ="-1"   >
          </TranslateTransform3D>
      </GeometryModel3D.Transform>
  </GeometryModel3D>

В следующем фрагменте кода используется GeometryModel3D объект, который Geometry определяется как статический ресурс.

<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>

Комментарии

Если необходимо создать объект Model3D , использующий несколько материалов, необходимо использовать Model3DGroup класс для объединения нескольких GeometryModel3D объектов.

Передние и задние стороны GeometryModel3D определяются порядком ветвления треугольников в .MeshGeometry3D Передний боковой ветер против часовой стрелки.

Material И BackMaterial свойства могут быть Transparent или null. Когда материал прозрачный, вы не видите эту сторону треугольника, но тестирование попаданий работает как обычно. Если материал есть null, его не видно, и тестирование попаданий не работает.

Конструкторы

Имя Описание
GeometryModel3D()

Создает новый экземпляр GeometryModel3D.

GeometryModel3D(Geometry3D, Material)

Создает новый экземпляр GeometryModel3D с указанным geometry3D и Material.

Поля

Имя Описание
BackMaterialProperty

Определяет BackMaterial свойство зависимостей.

GeometryProperty

Определяет Geometry свойство зависимостей.

MaterialProperty

Определяет Material свойство зависимостей.

Свойства

Имя Описание
BackMaterial

Возвращает или задает используемый Material для отрисовки задней части этого GeometryModel3Dобъекта.

Bounds

Rect3D Возвращает значение, указывающее ограничивающий прямоугольникModel3D, выровненный по оси.

(Унаследовано от Model3D)
CanFreeze

Возвращает значение, указывающее, можно ли изменить объект.

(Унаследовано от Freezable)
DependencyObjectType

Возвращает объект DependencyObjectType , который упаковывает тип СРЕДЫ CLR этого экземпляра.

(Унаследовано от DependencyObject)
Dispatcher

Dispatcher Возвращает это DispatcherObject значение, с которым связано.

(Унаследовано от DispatcherObject)
Geometry

Возвращает или задает Geometry3D тип, описывающий форму этого GeometryModel3D.

HasAnimatedProperties

Возвращает значение, указывающее, связан ли один или несколько AnimationClock объектов с любым из свойств зависимостей этого объекта.

(Унаследовано от Animatable)
IsFrozen

Возвращает значение, указывающее, является ли объект изменяемым в настоящее время.

(Унаследовано от Freezable)
IsSealed

Возвращает значение, указывающее, запечатан ли этот экземпляр (только для чтения).

(Унаследовано от DependencyObject)
Material

Возвращает или задает используемый Material для отрисовки передней части этого GeometryModel3Dэлемента.

Transform

Возвращает или задает Transform3D набор в модели.

(Унаследовано от Model3D)

Методы

Имя Описание
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Применяется к указанному объекту AnimationClockDependencyProperty. Если свойство уже анимировано, используется указанный HandoffBehavior параметр.

(Унаследовано от Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock)

Применяется к указанному объекту AnimationClockDependencyProperty. Если свойство уже анимировано, SnapshotAndReplace используется поведение передачи.

(Унаследовано от Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Применяет анимацию к указанному DependencyProperty. Анимация запускается при отрисовки следующего кадра. Если указанное свойство уже анимировано, используется указанный HandoffBehavior параметр.

(Унаследовано от Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Применяет анимацию к указанному DependencyProperty. Анимация запускается при отрисовки следующего кадра. Если указанное свойство уже анимировано, SnapshotAndReplace используется поведение передачи.

(Унаследовано от Animatable)
CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)
ClearValue(DependencyProperty)

Очищает локальное значение свойства. Свойство для очистки указывается идентификатором DependencyProperty .

(Унаследовано от DependencyObject)
ClearValue(DependencyPropertyKey)

Очищает локальное значение свойства только для чтения. Свойство, которое необходимо очистить, задается параметром DependencyPropertyKey.

(Унаследовано от DependencyObject)
Clone()

Создает модификаторный клон этого GeometryModel3Dобъекта, делая глубокие копии значений этого объекта. При копировании свойств зависимостей этот метод копирует ссылки на ресурсы и привязки данных (но они больше не могут разрешаться), но не анимации или их текущие значения.

CloneCore(Freezable)

Делает экземпляр клоном (глубокой копией) указанных Freezable значений свойств с использованием базовых (не анимированных) значений свойств.

(Унаследовано от Freezable)
CloneCurrentValue()

Создает модификаторный клон этого объекта, делая глубокие копии текущих значений этого GeometryModel3D объекта. Ссылки на ресурсы, привязки данных и анимации не копируются, но их текущие значения.

CloneCurrentValueCore(Freezable)

Делает экземпляр модификируемым клоном (глубокой копией) указанного Freezable с использованием текущих значений свойств.

(Унаследовано от Freezable)
CoerceValue(DependencyProperty)

Принуждает значение указанного свойства зависимостей. Это достигается путем вызова любой CoerceValueCallback функции, указанной в метаданных свойств для свойства зависимостей, так как он существует при вызове DependencyObject.

(Унаследовано от DependencyObject)
CreateInstance()

Инициализирует новый экземпляр класса Freezable.

(Унаследовано от Freezable)
CreateInstanceCore()

При реализации в производном классе создает новый экземпляр производного Freezable класса.

(Унаследовано от Freezable)
Equals(Object)

Определяет, эквивалентен ли предоставленный DependencyObject объект текущему DependencyObject.

(Унаследовано от DependencyObject)
Freeze()

Делает текущий объект неизменяемым и задает для свойства значение IsFrozentrue.

(Унаследовано от Freezable)
FreezeCore(Boolean)

Делает этот Animatable объект неизменяемым или определяет, может ли он быть изменен.

(Унаследовано от Animatable)
GetAnimationBaseValue(DependencyProperty)

Возвращает неанимированное значение указанного DependencyProperty.

(Унаследовано от Animatable)
GetAsFrozen()

Создает замороженную копию базовых Freezable(не анимированных) значений свойств. Так как копия заморожена, все замороженные вложенные объекты копируются по ссылке.

(Унаследовано от Freezable)
GetAsFrozenCore(Freezable)

Делает экземпляр замороженным клоном указанных Freezable значений свойств (не анимированных).

(Унаследовано от Freezable)
GetCurrentValueAsFrozen()

Создает замороженную копию с использованием текущих значений Freezable свойств. Так как копия заморожена, все замороженные вложенные объекты копируются по ссылке.

(Унаследовано от Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Делает текущий экземпляр замороженным клоном указанного Freezable. Если объект имеет анимированные свойства зависимостей, их текущие анимированные значения копируются.

(Унаследовано от Freezable)
GetHashCode()

Получает хэш-код для этого DependencyObject.

(Унаследовано от DependencyObject)
GetLocalValueEnumerator()

Создает специализированный перечислитель для определения того, какие свойства зависимостей имеют локальные значения для этого DependencyObject.

(Унаследовано от DependencyObject)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
GetValue(DependencyProperty)

Возвращает текущее эффективное значение свойства зависимостей для этого экземпляра DependencyObject.

(Унаследовано от DependencyObject)
InvalidateProperty(DependencyProperty)

Повторно вычисляет эффективное значение для указанного свойства зависимостей.

(Унаследовано от DependencyObject)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
OnChanged()

Вызывается при изменении текущего Freezable объекта.

(Унаследовано от Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Этот член поддерживает инфраструктуру Windows Presentation Foundation (WPF) и не предназначен для использования непосредственно из кода.

(Унаследовано от Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Убедитесь, что для элемента данных, который только что был установлен, установлены DependencyObjectType соответствующие указатели контекста.

(Унаследовано от Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Переопределяет DependencyObject реализацию OnPropertyChanged(DependencyPropertyChangedEventArgs) для вызова всех Changed обработчиков в ответ на изменение свойства зависимостей типа Freezable.

(Унаследовано от Freezable)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если оно существует.

(Унаследовано от DependencyObject)
ReadPreamble()

Гарантирует, что Freezable доступ к ней осуществляется из допустимого потока. Наследующие метод Freezable должны вызывать этот метод в начале любого API, который считывает элементы данных, которые не являются свойствами зависимостей.

(Унаследовано от Freezable)
SetCurrentValue(DependencyProperty, Object)

Задает значение свойства зависимостей, не изменяя его источник значений.

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей, указанное его идентификатором свойства зависимостей.

(Унаследовано от DependencyObject)
SetValue(DependencyPropertyKey, Object)

Задает локальное значение свойства зависимостей только для чтения, указанное DependencyPropertyKey идентификатором свойства зависимости.

(Унаследовано от DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Возвращает значение, указывающее, должны ли процессы сериализации сериализовать значение для указанного свойства зависимостей.

(Унаследовано от DependencyObject)
ToString()

Создает строковое представление модели3D.

(Унаследовано от Model3D)
ToString(IFormatProvider)

Создает строковое представление модели3D.

(Унаследовано от Model3D)
VerifyAccess()

Принудительно применяет, что вызывающий поток имеет доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)
WritePostscript()

Changed Вызывает событие для Freezable метода и вызывает его OnChanged() метод. Классы, производные от Freezable этого метода, должны вызываться в конце любого API, который изменяет элементы класса, которые не хранятся в качестве свойств зависимостей.

(Унаследовано от Freezable)
WritePreamble()

Проверяет, что Freezable он не заморожен и к нему осуществляется доступ из допустимого контекста потоков. Freezable наследующие метод должны вызывать этот метод в начале любого API, записывающего элементы данных, которые не являются свойствами зависимостей.

(Унаследовано от Freezable)

События

Имя Описание
Changed

Происходит при Freezable изменении объекта или объекта, содержащего его.

(Унаследовано от Freezable)

Явные реализации интерфейса

Имя Описание
IFormattable.ToString(String, IFormatProvider)

Форматирует значение текущего экземпляра с помощью указанного формата.

(Унаследовано от Model3D)

Применяется к