Topologic  0.8.9
WireUtility.h
1 // This file is part of Topologic software library.
2 // Copyright(C) 2019, Cardiff University and University College London
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
13 //
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <https://www.gnu.org/licenses/>.
16 
17 #pragma once
18 
19 #include "Wire.h"
20 
21 namespace Topologic {
22  namespace Utilities {
26  public ref class WireUtility
27  {
28  public:
35  static List<Shell^>^ AdjacentShells(Wire^ wire, Topology^ parentTopology);
36 
43  static List<Cell^>^ AdjacentCells(Wire^ wire, Topology^ parentTopology);
44 
51  static Wire^ RemoveCollinearEdges(Wire^ wire,
52 #ifdef TOPOLOGIC_DYNAMO
53  [DefaultArgument("0.0001")]
54 #endif
55  double tolerance);
56  public protected:
57  WireUtility() {}
58  };
59  }
60 }
static Wire ^ RemoveCollinearEdges(Wire^ wire, double tolerance)
Remove collinear edges in a Wire.
Definition: WireUtility.cpp:78
A Topology is an abstract superclass that includes constructors, properties and methods used by other...
Definition: Topology.h:53
static List< Shell^> ^ AdjacentShells(Wire^ wire, Topology^ parentTopology)
Returns a list of Shells that are the adjacent to the input Wire.
Definition: WireUtility.cpp:26
WireUtility includes geometric methods relevant to a Wire.
Definition: WireUtility.h:26
static List< Cell^> ^ AdjacentCells(Wire^ wire, Topology^ parentTopology)
Returns a list of Cells that are the adjacent to the input Wire.
Definition: WireUtility.cpp:52
Topologic is an open-source software modelling library enabling hierarchical and topological represen...
Definition: About.h:23
A Wire is a contiguous collection of Edges, where adjacent Edges are connected by shared Vertices...
Definition: Wire.h:32