|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
68 lhs +=
static_cast<int>(rhs);
115 size_t size()
const {
return m_len; }
123 void set(
const char* str) {
130 void set(
char c,
size_t n) {
137 init(
static_cast<int>(obt), n);
160 bs.m_pBend =
nullptr;
169 char* temp =
new char[m_len + bs.
m_len + 1];
171 m_len = m_len + bs.
m_len;
177 if (m_pBend !=
nullptr) {
178 const char* str = m_pBend;
179 while ((*p++ = *str++) != 0) {
189 while ((*p++ = *str1++) != 0) {
204 if (bs.
size() == 0) {
207 os <<
"\"" << bs.
m_pBend <<
"\"";
213 void init(
const char* str);
214 void init(
char c,
size_t n);
241 m_nAttached[0] = m_nAttached[1] = 0;
246 int nGen = (m_adjGen ==
nullptr) ? 0 : 1;
247 return nGen + m_nAttached[0] + m_nAttached[1];
275 m_corner[0] = m_corner[1] = m_corner[2] = m_corner[3] =
nullptr;
304 operator const Graph&()
const {
return *m_pE; }
335 bool isNormalized()
const;
344 void dissect2(
PlanRep* PG =
nullptr);
349 void undissect(
bool align =
false);
373 void computeCageInfoUML(
const PlanRep& PG );
380 bool check(
string& error)
const;
387 static char flip(
char c) {
return (c ==
'0') ?
'1' :
'0'; }
391 return static_cast<OrthoDir>((
static_cast<int>(d) + 2) & 3);
396 return static_cast<OrthoDir>((
static_cast<int>(d) + 1) & 3);
401 return static_cast<OrthoDir>((
static_cast<int>(d) + 3) & 3);
419 void freeCageInfoUML();
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
The namespace for all OGDF objects.
Declaration and implementation of ArrayBuffer class.
Includes declaration of graph class.
BendString(const BendString &bs)
AdjEntryArray< OrthoDir > m_dir
NodeArray< VertexInfoUML * > m_umlCageInfo
Planarized representations (of a connected component) of a graph.
int & angle(adjEntry adj)
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
Further information about the cages of vertices in UML diagrams.
int angle(adjEntry adj) const
int operator+=(int &lhs, UMLOpt rhs)
VertexInfoUML * cageInfo(node v)
BendString(const char *str)
Represents the bends on an edge e consisting of vertical and horizontal segments.
BendString & operator=(const BendString &bs)
EdgeArray< bool > m_alignmentEdge
Information about a side of a vertex in UML diagrams.
int operator&(int lhs, UMLOpt rhs)
CombinatorialEmbedding * m_pE
BendString & operator+=(const char *str)
EdgeArray< bool > m_dissectionEdge
#define OGDF_NEW_DELETE
Makes the class use OGDF's memory allocator.
int operator~(UMLOpt rhs)
Class for adjacency list elements.
void set(const char *str)
BendString & operator+=(const BendString &bs)
char & operator[](size_t i)
void set(OrthoBendType obt, size_t n)
ArrayBuffer< node > m_splitNodes
Orthogonal representation of an embedded graph.
Decralation of GraphElement and GraphList classes.
AdjEntryArray< BendString > m_bends
static OrthoDir nextDir(OrthoDir d)
Returns the next OrthoDir (in a clockwise manner)
const VertexInfoUML * cageInfo(node v) const
RegisteredArray for nodes, edges and adjEntries of a graph.
adjEntry adjSource() const
Returns the corresponding adjacancy entry at source node.
Data type for general directed graphs (adjacency list representation).
adjEntry alignAdjEntry() const
BendString(char c, size_t n)
BendString & bend(adjEntry adj)
static OrthoDir oppDir(OrthoDir d)
Returns the opposite OrthoDir.
char operator[](size_t i) const
const char * toString() const
adjEntry adjTarget() const
Returns the corresponding adjacancy entry at target node.
int totalAttached() const
AdjEntryArray< int > m_angle
friend std::ostream & operator<<(std::ostream &os, const SideInfoUML &si)
internal::GraphObjectContainer< EdgeElement > edges
The container containing all edge objects.
friend std::ostream & operator<<(std::ostream &os, const BendString &bs)
Basic declarations, included by all source files.
Declaration of CombinatorialEmbedding and face.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
adjEntry externalAdjEntry() const
Combinatorial embeddings of planar graphs with modification functionality.
Class for the representation of edges.
friend std::ostream & operator<<(std::ostream &os, const OrthoRep &op)
BendString(BendString &&bs)
bool isOrientated() const
const BendString & bend(adjEntry adj) const
static OrthoDir prevDir(OrthoDir d)
Returns the previous OrthoDir (in a clockwise manner)
Class for the representation of nodes.
int operator|(int lhs, UMLOpt rhs)
Declaration of memory manager for allocating small pieces of memory.
OrthoDir direction(adjEntry adj) const
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
void set(char c, size_t n)
BendString & operator=(BendString &&bs)