pub struct CellIdentifier(pub VoxelPlainIndex, pub u64);
Available on crate feature
chili
only.Expand description
Unique identifier which is given to every cell in the simulation
The identifier is comprised of the VoxelPlainIndex in which the cell was first spawned. This can be due to initial setup or due to other methods such as division in a cell cycle. The second parameter is a counter which is unique for each voxel. This ensures that each cell obtains a unique identifier over the course of the simulation.
Tuple Fields§
§0: VoxelPlainIndex
§1: u64
Implementations§
Source§impl CellIdentifier
impl CellIdentifier
Sourcepub fn new(voxel_plain_index: VoxelPlainIndex, counter: u64) -> Self
pub fn new(voxel_plain_index: VoxelPlainIndex, counter: u64) -> Self
Constructs a new CellIdentifier
Sourcepub fn __deepcopy__(&self, _memo: Bound<'_, PyDict>) -> Self
pub fn __deepcopy__(&self, _memo: Bound<'_, PyDict>) -> Self
Returns an identical clone of the identifier
Sourcepub fn __getitem__<'py>(
&self,
py: Python<'py>,
key: usize,
) -> PyResult<Bound<'py, PyAny>>
pub fn __getitem__<'py>( &self, py: Python<'py>, key: usize, ) -> PyResult<Bound<'py, PyAny>>
Implementes the __getitem__
method. Since the CellIdentifier is built like a list this
only works for the entires 0 and 1 and will yield an error otherwise
Trait Implementations§
Source§impl Clone for CellIdentifier
impl Clone for CellIdentifier
Source§fn clone(&self) -> CellIdentifier
fn clone(&self) -> CellIdentifier
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CellIdentifier
impl Debug for CellIdentifier
Source§impl<'de> Deserialize<'de> for CellIdentifier
impl<'de> Deserialize<'de> for CellIdentifier
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for CellIdentifier
impl Hash for CellIdentifier
Source§impl IntoPy<Py<PyAny>> for CellIdentifier
impl IntoPy<Py<PyAny>> for CellIdentifier
Source§impl<'py> IntoPyObject<'py> for CellIdentifier
impl<'py> IntoPyObject<'py> for CellIdentifier
Source§type Target = CellIdentifier
type Target = CellIdentifier
The Python output type
Source§type Output = Bound<'py, <CellIdentifier as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <CellIdentifier as IntoPyObject<'py>>::Target>
The smart pointer type to use. Read more
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Performs the conversion.
Source§impl Ord for CellIdentifier
impl Ord for CellIdentifier
Source§fn cmp(&self, other: &CellIdentifier) -> Ordering
fn cmp(&self, other: &CellIdentifier) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for CellIdentifier
impl PartialEq for CellIdentifier
Source§impl PartialOrd for CellIdentifier
impl PartialOrd for CellIdentifier
Source§impl PyClass for CellIdentifier
impl PyClass for CellIdentifier
Source§impl PyClassImpl for CellIdentifier
impl PyClassImpl for CellIdentifier
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
#[pyclass(subclass)]
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
#[pyclass(extends=…)]
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
#[pyclass(mapping)]
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
#[pyclass(sequence)]
Source§type ThreadChecker = SendablePyClass<CellIdentifier>
type ThreadChecker = SendablePyClass<CellIdentifier>
This handles following two situations: Read more
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Immutable or mutable
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
The closest native ancestor. This is
PyAny
by default, and when you declare
#[pyclass(extends=PyDict)]
, it’s PyDict
.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature<CellIdentifier> for PyClassImplCollector<CellIdentifier>
impl PyClassNewTextSignature<CellIdentifier> for PyClassImplCollector<CellIdentifier>
fn new_text_signature(self) -> Option<&'static str>
Source§impl PyClass__eq__SlotFragment<CellIdentifier> for PyClassImplCollector<CellIdentifier>
impl PyClass__eq__SlotFragment<CellIdentifier> for PyClassImplCollector<CellIdentifier>
Source§impl PyClass__lt__SlotFragment<CellIdentifier> for PyClassImplCollector<CellIdentifier>
impl PyClass__lt__SlotFragment<CellIdentifier> for PyClassImplCollector<CellIdentifier>
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a CellIdentifier
impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a CellIdentifier
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a mut CellIdentifier
impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a mut CellIdentifier
Source§impl PyMethods<CellIdentifier> for PyClassImplCollector<CellIdentifier>
impl PyMethods<CellIdentifier> for PyClassImplCollector<CellIdentifier>
fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for CellIdentifier
impl PyTypeInfo for CellIdentifier
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Returns the PyTypeObject instance for this type.
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
Returns the safe abstraction over the type object.
§fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
👎Deprecated since 0.23.0: renamed to
PyTypeInfo::type_object
Deprecated name for [
PyTypeInfo::type_object
].§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
Checks if
object
is an instance of this type or a subclass of this type.§fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
👎Deprecated since 0.23.0: renamed to
PyTypeInfo::is_type_of
Deprecated name for [
PyTypeInfo::is_type_of
].§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
Checks if
object
is an instance of this type.§fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
👎Deprecated since 0.23.0: renamed to
PyTypeInfo::is_exact_type_of
Deprecated name for [
PyTypeInfo::is_exact_type_of
].Source§impl Serialize for CellIdentifier
impl Serialize for CellIdentifier
impl Copy for CellIdentifier
impl DerefToPyAny for CellIdentifier
impl Eq for CellIdentifier
impl StructuralPartialEq for CellIdentifier
Auto Trait Implementations§
impl Freeze for CellIdentifier
impl RefUnwindSafe for CellIdentifier
impl Send for CellIdentifier
impl Sync for CellIdentifier
impl Unpin for CellIdentifier
impl UnwindSafe for CellIdentifier
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> FromPyObject<'_> for Twhere
T: PyClass + Clone,
impl<T> FromPyObject<'_> for Twhere
T: PyClass + Clone,
§fn extract_bound(obj: &Bound<'_, PyAny>) -> Result<T, PyErr>
fn extract_bound(obj: &Bound<'_, PyAny>) -> Result<T, PyErr>
§impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
§fn from_py_object_bound(ob: Borrowed<'_, 'py, PyAny>) -> Result<T, PyErr>
fn from_py_object_bound(ob: Borrowed<'_, 'py, PyAny>) -> Result<T, PyErr>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
Converts
self
into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
Converts
self
into an owned Python object, dropping type information and unbinding it
from the 'py
lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
Converts
self
into a Python object. Read more