Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

FMEFunc.h File Reference

Definitions of various auxiliary classes for FME layout. More...

Go to the source code of this file.

Classes

class  ogdf::fast_multipole_embedder::CollectForceFunctor< FLAGS >
 
class  ogdf::fast_multipole_embedder::D2DFunctor
 Calculates the repulsive forces acting between all nodes of the direct interacting cells of the i-th node. More...
 
class  ogdf::fast_multipole_embedder::EdgeForceFunctor< FLAGS >
 
struct  ogdf::fast_multipole_embedder::FMEGlobalContext
 Global Context. More...
 
struct  ogdf::fast_multipole_embedder::FMEGlobalOptions
 the main global options for a run More...
 
struct  ogdf::fast_multipole_embedder::FMELocalContext
 Local thread Context. More...
 
struct  ogdf::fast_multipole_embedder::FMENodeChainPartition
 
struct  ogdf::fast_multipole_embedder::FMETreePartition
 struct for distributing subtrees to the threads More...
 
struct  ogdf::fast_multipole_embedder::l2l_functor
 Local-to-Local functor. More...
 
struct  ogdf::fast_multipole_embedder::l2p_functor
 Local-to-Point functor. More...
 
class  ogdf::fast_multipole_embedder::LQCoordsFunctor
 Computes the coords and size of the i-th node in the LinearQuadtree. More...
 
class  ogdf::fast_multipole_embedder::LQMortonFunctor
 
class  ogdf::fast_multipole_embedder::LQPartitioner
 The partitioner which partitions the quadtree into subtrees and partitions the sequence of inner nodes and leaves. More...
 
class  ogdf::fast_multipole_embedder::LQPointUpdateFunctor
 
struct  ogdf::fast_multipole_embedder::m2l_functor
 Multipole-to-Local functor. More...
 
class  ogdf::fast_multipole_embedder::M2LFunctor
 Converts the multipole expansion coefficients from all nodes which are well separated from the i-th node to local expansion coefficients and adds them to the local expansion coefficients of the i-th node. More...
 
struct  ogdf::fast_multipole_embedder::m2m_functor
 Multipole-to-Multipole functor. More...
 
class  ogdf::fast_multipole_embedder::NDFunctor
 Calculates the repulsive forces acting between all nodes inside the cell of the i-th LinearQuadtree node. More...
 
class  ogdf::fast_multipole_embedder::NodeMoveFunctor< FLAGS >
 
struct  ogdf::fast_multipole_embedder::p2m_functor
 Point-to-Multipole functor. More...
 
struct  ogdf::fast_multipole_embedder::p2p_functor
 Local-to-Point functor. More...
 

Namespaces

 ogdf
 The namespace for all OGDF objects.
 
 ogdf::fast_multipole_embedder
 

Enumerations

enum  ogdf::fast_multipole_embedder::FMECollect { ogdf::fast_multipole_embedder::FMECollect::NoFactor = 0x00, ogdf::fast_multipole_embedder::FMECollect::EdgeFactor = 0x01, ogdf::fast_multipole_embedder::FMECollect::RepulsiveFactor = 0x02, ogdf::fast_multipole_embedder::FMECollect::EdgeFactorRep = 0x04, ogdf::fast_multipole_embedder::FMECollect::Tree2GraphOrder = 0x08, ogdf::fast_multipole_embedder::FMECollect::ZeroThreadArray = 0x10 }
 
enum  ogdf::fast_multipole_embedder::FMEEdgeForce { ogdf::fast_multipole_embedder::FMEEdgeForce::SubRep = 0x2, ogdf::fast_multipole_embedder::FMEEdgeForce::DivDegree = 0x8 }
 

Functions

template<unsigned int FLAGS>
static CollectForceFunctor< FLAGS > ogdf::fast_multipole_embedder::collect_force_function (FMELocalContext *pLocalContext)
 
template<unsigned int FLAGS>
static EdgeForceFunctor< FLAGS > ogdf::fast_multipole_embedder::edge_force_function (FMELocalContext *pLocalContext)
 
template<typename TYP >
void ogdf::fast_multipole_embedder::for_loop_array_set (uint32_t threadNr, uint32_t numThreads, TYP *a, uint32_t n, TYP value)
 
static l2l_functor ogdf::fast_multipole_embedder::l2l_function (FMELocalContext *pLocalContext)
 creates Local-to-Local functor More...
 
static l2p_functor ogdf::fast_multipole_embedder::l2p_function (FMELocalContext *pLocalContext)
 creates Local-to-Point functor More...
 
static m2l_functor ogdf::fast_multipole_embedder::m2l_function (FMELocalContext *pLocalContext)
 creates Multipole-to-Local functor More...
 
static m2m_functor ogdf::fast_multipole_embedder::m2m_function (FMELocalContext *pLocalContext)
 creates Multipole-to-Multipole functor More...
 
static min_max_functor< float > ogdf::fast_multipole_embedder::min_max_x_function (FMELocalContext *pLocalContext)
 creates a min max functor for the x coords of the node More...
 
static min_max_functor< float > ogdf::fast_multipole_embedder::min_max_y_function (FMELocalContext *pLocalContext)
 creates a min max functor for the y coords of the node More...
 
template<unsigned int FLAGS>
static NodeMoveFunctor< FLAGS > ogdf::fast_multipole_embedder::node_move_function (FMELocalContext *pLocalContext)
 
int ogdf::fast_multipole_embedder::operator& (int lhs, FMECollect rhs)
 
int ogdf::fast_multipole_embedder::operator& (int lhs, FMEEdgeForce rhs)
 
constexpr int ogdf::fast_multipole_embedder::operator| (FMECollect lhs, FMECollect rhs)
 
constexpr int ogdf::fast_multipole_embedder::operator| (int lhs, FMECollect rhs)
 
static p2m_functor ogdf::fast_multipole_embedder::p2m_function (FMELocalContext *pLocalContext)
 creates a Point-to-Multipole functor More...
 
static p2p_functor ogdf::fast_multipole_embedder::p2p_function (FMELocalContext *pLocalContext)
 creates Local-to-Point functor More...
 

Variables

static constexpr int ogdf::fast_multipole_embedder::TIME_STEP_NORMAL = 0x1
 
static constexpr int ogdf::fast_multipole_embedder::TIME_STEP_PREP = 0x2
 
static constexpr int ogdf::fast_multipole_embedder::USE_NODE_MOVE_RAD = 0x8
 
static constexpr int ogdf::fast_multipole_embedder::ZERO_GLOBAL_ARRAY = 0x4
 

Detailed Description

Definitions of various auxiliary classes for FME layout.

Author
Martin Gronemann
License:
This file is part of the Open Graph Drawing Framework (OGDF).
Copyright (C)
See README.md in the OGDF root directory for details.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 or 3 as published by the Free Software Foundation; see the file LICENSE.txt included in the packaging of this file for details.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/copyleft/gpl.html

Definition in file FMEFunc.h.