ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder

Contents

ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder#

Module Contents#

Classes#

TikzNameHandler

This class tracks the unique identification names

EmptyTikzNode

ProcessStepNode

IntermediateStorage

SinkRow

SourceRow

SourceAndSinkRow

SortedProcessChainLevel

This class keeps tack of the sorted nodes

SortedNetworkLevel

FilledProcessStepChain

NetworkLevelMatrix

EnterpriseGraphBuilderTikz

Attributes#

document_preamble_str

document_preamble

document_postamble

ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.document_preamble_str = Multiline-String#
Show Value
"""\documentclass[tikz]{standalone}
\usepackage{graphicx} % Required for inserting images
\usepackage{tikz}
\usetikzlibrary{shadows}
\usepackage{xcolor}
\usetikzlibrary{backgrounds}
\usetikzlibrary {shapes.geometric}

\usetikzlibrary {arrows.meta,automata,positioning,fit,calc}

\definecolor{ProcessStepBackground}{HTML}{FFFAF0}
\definecolor{IntermediateStateColour}{HTML}{949698}

\tikzstyle{NetworkLevel} =[draw,trapezium,trapezium stretches body,trapezium left angle=100, trapezium right angle=100]
\tikzstyle{InfinitesimalNode}=[circle,draw=none,inner sep=0pt,minimum size=0pt]
\tikzstyle{ProcessStepNode} =[draw,fill=ProcessStepBackground,rounded corners,text width=2 cm,align=center]
\tikzstyle{IdleState} =[fill=yellow,rounded corners]
\tikzstyle{OutputState} =[fill=red,rounded corners]
\tikzstyle{InputState} =[fill=green,rounded corners]
\tikzstyle{IntermediateState} =[fill=IntermediateStateColour,rounded corners]
\tikzstyle{Source} =[fill=ProcessStepBackground,shape border rotate=90,aspect=0.1,draw]
\tikzstyle{Sink} =[fill=ProcessStepBackground,shape border rotate=90,aspect=0.1,draw]
\tikzstyle{SourceOrSink} =[fill=ProcessStepBackground,cylinder, shape border rotate=90,aspect=0.1,draw,text width=2 cm,align=center]
\tikzset{
diagonal fill/.style 2 args={fill=#2, path picture={
\fill[#1, sharp corners] (path picture bounding box.south west) -|
                         (path picture bounding box.north east) -- cycle;}},
reversed diagonal fill/.style 2 args={fill=#2, path picture={
\fill[#1, sharp corners] (path picture bounding box.north west) |-
                         (path picture bounding box.south east) -- cycle;}}
}

\tikzstyle{InputAndOutputState} =[diagonal fill={red}{green},rounded corners, drop shadow,draw ]

\begin{document}
\begin{tikzpicture}[->,auto,node distance=1cm,on grid,semithick]"""
ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.document_preamble#
ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.document_postamble = Multiline-String#
Show Value
"""\end{tikzpicture}
\end{document}
"""
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.TikzNameHandler#

This class tracks the unique identification names that are used in the tikz graph.

create_unique_tikz_identification_name(input_name: str) str#
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.EmptyTikzNode#
unique_name: str#
tikz_options: str = 'InfinitesimalNode'#
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.ProcessStepNode#
tex_name: str#
name_in_simulation: str#
name_to_display: str#
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.IntermediateStorage#
sink: ethos_penalps.process_nodes.sink.Sink#
source: ethos_penalps.process_nodes.source.Source#
unique_name: str#
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.SinkRow#
main_sink: ethos_penalps.process_nodes.sink.Sink#
unique_identification_name: str#
create_tikz_string()#
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.SourceRow#
main_source: ethos_penalps.process_nodes.source.Source#
unique_identification_name: str#
unique_name_of_object_below_source: str#
create_tikz_string()#
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.SourceAndSinkRow#

Bases: SinkRow, SourceRow

__post_init__()#
create_tikz_string()#
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.SortedProcessChainLevel#

This class keeps tack of the sorted nodes in a process chain.

process_chain: ethos_penalps.process_chain.ProcessChain#
main_sink: ethos_penalps.process_nodes.sink.Sink#
main_source: ethos_penalps.process_nodes.source.Source#
tikz_name_handler: TikzNameHandler#
unique_source_name: str#
unique_sink_name: str#
__post_init__()#
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.SortedNetworkLevel#
network_level: ethos_penalps.network_level.NetworkLevel#
tikz_name_handler: TikzNameHandler#
previous_source_row: SourceRow | None#
__post_init__()#
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.FilledProcessStepChain#
name_to_display: str#
maximum_chain_length: int#
unique_chain_name: str#
list_of_process_step_tikz_nodes: list[ethos_penalps.post_processing.tikz_visualizations.tikz_wrapper.TikzNode]#
__post_init__()#
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.NetworkLevelMatrix#
unique_tikz_name: str#
sorted_network_level: SortedNetworkLevel#
__post_init__()#
create_tikz_matrix_string() str#
class ethos_penalps.post_processing.tikz_visualizations.enterprise_graph_builder.EnterpriseGraphBuilderTikz(enterprise_name: str, list_of_network_level: list[ethos_penalps.network_level.NetworkLevel])#
save_tex_file(full_path: str)#
create_tex_file(full_path: str)#
create_list_of_sorted_network_level() list[SortedNetworkLevel]#
create_network_level_nodes(list_of_sorted_network_level: list[SortedNetworkLevel]) str#
create_title_string(list_of_sorted_network_level: list[SortedNetworkLevel]) str#
create_network_level_matrix(sorted_network_level: SortedNetworkLevel) NetworkLevelMatrix#
create_network_level_edges(list_of_sorted_network_level: list[SortedNetworkLevel]) str#
create_title_node() ethos_penalps.post_processing.tikz_visualizations.tikz_wrapper.TikzNode#
compile_pdf() str#
convert_pdf_to_png(path_to_pdf: str) str#
create_enterprise_graph(path_to_results_folder: str, show_graph: bool = True, output_format: str = 'pdf') str#