mirror of
https://github.com/FyroxEngine/Fyrox.git
synced 2026-10-12 02:02:20 +00:00
fixed object-safety for BaseSceneGraph
This commit is contained in:
@@ -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,4 +1,4 @@
|
||||
use fyrox::graph::BaseSceneGraph;
|
||||
use fyrox::graph::{BaseSceneGraph, SceneGraph};
|
||||
use fyrox::{
|
||||
core::{
|
||||
algebra::{Matrix4, Vector3},
|
||||
|
||||
@@ -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::{
|
||||
|
||||
@@ -7,7 +7,7 @@ use crate::{
|
||||
},
|
||||
Message,
|
||||
};
|
||||
use fyrox::graph::BaseSceneGraph;
|
||||
use fyrox::graph::SceneGraph;
|
||||
use fyrox::{
|
||||
core::pool::Handle,
|
||||
engine::Engine,
|
||||
|
||||
@@ -24,6 +24,7 @@ use crate::{
|
||||
},
|
||||
Message,
|
||||
};
|
||||
use fyrox::graph::SceneGraph;
|
||||
use fyrox::{
|
||||
core::{
|
||||
algebra::{Vector2, Vector3},
|
||||
|
||||
+24
-24
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user