pub enum DataModelEntities {
All,
Rooted,
}Expand description
Which STEP instances the data model’s entities table carries.
OPT-IN, defaulting to Self::All, because the default table is a public
payload: a client that looks up a non-rooted instance by id (an
IfcCartesianPoint, an IfcPropertySingleValue) keeps working, and a
default request writes and reads exactly the bytes it did before #6034.
Self::Rooted is for the clients that only ever look up objects. On a
large architectural model about five in six entity rows are geometry and
property plumbing with no GlobalId (IfcPolyLoop, IfcFace,
IfcCartesianPoint, IfcPropertySingleValue, …), none of which another
table of the data model points at: property values are already flattened
into the properties table, quantities into the quantities table.
The two variants are cached under separate keys (see
routes::parse::cache_keys::data_model_cache_key), so a warm cache can
never answer one with the other.
Variants§
All
Every STEP instance in the file. The only behaviour before #6034.
Rooted
Only rooted entities (IfcRoot subtypes, the ones carrying a
GlobalId), plus every non-rooted instance another table of the same
data model references by id, so no relation dangles. See
retain_rooted_entities.
Implementations§
Source§impl DataModelEntities
impl DataModelEntities
Sourcepub(crate) fn cache_infix(self) -> &'static str
pub(crate) fn cache_infix(self) -> &'static str
The data-model cache-key infix naming this variant. Empty for
Self::All, so a default request keeps hitting the entries already
on disk.
Trait Implementations§
Source§impl Clone for DataModelEntities
impl Clone for DataModelEntities
Source§fn clone(&self) -> DataModelEntities
fn clone(&self) -> DataModelEntities
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DataModelEntities
impl Debug for DataModelEntities
Source§impl Default for DataModelEntities
impl Default for DataModelEntities
Source§fn default() -> DataModelEntities
fn default() -> DataModelEntities
Source§impl<'de> Deserialize<'de> for DataModelEntities
impl<'de> Deserialize<'de> for DataModelEntities
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>,
Source§impl PartialEq for DataModelEntities
impl PartialEq for DataModelEntities
impl Copy for DataModelEntities
impl Eq for DataModelEntities
impl StructuralPartialEq for DataModelEntities
Auto Trait Implementations§
impl Freeze for DataModelEntities
impl RefUnwindSafe for DataModelEntities
impl Send for DataModelEntities
impl Sync for DataModelEntities
impl Unpin for DataModelEntities
impl UnwindSafe for DataModelEntities
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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
§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
key and return true if they are equal.§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>
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>
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<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.