1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/// C++ type: <span style='color: green;'>```Qt3DCore::QNodeCreatedChangeBase```</span>
///
/// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html">C++ documentation:</a> <div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html">QNodeCreatedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">NodeCreated</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html">QNodeCreatedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events that have the changeType() <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">NodeCreated</a>. You should not need to instantiate this class. Usually you should be using one of its subclasses such as <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchange.html">QNodeCreatedChange</a>.</p>
/// <p>You can subclass this to create your own node update types for communication between your <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> and <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html">QBackendNode</a> subclasses when writing your own aspects.</p></div>
#[repr(C)]
pub struct NodeCreatedChangeBase(u8);

impl NodeCreatedChangeBase {
  /// C++ method: <span style='color: green;'>```bool Qt3DCore::QNodeCreatedChangeBase::isNodeEnabled() const```</span>
  ///
  /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html#isNodeEnabled">C++ documentation:</a> <div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns node enabled.</p></div>
  pub fn is_node_enabled(&self) -> bool {
    unsafe { ::ffi::qt_3d_core_c_Qt3DCore_QNodeCreatedChangeBase_isNodeEnabled(self as *const ::node_created_change::NodeCreatedChangeBase) }
  }

  /// C++ method: <span style='color: green;'>```const QMetaObject* Qt3DCore::QNodeCreatedChangeBase::metaObject() const```</span>
  ///
  /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html#metaObject">C++ documentation:</a> <div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns metaobject.</p></div>
  pub fn meta_object(&self) -> *const ::qt_core::meta_object::MetaObject {
    unsafe { ::ffi::qt_3d_core_c_Qt3DCore_QNodeCreatedChangeBase_metaObject(self as *const ::node_created_change::NodeCreatedChangeBase) }
  }

  /// C++ method: <span style='color: green;'>```[constructor] void Qt3DCore::QNodeCreatedChangeBase::QNodeCreatedChangeBase(const Qt3DCore::QNode* node)```</span>
  ///
  /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html#QNodeCreatedChangeBase">C++ documentation:</a> <div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html">QNodeCreatedChangeBase</a> with <i>node</i>.</p></div>
  pub unsafe fn new(node: *const ::node::Node) -> ::cpp_utils::CppBox<::node_created_change::NodeCreatedChangeBase> {
    let ffi_result = ::ffi::qt_3d_core_c_Qt3DCore_QNodeCreatedChangeBase_new(node);
    ::cpp_utils::CppBox::new(ffi_result)
  }

  /// C++ method: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::QNodeCreatedChangeBase::parentId() const```</span>
  ///
  /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html#parentId">C++ documentation:</a> <div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns parent id.</p></div>
  pub fn parent_id(&self) -> ::node_id::NodeId {
    {
      let mut object: ::node_id::NodeId =
        unsafe { ::cpp_utils::new_uninitialized::NewUninitialized::new_uninitialized() };
      unsafe {
        ::ffi::qt_3d_core_c_Qt3DCore_QNodeCreatedChangeBase_parentId_to_output(self as *const ::node_created_change::NodeCreatedChangeBase, &mut object);
      }
      object
    }
  }
}

impl ::cpp_utils::CppDeletable for ::node_created_change::NodeCreatedChangeBase {
  fn deleter() -> ::cpp_utils::Deleter<Self> {
    ::ffi::qt_3d_core_c_Qt3DCore_QNodeCreatedChangeBase_delete
  }
}

impl ::cpp_utils::DynamicCast<::node_created_change::NodeCreatedChangeBase> for ::scene_change::SceneChange {
  fn dynamic_cast_mut(&mut self) -> ::std::option::Option<&mut ::node_created_change::NodeCreatedChangeBase> {
    let ffi_result = unsafe { ::ffi::qt_3d_core_c_QNodeCreatedChange_G_dynamic_cast_Qt3DCore_QNodeCreatedChangeBase_ptr(self as *mut ::scene_change::SceneChange) };
    unsafe { ffi_result.as_mut() }
  }

  fn dynamic_cast(&self) -> ::std::option::Option<&::node_created_change::NodeCreatedChangeBase> {
    let ffi_result = unsafe { ::ffi::qt_3d_core_c_QNodeCreatedChange_G_dynamic_cast_Qt3DCore_QNodeCreatedChangeBase_ptr(self as *const ::scene_change::SceneChange as *mut ::scene_change::SceneChange) };
    unsafe { ffi_result.as_ref() }
  }
}

impl ::cpp_utils::StaticCast<::scene_change::SceneChange> for ::node_created_change::NodeCreatedChangeBase {
  fn static_cast_mut(&mut self) -> &mut ::scene_change::SceneChange {
    let ffi_result = unsafe { ::ffi::qt_3d_core_c_QNodeCreatedChange_G_static_cast_Qt3DCore_QSceneChange_ptr(self as *mut ::node_created_change::NodeCreatedChangeBase) };
    unsafe { ffi_result.as_mut() }.expect("Attempted to convert null pointer to reference")
  }

  fn static_cast(&self) -> &::scene_change::SceneChange {
    let ffi_result = unsafe { ::ffi::qt_3d_core_c_QNodeCreatedChange_G_static_cast_Qt3DCore_QSceneChange_ptr(self as *const ::node_created_change::NodeCreatedChangeBase as *mut ::node_created_change::NodeCreatedChangeBase) };
    unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
  }
}

impl ::cpp_utils::UnsafeStaticCast<::node_created_change::NodeCreatedChangeBase> for ::scene_change::SceneChange {
  unsafe fn static_cast_mut(&mut self) -> &mut ::node_created_change::NodeCreatedChangeBase {
    let ffi_result = ::ffi::qt_3d_core_c_QNodeCreatedChange_G_static_cast_Qt3DCore_QNodeCreatedChangeBase_ptr(self as *mut ::scene_change::SceneChange);
    ffi_result.as_mut().expect("Attempted to convert null pointer to reference")
  }

  unsafe fn static_cast(&self) -> &::node_created_change::NodeCreatedChangeBase {
    let ffi_result = ::ffi::qt_3d_core_c_QNodeCreatedChange_G_static_cast_Qt3DCore_QNodeCreatedChangeBase_ptr(self as *const ::scene_change::SceneChange as *mut ::scene_change::SceneChange);
    ffi_result.as_ref().expect("Attempted to convert null pointer to reference")
  }
}

impl ::std::ops::Deref for ::node_created_change::NodeCreatedChangeBase {
  type Target = ::scene_change::SceneChange;
  fn deref(&self) -> &::scene_change::SceneChange {
    let ffi_result = unsafe { ::ffi::qt_3d_core_c_QNodeCreatedChange_G_static_cast_Qt3DCore_QSceneChange_ptr(self as *const ::node_created_change::NodeCreatedChangeBase as *mut ::node_created_change::NodeCreatedChangeBase) };
    unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
  }
}

impl ::std::ops::DerefMut for ::node_created_change::NodeCreatedChangeBase {
  fn deref_mut(&mut self) -> &mut ::scene_change::SceneChange {
    let ffi_result = unsafe { ::ffi::qt_3d_core_c_QNodeCreatedChange_G_static_cast_Qt3DCore_QSceneChange_ptr(self as *mut ::node_created_change::NodeCreatedChangeBase) };
    unsafe { ffi_result.as_mut() }.expect("Attempted to convert null pointer to reference")
  }
}