https://mooseframework.inl.gov
EFAFragment.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include <vector>
13 #include <map>
14 #include <set>
15 
16 class EFANode;
17 
19 {
20 public:
21  EFAFragment();
22  virtual ~EFAFragment();
23 
24  virtual void switchNode(EFANode * new_node, EFANode * old_node) = 0;
25  virtual bool containsNode(EFANode * node) const = 0;
26  virtual unsigned int getNumCuts() const = 0;
27  virtual unsigned int getNumCutNodes() const = 0;
28  virtual std::set<EFANode *> getAllNodes() const = 0;
29  virtual bool isConnected(EFAFragment * other_fragment) const = 0;
30  virtual void removeInvalidEmbeddedNodes(std::map<unsigned int, EFANode *> & EmbeddedNodes) = 0;
31 
32  // common methods
33  std::vector<EFANode *> getCommonNodes(EFAFragment * other) const;
34 };
virtual std::set< EFANode * > getAllNodes() const =0
virtual bool containsNode(EFANode *node) const =0
virtual bool isConnected(EFAFragment *other_fragment) const =0
std::vector< EFANode * > getCommonNodes(EFAFragment *other) const
Definition: EFAFragment.C:20
virtual void removeInvalidEmbeddedNodes(std::map< unsigned int, EFANode *> &EmbeddedNodes)=0
virtual unsigned int getNumCutNodes() const =0
virtual ~EFAFragment()
Definition: EFAFragment.C:17
virtual void switchNode(EFANode *new_node, EFANode *old_node)=0
virtual unsigned int getNumCuts() const =0