fixed object-safety for BaseSceneGraph

This commit is contained in:
Dmitry Stepanov
2024-02-11 15:30:11 +03:00
parent 6499937553
commit c687608a40
7 changed files with 30 additions and 29 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ use crate::settings::{
scene::{SceneCameraSettings, SceneSettings},
Settings,
};
use fyrox::graph::BaseSceneGraph;
use fyrox::graph::{BaseSceneGraph, SceneGraph};
use fyrox::{
core::{
algebra::{Matrix4, Point3, UnitQuaternion, Vector2, Vector3},
+1 -1
View File
@@ -1,4 +1,4 @@
use fyrox::graph::BaseSceneGraph;
use fyrox::graph::{BaseSceneGraph, SceneGraph};
use fyrox::{
core::{
algebra::{Matrix4, Vector3},
+1 -1
View File
@@ -18,7 +18,7 @@ use crate::{
};
use fyrox::core::uuid::{uuid, Uuid};
use fyrox::core::TypeUuidProvider;
use fyrox::graph::BaseSceneGraph;
use fyrox::graph::SceneGraph;
use fyrox::gui::{BuildContext, UiNode};
use fyrox::{
core::{
+1 -1
View File
@@ -7,7 +7,7 @@ use crate::{
},
Message,
};
use fyrox::graph::BaseSceneGraph;
use fyrox::graph::SceneGraph;
use fyrox::{
core::pool::Handle,
engine::Engine,
+1
View File
@@ -24,6 +24,7 @@ use crate::{
},
Message,
};
use fyrox::graph::SceneGraph;
use fyrox::{
core::{
algebra::{Vector2, Vector3},
+24 -24
View File
@@ -680,30 +680,6 @@ pub trait BaseSceneGraph: 'static {
self.set_root(scheme.root);
}
}
/// Create a graph depth traversal iterator.
#[inline]
fn traverse_iter(
&self,
from: Handle<Self::Node>,
) -> GraphTraverseIterator<'_, Self, Self::Node> {
GraphTraverseIterator {
graph: self,
stack: vec![from],
}
}
/// Create a graph depth traversal iterator.
#[inline]
fn traverse_handle_iter(
&self,
from: Handle<Self::Node>,
) -> GraphHandleTraverseIterator<'_, Self, Self::Node> {
GraphHandleTraverseIterator {
graph: self,
stack: vec![from],
}
}
}
pub trait SceneGraph: BaseSceneGraph {
@@ -943,6 +919,30 @@ pub trait SceneGraph: BaseSceneGraph {
))
}
/// Create a graph depth traversal iterator.
#[inline]
fn traverse_iter(
&self,
from: Handle<Self::Node>,
) -> GraphTraverseIterator<'_, Self, Self::Node> {
GraphTraverseIterator {
graph: self,
stack: vec![from],
}
}
/// Create a graph depth traversal iterator.
#[inline]
fn traverse_handle_iter(
&self,
from: Handle<Self::Node>,
) -> GraphHandleTraverseIterator<'_, Self, Self::Node> {
GraphHandleTraverseIterator {
graph: self,
stack: vec![from],
}
}
/// This method checks integrity of the graph and restores it if needed. For example, if a node
/// was added in a parent asset, then it must be added in the graph. Alternatively, if a node was
/// deleted in a parent asset, then its instance must be deleted in the graph.
+1 -1
View File
@@ -19,7 +19,7 @@ use crate::{
Scene,
},
};
use fyrox_graph::BaseSceneGraph;
use fyrox_graph::{BaseSceneGraph, SceneGraph};
use std::ops::{Deref, DerefMut};
/// Scene specific root motion settings.