523 lines
43 KiB
XML
523 lines
43 KiB
XML
|
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||
|
|
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.13.2" xml:lang="en-US">
|
||
|
|
<compounddef id="connected_8hpp" kind="file" language="C++">
|
||
|
|
<compoundname>connected.hpp</compoundname>
|
||
|
|
<includes local="no">cstddef</includes>
|
||
|
|
<includes local="no">optional</includes>
|
||
|
|
<includes local="no">vector</includes>
|
||
|
|
<includes refid="discretization_2domain_2concepts_8hpp" local="yes">serif/discretization/domain/concepts.hpp</includes>
|
||
|
|
<includes refid="discretization_2domain_2mesh_2topology_8hpp" local="yes">serif/discretization/domain/mesh/topology.hpp</includes>
|
||
|
|
<includes refid="discretization_2domain_2relation_2relations_8hpp" local="yes">serif/discretization/domain/relation/relations.hpp</includes>
|
||
|
|
<includes refid="discretization_2domain_2relation_2validation_2runtime_8hpp" local="yes">serif/discretization/domain/relation/validation/runtime.hpp</includes>
|
||
|
|
<includes refid="discretization_2domain_2schema_2concepts_8hpp" local="yes">serif/discretization/domain/schema/concepts.hpp</includes>
|
||
|
|
<includes refid="validator_8hpp" local="yes">serif/discretization/domain/schema/validation/validator.hpp</includes>
|
||
|
|
<includedby refid="all_8hpp" local="yes">src/include/serif/discretization/domain/schema/validation/all.hpp</includedby>
|
||
|
|
<incdepgraph>
|
||
|
|
<node id="5">
|
||
|
|
<label>serif/discretization/domain/concepts.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2concepts_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="6" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="7" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="8" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="9" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="10" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="11" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="12" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="14" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="29">
|
||
|
|
<label>serif/discretization/domain/ids/boundary.hpp</label>
|
||
|
|
<link refid="ids_2boundary_8hpp"/>
|
||
|
|
<childnode refid="6" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="5" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="28">
|
||
|
|
<label>serif/discretization/domain/ids/concepts.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2ids_2concepts_8hpp"/>
|
||
|
|
<childnode refid="29" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="30" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="30">
|
||
|
|
<label>serif/discretization/domain/ids/domain.hpp</label>
|
||
|
|
<link refid="domain_8hpp"/>
|
||
|
|
<childnode refid="6" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="5" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="24">
|
||
|
|
<label>serif/discretization/domain/ids/lists/concepts.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2ids_2lists_2concepts_8hpp"/>
|
||
|
|
<childnode refid="25" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="26">
|
||
|
|
<label>serif/discretization/domain/ids/lists/lists.hpp</label>
|
||
|
|
<link refid="lists_8hpp"/>
|
||
|
|
<childnode refid="8" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="27" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="14" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="25">
|
||
|
|
<label>serif/discretization/domain/ids/lists/traits.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2ids_2lists_2traits_8hpp"/>
|
||
|
|
<childnode refid="26" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="27">
|
||
|
|
<label>serif/discretization/domain/ids/validation/concepts.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2ids_2validation_2concepts_8hpp"/>
|
||
|
|
<childnode refid="28" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="31" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="32" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="31">
|
||
|
|
<label>serif/discretization/domain/ids/validation/unique_ids.hpp</label>
|
||
|
|
<link refid="unique__ids_8hpp"/>
|
||
|
|
<childnode refid="8" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="18" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="13" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="14" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="15">
|
||
|
|
<label>serif/discretization/domain/mesh/topology.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2mesh_2topology_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="4" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="37">
|
||
|
|
<label>serif/discretization/domain/relation/concepts.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2relation_2concepts_8hpp"/>
|
||
|
|
<childnode refid="16" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="12" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="34">
|
||
|
|
<label>serif/discretization/domain/relation/lists/concepts.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2relation_2lists_2concepts_8hpp"/>
|
||
|
|
<childnode refid="35" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="36">
|
||
|
|
<label>serif/discretization/domain/relation/lists/relation_list.hpp</label>
|
||
|
|
<link refid="relation__list_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="37" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="14" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="35">
|
||
|
|
<label>serif/discretization/domain/relation/lists/traits.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2relation_2lists_2traits_8hpp"/>
|
||
|
|
<childnode refid="36" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="16">
|
||
|
|
<label>serif/discretization/domain/relation/relations.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2relation_2relations_8hpp"/>
|
||
|
|
<childnode refid="6" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="5" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="17" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="14" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="38">
|
||
|
|
<label>serif/discretization/domain/relation/validation/concepts.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2relation_2validation_2concepts_8hpp"/>
|
||
|
|
<childnode refid="39" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="19">
|
||
|
|
<label>serif/discretization/domain/relation/validation/runtime.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2relation_2validation_2runtime_8hpp"/>
|
||
|
|
<childnode refid="20" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="3" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="39">
|
||
|
|
<label>serif/discretization/domain/relation/validation/validation.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2relation_2validation_2validation_8hpp"/>
|
||
|
|
<childnode refid="13" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="5" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="24" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="37" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="34" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="36" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="40" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="40">
|
||
|
|
<label>serif/discretization/domain/resolver.hpp</label>
|
||
|
|
<link refid="resolver_8hpp"/>
|
||
|
|
<childnode refid="5" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="24" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="26" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="21">
|
||
|
|
<label>serif/discretization/domain/schema/concepts.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2schema_2concepts_8hpp"/>
|
||
|
|
<childnode refid="22" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="23">
|
||
|
|
<label>serif/discretization/domain/schema/domain_schema.hpp</label>
|
||
|
|
<link refid="domain__schema_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="5" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="24" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="34" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="38" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="40" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="22">
|
||
|
|
<label>serif/discretization/domain/schema/traits.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2schema_2traits_8hpp"/>
|
||
|
|
<childnode refid="23" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="1">
|
||
|
|
<label>src/include/serif/discretization/domain/schema/validation/connected.hpp</label>
|
||
|
|
<link refid="connected_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="3" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="4" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="5" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="15" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="16" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="19" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="21" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="41" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="42">
|
||
|
|
<label>serif/discretization/domain/schema/validation/results.hpp</label>
|
||
|
|
<link refid="results_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="3" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="6" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="4" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="9" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="43" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="19" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="41">
|
||
|
|
<label>serif/discretization/domain/schema/validation/validator.hpp</label>
|
||
|
|
<link refid="validator_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="15" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="37" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="36" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="19" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="21" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="42" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="11">
|
||
|
|
<label>serif/discretization/domain/types.hpp</label>
|
||
|
|
<link refid="discretization_2domain_2types_8hpp"/>
|
||
|
|
<childnode refid="6" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="17">
|
||
|
|
<label>serif/utils/misc/concepts/numeric.hpp</label>
|
||
|
|
<link refid="numeric_8hpp"/>
|
||
|
|
<childnode refid="18" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="13" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="32">
|
||
|
|
<label>serif/utils/misc/concepts/type_uniqueness.hpp</label>
|
||
|
|
<link refid="concepts_2type__uniqueness_8hpp"/>
|
||
|
|
<childnode refid="33" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="12">
|
||
|
|
<label>serif/utils/misc/std_helper/cleaning.hpp</label>
|
||
|
|
<link refid="cleaning_8hpp"/>
|
||
|
|
<childnode refid="13" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="14">
|
||
|
|
<label>serif/utils/misc/std_helper/variadic_cleaning.hpp</label>
|
||
|
|
<link refid="variadic__cleaning_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="33">
|
||
|
|
<label>serif/utils/misc/traits/type_uniqueness.hpp</label>
|
||
|
|
<link refid="traits_2type__uniqueness_8hpp"/>
|
||
|
|
<childnode refid="8" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="12" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="8">
|
||
|
|
<label>array</label>
|
||
|
|
</node>
|
||
|
|
<node id="18">
|
||
|
|
<label>concepts</label>
|
||
|
|
</node>
|
||
|
|
<node id="2">
|
||
|
|
<label>cstddef</label>
|
||
|
|
</node>
|
||
|
|
<node id="20">
|
||
|
|
<label>cstdint</label>
|
||
|
|
</node>
|
||
|
|
<node id="9">
|
||
|
|
<label>format</label>
|
||
|
|
</node>
|
||
|
|
<node id="10">
|
||
|
|
<label>numeric</label>
|
||
|
|
</node>
|
||
|
|
<node id="3">
|
||
|
|
<label>optional</label>
|
||
|
|
</node>
|
||
|
|
<node id="7">
|
||
|
|
<label>span</label>
|
||
|
|
</node>
|
||
|
|
<node id="43">
|
||
|
|
<label>string</label>
|
||
|
|
</node>
|
||
|
|
<node id="6">
|
||
|
|
<label>string_view</label>
|
||
|
|
</node>
|
||
|
|
<node id="13">
|
||
|
|
<label>type_traits</label>
|
||
|
|
</node>
|
||
|
|
<node id="4">
|
||
|
|
<label>vector</label>
|
||
|
|
</node>
|
||
|
|
</incdepgraph>
|
||
|
|
<invincdepgraph>
|
||
|
|
<node id="3">
|
||
|
|
<label>src/compile_time_checks/serif/backend_independent.cpp</label>
|
||
|
|
<link refid="backend__independent_8cpp"/>
|
||
|
|
</node>
|
||
|
|
<node id="4">
|
||
|
|
<label>src/include/serif/backend/mfem/discretization/schema.hpp</label>
|
||
|
|
<link refid="backend_2mfem_2discretization_2schema_8hpp"/>
|
||
|
|
</node>
|
||
|
|
<node id="2">
|
||
|
|
<label>src/include/serif/discretization/domain/schema/validation/all.hpp</label>
|
||
|
|
<link refid="all_8hpp"/>
|
||
|
|
<childnode refid="3" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="4" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="1">
|
||
|
|
<label>src/include/serif/discretization/domain/schema/validation/connected.hpp</label>
|
||
|
|
<link refid="connected_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
</invincdepgraph>
|
||
|
|
<innerclass refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_relation_validator_3_01_full9139a5096b6954642a7205a90032d6bc" prot="public">serif::discretization::domain::schema::validation::RelationValidator< FullyConnected< DomainT > ></innerclass>
|
||
|
|
<innerclass refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_fully_connected" prot="public">serif::discretization::domain::schema::validation::FullyConnected</innerclass>
|
||
|
|
<innernamespace refid="namespaceserif">serif</innernamespace>
|
||
|
|
<innernamespace refid="namespaceserif_1_1discretization">serif::discretization</innernamespace>
|
||
|
|
<innernamespace refid="namespaceserif_1_1discretization_1_1domain">serif::discretization::domain</innernamespace>
|
||
|
|
<innernamespace refid="namespaceserif_1_1discretization_1_1domain_1_1schema">serif::discretization::domain::schema</innernamespace>
|
||
|
|
<innernamespace refid="namespaceserif_1_1discretization_1_1domain_1_1schema_1_1validation">serif::discretization::domain::schema::validation</innernamespace>
|
||
|
|
<briefdescription>
|
||
|
|
<para>File containing the specialization of RelationValidator for <ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_fully_connected" kindref="compound">FullyConnected</ref> relations. This relation enforces that a domain is fully connected, meaning that all elements of the domain are reachable from any other element of the domain. </para>
|
||
|
|
</briefdescription>
|
||
|
|
<detaileddescription>
|
||
|
|
<para><simplesect kind="author"><para>Emily M. Boudreaux </para>
|
||
|
|
</simplesect>
|
||
|
|
</para>
|
||
|
|
</detaileddescription>
|
||
|
|
<programlisting>
|
||
|
|
<codeline lineno="1"><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="10"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><cstddef></highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="12"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><optional></highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="13"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><vector></highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="14"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="15"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="discretization_2domain_2concepts_8hpp" kindref="compound">serif/discretization/domain/concepts.hpp</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="discretization_2domain_2mesh_2topology_8hpp" kindref="compound">serif/discretization/domain/mesh/topology.hpp</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="discretization_2domain_2relation_2relations_8hpp" kindref="compound">serif/discretization/domain/relation/relations.hpp</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="discretization_2domain_2relation_2validation_2runtime_8hpp" kindref="compound">serif/discretization/domain/relation/validation/runtime.hpp</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="19"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="discretization_2domain_2schema_2concepts_8hpp" kindref="compound">serif/discretization/domain/schema/concepts.hpp</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="validator_8hpp" kindref="compound">serif/discretization/domain/schema/validation/validator.hpp</ref>"</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="21"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="22"><highlight class="normal"></highlight><highlight class="comment">//<sp/>FullyConnected<DomainT>:<sp/>walk<sp/>the<sp/>domain<sp/>from<sp/>one<sp/>of<sp/>its<sp/>elements<sp/>and<sp/>check<sp/>we</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="23"><highlight class="normal"></highlight><highlight class="comment">//<sp/>reach<sp/>all<sp/>of<sp/>them.</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="24"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1discretization_1_1domain_1_1schema_1_1validation" kindref="compound">serif::discretization::domain::schema::validation</ref><sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="25"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">relation::FullyConnected;</highlight></codeline>
|
||
|
|
<codeline lineno="26"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">relation::validation::RelationValidationResult;</highlight></codeline>
|
||
|
|
<codeline lineno="28"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1discretization_1_1domain_1_1relation_1_1validation_1afb547c803b70b3013bc47f86612b950f" kindref="member">relation::validation::RelationValidationFailure</ref>;</highlight></codeline>
|
||
|
|
<codeline lineno="29"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="36"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/><IsDomainOrSet<sp/>DomainT></highlight></codeline>
|
||
|
|
<codeline lineno="37" refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_relation_validator_3_01_full9139a5096b6954642a7205a90032d6bc" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_relation_validator" kindref="compound">RelationValidator</ref><<ref refid="structserif_1_1discretization_1_1domain_1_1relation_1_1_fully_connected" kindref="compound">FullyConnected</ref><DomainT>><sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="38"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/><IsSchema<sp/>SchemaT></highlight></codeline>
|
||
|
|
<codeline lineno="39"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1domain_1_1relation_1_1validation_1_1_relation_validation_result" kindref="compound">RelationValidationResult</ref><sp/><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_relation_validator_3_01_full9139a5096b6954642a7205a90032d6bc_1ac3be66dc4b17e02240373b7212d04505" kindref="member">validate</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology" kindref="compound">mesh::MeshTopology</ref><sp/>&topology)<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="40"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(SchemaT::template<sp/>contains_domain<DomainT>(),<sp/></highlight><highlight class="stringliteral">"Domain<sp/>not<sp/>present,<sp/>cannot<sp/>determine<sp/>connectedness."</highlight><highlight class="normal">);</highlight></codeline>
|
||
|
|
<codeline lineno="41"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>elementCount<sp/>=<sp/>topology.<ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1af3b8987f6c3365adf17ee0f07795897e" kindref="member">element_count</ref>();</highlight></codeline>
|
||
|
|
<codeline lineno="43"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="44"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>We<sp/>should<sp/>be<sp/>careful<sp/>here<sp/>that<sp/>I<sp/>have<sp/>not<sp/>accidentally<sp/>introduced<sp/>an<sp/>issue<sp/>due<sp/>to<sp/>the<sp/>specialized<sp/>vector<sp/>bool<sp/>override.<sp/>I<sp/>think<sp/>this<sp/>is<sp/>safe<sp/>though.</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="45"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector<bool><sp/>belongsToDomain(</highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">std::size_t</highlight><highlight class="keyword">></highlight><highlight class="normal">(elementCount),<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">);</highlight></codeline>
|
||
|
|
<codeline lineno="46"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="47"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>domainElementCount<sp/>=<sp/>0;</highlight></codeline>
|
||
|
|
<codeline lineno="48"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>firstDomainElement<sp/>=<sp/>-1;</highlight></codeline>
|
||
|
|
<codeline lineno="49"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="50"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>elementID<sp/>=<sp/>0;<sp/>elementID<sp/><<sp/>elementCount;<sp/>++elementID)<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="51"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>domainID<sp/>=<sp/>topology.<ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1abe06f844cc01a3c0061c04cfd95c37b4" kindref="member">element_domain_id</ref>(elementID);</highlight></codeline>
|
||
|
|
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>belongs<sp/>=<sp/>SchemaT::template<sp/>domain_id_belongs_to<DomainT>(domainID);</highlight></codeline>
|
||
|
|
<codeline lineno="53"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="54"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belongsToDomain[</highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">std::size_t</highlight><highlight class="keyword">></highlight><highlight class="normal">(elementID)]<sp/>=<sp/>belongs;</highlight></codeline>
|
||
|
|
<codeline lineno="55"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!belongs)<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">continue</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="59"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>++domainElementCount;</highlight></codeline>
|
||
|
|
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(firstDomainElement<sp/><<sp/>0)<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>firstDomainElement<sp/>=<sp/>elementID;</highlight></codeline>
|
||
|
|
<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="65"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(domainElementCount<sp/>==<sp/>0)<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.failure<sp/>=<sp/>RelationValidationFailure::DomainAbsent,</highlight></codeline>
|
||
|
|
<codeline lineno="69"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.connectedDiagnostics<sp/>=<sp/><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_relation_validation_result_1_1_connected_diagnostics" kindref="compound">RelationValidationResult::ConnectedDiagnostics</ref>{</highlight></codeline>
|
||
|
|
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.domainElementCount<sp/><sp/>=<sp/>0,</highlight></codeline>
|
||
|
|
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.visitedElementCount<sp/>=<sp/>0</highlight></codeline>
|
||
|
|
<codeline lineno="72"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}};</highlight></codeline>
|
||
|
|
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="74"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector<bool><sp/>visited(</highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">std::size_t</highlight><highlight class="keyword">></highlight><highlight class="normal">(elementCount),<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">);</highlight></codeline>
|
||
|
|
<codeline lineno="76"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector<int><sp/>pending;</highlight></codeline>
|
||
|
|
<codeline lineno="77"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pending.reserve(</highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">std::size_t</highlight><highlight class="keyword">></highlight><highlight class="normal">(domainElementCount));</highlight></codeline>
|
||
|
|
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pending.push_back(firstDomainElement);</highlight></codeline>
|
||
|
|
<codeline lineno="80"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>visitedElementCount<sp/>=<sp/>0;</highlight></codeline>
|
||
|
|
<codeline lineno="82"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(!pending.empty())<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>elementID<sp/>=<sp/>pending.back();</highlight></codeline>
|
||
|
|
<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pending.pop_back();</highlight></codeline>
|
||
|
|
<codeline lineno="86"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(visited[</highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">std::size_t</highlight><highlight class="keyword">></highlight><highlight class="normal">(elementID)])<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">continue</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="90"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>visited[</highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">std::size_t</highlight><highlight class="keyword">></highlight><highlight class="normal">(elementID)]<sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>++visitedElementCount;</highlight></codeline>
|
||
|
|
<codeline lineno="93"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>neighborElementID<sp/>:<sp/>topology.<ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1ab1f6807b2afdacc5d0dea5b516f4e4ae" kindref="member">element_neighbors</ref>(elementID))<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::size_t<sp/>neighborIndex<sp/>=<sp/></highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">std::size_t</highlight><highlight class="keyword">></highlight><highlight class="normal">(neighborElementID);</highlight></codeline>
|
||
|
|
<codeline lineno="96"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(belongsToDomain[neighborIndex]<sp/>&&<sp/>!visited[neighborIndex])<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pending.push_back(neighborElementID);</highlight></codeline>
|
||
|
|
<codeline lineno="99"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="102"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(visitedElementCount<sp/>==<sp/>domainElementCount)<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.connectedDiagnostics<sp/>=<sp/><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_relation_validation_result_1_1_connected_diagnostics" kindref="compound">RelationValidationResult::ConnectedDiagnostics</ref>{.domainElementCount<sp/>=<sp/>domainElementCount,<sp/>.visitedElementCount<sp/>=<sp/>visitedElementCount}</highlight></codeline>
|
||
|
|
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
|
||
|
|
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="108"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>disconnectedElementID<sp/>=<sp/>-1;</highlight></codeline>
|
||
|
|
<codeline lineno="110"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="111"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>elementID<sp/>=<sp/>0;<sp/>elementID<sp/><<sp/>elementCount;<sp/>++elementID)<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::size_t<sp/>index<sp/>=<sp/></highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal">std::size_t</highlight><highlight class="keyword">></highlight><highlight class="normal">(elementID);</highlight></codeline>
|
||
|
|
<codeline lineno="113"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(belongsToDomain[index]<sp/>&&<sp/>!visited[index])<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>disconnectedElementID<sp/>=<sp/>elementID;</highlight></codeline>
|
||
|
|
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="119"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.failure<sp/>=<sp/>RelationValidationFailure::DomainDisconnected,</highlight></codeline>
|
||
|
|
<codeline lineno="122"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.connectedDiagnostics<sp/>=<sp/><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_relation_validation_result_1_1_connected_diagnostics" kindref="compound">RelationValidationResult::ConnectedDiagnostics</ref>{</highlight></codeline>
|
||
|
|
<codeline lineno="123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.elementID<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>=<sp/>disconnectedElementID,</highlight></codeline>
|
||
|
|
<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.domainElementCount<sp/><sp/>=<sp/>domainElementCount,</highlight></codeline>
|
||
|
|
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.visitedElementCount<sp/>=<sp/>visitedElementCount</highlight></codeline>
|
||
|
|
<codeline lineno="126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}};</highlight></codeline>
|
||
|
|
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
||
|
|
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
|
||
|
|
<codeline lineno="129"><highlight class="normal">}</highlight></codeline>
|
||
|
|
</programlisting>
|
||
|
|
<location file="src/include/serif/discretization/domain/schema/validation/connected.hpp"/>
|
||
|
|
</compounddef>
|
||
|
|
</doxygen>
|