Topologic  0.8.9
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Properties | List of all members
Topologic::Topology Class Reference

A Topology is an abstract superclass that includes constructors, properties and methods used by other subclasses that extend it. More...

#include <Topology.h>

Inheritance diagram for Topologic::Topology:
Topologic::TopologicalQuery Topologic::Aperture Topologic::Cell Topologic::CellComplex Topologic::Cluster Topologic::Edge Topologic::Face Topologic::Shell Topologic::Vertex Topologic::Wire

Public Member Functions

TopologyAddContents (List< Topology^>^ contentTopologies, int typeFilter)
 Adds a list of Topologies as contents (non-constituent members) to another Topology of a specific type. If the type filter is 0, the contents will be added to the parent topology. Otherwise, the contents will be added to the closest sub-topology which matches the filter. More...
 
TopologyRemoveContent (Topology^ contentTopology)
 Removes a content (non-constituent member) from a Topology. More...
 
TopologyRemoveContents (List< Topology^>^ contentTopologies)
 Removes contents (non-constituent members) from a Topology. More...
 
TopologyAddApertures (System::Collections::Generic::IEnumerable< Topology^>^ apertureTopologies)
 Adds Apertures to a Topology. More...
 
List< Topology^> ^ SharedTopologies (Topology^ topology, int typeFilter)
 Returns the shared Topologies between the input Topology and another Topology. More...
 
TopologyDifference (Topology^ topology)
 Performs the Difference operation between the input Topology and another Topology. More...
 
TopologyImpose (Topologic::Topology^ tool)
 Imposes another Topology on the input Topology. More...
 
TopologyImprint (Topology^ tool)
 Imprints another Topology on the input Topology. More...
 
TopologyIntersect (Topology^ topology)
 Performs the Intersection operation between the input Topology and another Topology. More...
 
TopologyMerge (Topology^ topology)
 Merges the input Topology and another Topology. More...
 
TopologySelfMerge ()
 Merges the sub-topologies of the input Topology. More...
 
TopologySlice (Topology^ tool)
 Slices the input Topology with another Topology. More...
 
TopologyDivide (Topology^ tool)
 Divides the input Topology with another Topology. More...
 
TopologyUnion (Topology^ topology)
 Unions the input Topology and another Topology. More...
 
TopologyXOR (Topology^ topology)
 Performs an XOR operation between the input Topology and another Topology. More...
 
bool ExportToBRep (String^ path)
 Exports a Topology to a BRep file (.brep). More...
 
String ^ Analyze ()
 Prints the topological information of a Topology. More...
 
bool IsSame (Topology^ topology)
 Checks if two Topologies are the same. NOTE: This is a pointer check, not a topological or a geometry one. More...
 
TopologyClosestSimplestSubshape (Topology^ selector)
 Returns the sub-topology that is the closest to the selector and the simplest (i.e. has the lowest dimensionality). More...
 
TopologySelectSubtopology (Vertex^ selector, int typeFilter)
 Returns the sub-topology that is the closest to the selector Vertex and of a specific type. More...
 
TopologyShallowCopy ()
 Copies a Topology without its contents. More...
 
TopologySetDictionary (Dictionary< String^, Object^>^ dictionary)
 Sets a dictionary for a Topology. More...
 
TopologySetDictionaries (List< Vertex^>^ selectors, List< Dictionary< String^, Object^>^>^ dictionaries, int typeFilter)
 Sets a list of dictionaries for a Topology. More...
 

Static Public Member Functions

static List< Topology^> ^ ByVerticesIndices (System::Collections::Generic::IEnumerable< Vertex^>^ vertices, System::Collections::Generic::IEnumerable< System::Collections::Generic::List< int >^>^ vertexIndices)
 Creates a Topology by a list of Vertices and a 2D list of indices of the Vertices in the first argument. An array of 1 index makes a Vertex. An array of 2 indices makes an Edge. An array of 3 indices either makes a Wire, or, when the array has at least 4 vertices and the first index is the same as the last index, a Face will be created instead. NOTE: This node currently can only create planar Faces. More...
 
static TopologyByImportedBRep (String^ path)
 Imports a Topology from a BRep file (.brep). More...
 
static List< Topology^> ^ Filter (List< Topology^>^ topologies, int typeFilter)
 Filters a list of Topologies by type. This methods returns a list of Topologies of the type specified in the typefilter. More...
 

Public Attributes

template<class T >
where T: Topology T Copy()
 Copies a Topology and its contents. More...
 

Protected Member Functions

Object ^ CleanupGeometryOutput (List< Object^>^ geometry)
 
- Protected Member Functions inherited from Topologic::TopologicalQuery
virtual std::shared_ptr< TopologicCore::TopologicalQuery > GetCoreTopologicalQuery ()=0
 

Static Protected Member Functions

static TopologyByCoreTopology (const std::shared_ptr< TopologicCore::Topology > &kpCoreTopology)
 

Properties

int Dimensionality [get]
 Returns the dimensionality of the Topology. More...
 
Object^ BasicGeometry [get]
 Creates a geometry from the Topology. More...
 
Object^ Geometry [get]
 Creates a geometry from Topology. More...
 
List< Topology^>^ Contents [get]
 Returns the contents (non-constituent members) of the input Topology. More...
 
List< Aperture^>^ Apertures [get]
 Returns the Apertures of the input Topology. More...
 
List< Topology^>^ SubContents [get]
 Returns the sub-contents (contents of the constituent members) of a Topology. More...
 
List< Context^>^ Contexts [get]
 Returns the Topologies containing the input Topology as a content. More...
 
VertexCenterOfMass [get]
 Returns the center of mass of any Topology. More...
 
VertexCentroid [get]
 Returns the centroid of any Topology. More...
 
bool IsReversed [get]
 
List< Topology^>^ SubTopologies [get]
 Returns all sub-topologies (immediate constituent members) of a Topology. More...
 
List< Shell^>^ Shells [get]
 Returns the Shells constituent to the Topology. More...
 
List< Face^>^ Faces [get]
 Returns the Faces constituent to the Topology. More...
 
List< Wire^>^ Wires [get]
 Returns the Wires constituent to the Topology. More...
 
List< Edge^>^ Edges [get]
 Returns the Edges constituent to the Topology. More...
 
List< Vertex^>^ Vertices [get]
 Returns the Vertices constituent to the Topology. More...
 
List< Cell^>^ Cells [get]
 Returns the Cells constituent to the Topology. More...
 
List< CellComplex^>^ CellComplexes [get]
 Returns the CellComplexes constituent to the Topology. More...
 
String^ TypeAsString [get]
 Returns the instance type as a string. More...
 
int Type [get]
 Returns the type associated to the Topology. More...
 
System::Collections::Generic::Dictionary< String^, Object^>^ Dictionary [get]
 Returns the dictionary of a Topology. More...
 

Detailed Description

A Topology is an abstract superclass that includes constructors, properties and methods used by other subclasses that extend it.

Member Function Documentation

◆ AddApertures()

Topology Topologic::Topology::AddApertures ( System::Collections::Generic::IEnumerable< Topology^>^  apertureTopologies)

Adds Apertures to a Topology.

Parameters
apertureTopologiesA list of Topologies associated to the apertures
Returns
The new Topology

◆ AddContents()

Topology Topologic::Topology::AddContents ( List< Topology^>^  contentTopologies,
int  typeFilter 
)

Adds a list of Topologies as contents (non-constituent members) to another Topology of a specific type. If the type filter is 0, the contents will be added to the parent topology. Otherwise, the contents will be added to the closest sub-topology which matches the filter.

Parameters
contentTopologiesThe Topologies of the content
typeFilterThe type of the context Topology
Returns
The new Topology

◆ Analyze()

String Topologic::Topology::Analyze ( )

Prints the topological information of a Topology.

Returns
The topological information of the input Topology

◆ ByImportedBRep()

Topology Topologic::Topology::ByImportedBRep ( String^  path)
static

Imports a Topology from a BRep file (.brep).

Parameters
pathThe path to the BRep file
Returns
The loaded Topology

◆ ByVerticesIndices()

List< Topology^> Topologic::Topology::ByVerticesIndices ( System::Collections::Generic::IEnumerable< Vertex^>^  vertices,
System::Collections::Generic::IEnumerable< System::Collections::Generic::List< int >^>^  vertexIndices 
)
static

Creates a Topology by a list of Vertices and a 2D list of indices of the Vertices in the first argument. An array of 1 index makes a Vertex. An array of 2 indices makes an Edge. An array of 3 indices either makes a Wire, or, when the array has at least 4 vertices and the first index is the same as the last index, a Face will be created instead. NOTE: This node currently can only create planar Faces.

Parameters
verticesA list of Vertices
vertexIndicesA 2D list of the indices of the Vertices
Returns
A Topology

◆ ClosestSimplestSubshape()

Topology Topologic::Topology::ClosestSimplestSubshape ( Topology selector)

Returns the sub-topology that is the closest to the selector and the simplest (i.e. has the lowest dimensionality).

Parameters
selectorA Topology
Returns
The closest and simplest sub-topology to the selector

◆ Difference()

Topology Topologic::Topology::Difference ( Topology topology)

Performs the Difference operation between the input Topology and another Topology.

Parameters
topologyAnother Topology
Returns
The result of the Difference operation

◆ Divide()

Topology Topologic::Topology::Divide ( Topology tool)

Divides the input Topology with another Topology.

Parameters
toolAnother Topology
Returns
The result of the Divide operation

◆ ExportToBRep()

bool Topologic::Topology::ExportToBRep ( String^  path)

Exports a Topology to a BRep file (.brep).

Parameters
pathThe path to the BRep file
Returns
True if the BRep file is succesffully created, otherwise false

◆ Filter()

List< Topology^> Topologic::Topology::Filter ( List< Topology^>^  topologies,
int  typeFilter 
)
static

Filters a list of Topologies by type. This methods returns a list of Topologies of the type specified in the typefilter.

Parameters
topologiesA list of Topologies
typeFilterThe type of the filtered Topologies
Returns
The filtered opologies

◆ Impose()

Topology Topologic::Topology::Impose ( Topologic::Topology tool)

Imposes another Topology on the input Topology.

Parameters
toolAnother Topology
Returns
The result of the Impose operation

◆ Imprint()

Topology Topologic::Topology::Imprint ( Topology tool)

Imprints another Topology on the input Topology.

Parameters
toolAnother Topology
Returns
The result of the Imprint operation

◆ Intersect()

Topology Topologic::Topology::Intersect ( Topology topology)

Performs the Intersection operation between the input Topology and another Topology.

Parameters
topologyAnother Topology
Returns
The result of the Intersection operation

◆ IsSame()

bool Topologic::Topology::IsSame ( Topology topology)

Checks if two Topologies are the same. NOTE: This is a pointer check, not a topological or a geometry one.

Parameters
topologyAnother Topology
Returns
True if the Topologies are the same, otherwise false

◆ Merge()

Topology Topologic::Topology::Merge ( Topology topology)

Merges the input Topology and another Topology.

Parameters
topologyAnother Topology
Returns
The result of the Merge operation

◆ RemoveContent()

Topology Topologic::Topology::RemoveContent ( Topology contentTopology)

Removes a content (non-constituent member) from a Topology.

Parameters
contentTopologyThe Topology of the content
Returns
The new Topology

◆ RemoveContents()

Topology Topologic::Topology::RemoveContents ( List< Topology^>^  contentTopologies)

Removes contents (non-constituent members) from a Topology.

Parameters
contentTopologiesThe Topologies of the contents
Returns
The new Topology

◆ SelectSubtopology()

Topology Topologic::Topology::SelectSubtopology ( Vertex selector,
int  typeFilter 
)

Returns the sub-topology that is the closest to the selector Vertex and of a specific type.

Parameters
selectorA Vertex
typeFilterThe type of the filtered Topologies
Returns
The closest sub-topology to the selector of the specified type

◆ SelfMerge()

Topology Topologic::Topology::SelfMerge ( )

Merges the sub-topologies of the input Topology.

Returns
The result of the SelfMerge operation

◆ SetDictionaries()

Topology Topologic::Topology::SetDictionaries ( List< Vertex^>^  selectors,
List< Dictionary< String^, Object^>^>^  dictionaries,
int  typeFilter 
)

Sets a list of dictionaries for a Topology.

Parameters
selectors
dictionariesA list of dictionaries
typeFilter
Returns
The Topology with the dictionary

◆ SetDictionary()

Topology Topologic::Topology::SetDictionary ( Dictionary< String^, Object^>^  dictionary)

Sets a dictionary for a Topology.

Returns
The Topology with the dictionary

◆ ShallowCopy()

Topology Topologic::Topology::ShallowCopy ( )

Copies a Topology without its contents.

Returns
The copied Topology

◆ SharedTopologies()

List< Topology^> Topologic::Topology::SharedTopologies ( Topology topology,
int  typeFilter 
)

Returns the shared Topologies between the input Topology and another Topology.

Parameters
topologyAnother Topology
typeFilterThe type of the filtered Topologies
Returns
A list of shared Topologies between the input Topology and another Topology

◆ Slice()

Topology Topologic::Topology::Slice ( Topology tool)

Slices the input Topology with another Topology.

Parameters
toolAnother Topology
Returns
The result of the Slice operation

◆ Union()

Topology Topologic::Topology::Union ( Topology topology)

Unions the input Topology and another Topology.

Parameters
topologyAnother Topology
Returns
The result of the Union operation

◆ XOR()

Topology Topologic::Topology::XOR ( Topology topology)

Performs an XOR operation between the input Topology and another Topology.

Parameters
topologyAnother Topology
Returns
The result of the XOR operation

Member Data Documentation

◆ T

template<class T >
where Topologic::Topology::T

Copies a Topology and its contents.

Returns
The copied Topology

Property Documentation

◆ Apertures

List< Aperture^>^ Topologic::Topology::Apertures
get

Returns the Apertures of the input Topology.

Returns
A list of Topologies contained in the input Topology as Apertures

◆ BasicGeometry

Object^ Topologic::Topology::BasicGeometry
get

Creates a geometry from the Topology.

Returns
The host geometry counterpart of the topological entity

◆ CellComplexes

List< CellComplex^>^ Topologic::Topology::CellComplexes
get

Returns the CellComplexes constituent to the Topology.

Returns
A list of CellComplexes constituent to the Topology

◆ Cells

List< Cell^>^ Topologic::Topology::Cells
get

Returns the Cells constituent to the Topology.

Returns
A list of Cells constituent to the Topology

◆ CenterOfMass

Vertex^ Topologic::Topology::CenterOfMass
get

Returns the center of mass of any Topology.

Parameters
topologyA Topology
Returns
The center of mass of the given Topology

◆ Centroid

Vertex^ Topologic::Topology::Centroid
get

Returns the centroid of any Topology.

Parameters
topologyA Topology
Returns
The centroid of the given Topology

◆ Contents

List< Topology^>^ Topologic::Topology::Contents
get

Returns the contents (non-constituent members) of the input Topology.

Returns
A list of Topologies contained in the input Topology as non-constituent members

◆ Contexts

List< Context^>^ Topologic::Topology::Contexts
get

Returns the Topologies containing the input Topology as a content.

Returns
A list of the non-constituent members containing the input Topology

◆ Dictionary

System:: Collections:: Generic:: Dictionary< String^, Object^>^ Topologic::Topology::Dictionary
get

Returns the dictionary of a Topology.

Returns
The dictionary

◆ Dimensionality

int Topologic::Topology::Dimensionality
get

Returns the dimensionality of the Topology.

Returns
The Topology's dimensionality

◆ Edges

List< Edge^>^ Topologic::Topology::Edges
get

Returns the Edges constituent to the Topology.

Returns
A list of Edges constituent to the Topology

◆ Faces

List< Face^>^ Topologic::Topology::Faces
get

Returns the Faces constituent to the Topology.

Returns
A list of Faces constituent to the Topology

◆ Geometry

Object^ Topologic::Topology::Geometry
get

Creates a geometry from Topology.

Returns
The created geometry

◆ Shells

List< Shell^>^ Topologic::Topology::Shells
get

Returns the Shells constituent to the Topology.

Returns
A list of Shells constituent to the Topology

◆ SubContents

List< Topology^>^ Topologic::Topology::SubContents
get

Returns the sub-contents (contents of the constituent members) of a Topology.

Returns
A list of the sub-contents (contents of the constituent members) of a Topology

◆ SubTopologies

List< Topology^>^ Topologic::Topology::SubTopologies
get

Returns all sub-topologies (immediate constituent members) of a Topology.

Returns
A list of the sub-topologies (immediate constituent members) of a Topology

◆ Type

int Topologic::Topology::Type
get

Returns the type associated to the Topology.

Returns
The type associated to the Topology

◆ TypeAsString

String^ Topologic::Topology::TypeAsString
get

Returns the instance type as a string.

Returns
The instance type as a string

◆ Vertices

List< Vertex^>^ Topologic::Topology::Vertices
get

Returns the Vertices constituent to the Topology.

Returns
A list of Vertices constituent to the Topology

◆ Wires

List< Wire^>^ Topologic::Topology::Wires
get

Returns the Wires constituent to the Topology.

Returns
A list of Wires constituent to the Topology

The documentation for this class was generated from the following files: