Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
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

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

Enumerations

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

Functions

template<unsigned int FLAGS>
static CollectForceFunctor< FLAGSogdf::fast_multipole_embedder::collect_force_function (FMELocalContext *pLocalContext)
 
template<unsigned int FLAGS>
static EdgeForceFunctor< FLAGSogdf::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
 
static l2p_functor ogdf::fast_multipole_embedder::l2p_function (FMELocalContext *pLocalContext)
 creates Local-to-Point functor
 
static m2l_functor ogdf::fast_multipole_embedder::m2l_function (FMELocalContext *pLocalContext)
 creates Multipole-to-Local functor
 
static m2m_functor ogdf::fast_multipole_embedder::m2m_function (FMELocalContext *pLocalContext)
 creates Multipole-to-Multipole functor
 
static min_max_functor< floatogdf::fast_multipole_embedder::min_max_x_function (FMELocalContext *pLocalContext)
 creates a min max functor for the x coords of the node
 
static min_max_functor< floatogdf::fast_multipole_embedder::min_max_y_function (FMELocalContext *pLocalContext)
 creates a min max functor for the y coords of the node
 
template<unsigned int FLAGS>
static NodeMoveFunctor< FLAGSogdf::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
 
static p2p_functor ogdf::fast_multipole_embedder::p2p_function (FMELocalContext *pLocalContext)
 creates Local-to-Point functor
 

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.