FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcDbGraphNode.h
Go to the documentation of this file.
1#pragma once
2
3//
4// (C) Copyright 2005-2024 by Graebert GmbH.
5//
6// Permission to use, copy, modify, and distribute this software in
7// object code form for any purpose and without fee is hereby granted,
8// provided that the above copyright notice appears in all copies and
9// that both that copyright notice and the limited warranty and
10// restricted rights notice below appear in all supporting
11// documentation.
12//
13// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
14// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
15// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
16// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
17// UNINTERRUPTED OR ERROR FREE.
18
20#include "..\acad\Acad.h"
21
22class AcDbGraphNode_Impl;
23
24template < typename Param1 > class AcArrayMemCopyReallocator;
25
27{
28 friend class AcDbGraphNode_Impl;
29public:
30 AcDbGraphNode(void * = NULL );
31 Acad::ErrorStatus addRefTo( AcDbGraphNode *);
32 Acad::ErrorStatus clear(unsigned char);
33 Acad::ErrorStatus disconnectAll(void);
34 Acad::ErrorStatus markAs(unsigned char);
35 Acad::ErrorStatus removeRefTo( AcDbGraphNode *);
36 virtual ~AcDbGraphNode(void);
37 void setEdgeGrowthRate(int,int);
38
39 enum Flags
40 {
41 kNone = 0x00,
42 kVisited = 0x01,
43 kOutsideRefed = 0x02,
44 kSelected = 0x04,
45 kInList = 0x08,
46 kListAll = 0x0E,
47 kFirstLevel = 0x10,
48 kUnresTree = 0x20,
49 kAll = 0x2F
50 };
51
52 void* data() const;
53 void setData(void*);
54 int numOut() const;
55 int numIn() const;
56 AcDbGraphNode* in(int) const;
57 AcDbGraphNode* out(int) const;
58 AcDbGraph* owner() const;
59 bool isMarkedAs(unsigned char flags) const;
60 Acad::ErrorStatus markTree(unsigned char flags, AcDbVoidPtrArray* = NULL);
61 int numCycleOut() const;
62 int numCycleIn() const;
66 bool isCycleNode() const;
67
68
69
70private:
71 Acad::ErrorStatus resetCycles();
72 Acad::ErrorStatus removeCycleRefTo(AcDbGraphNode*);
73 Acad::ErrorStatus clearCycles();
74 Acad::ErrorStatus setOwner(AcDbGraph*);
75
76protected:
77 AcDbGraphNode_Impl* m_pImpl;
78};
@ kNone
Definition AddEnum.h:94
@ kAll
Definition AddEnum.h:96
AcDbGraphNode(void *=NULL)
void * data() const
Acad::ErrorStatus addRefTo(AcDbGraphNode *)
bool isCycleNode() const
AcDbGraphNode_Impl * m_pImpl
virtual ~AcDbGraphNode(void)
Acad::ErrorStatus clear(unsigned char)
int numOut() const
void setData(void *)
void setEdgeGrowthRate(int, int)
Acad::ErrorStatus removeRefTo(AcDbGraphNode *)
bool isMarkedAs(unsigned char flags) const
AcDbGraphNode * cycleIn(int) const
int numCycleIn() const
AcDbGraphNode * out(int) const
AcDbGraphNode * in(int) const
AcDbGraph * owner() const
Acad::ErrorStatus markAs(unsigned char)
Acad::ErrorStatus markTree(unsigned char flags, AcDbVoidPtrArray *=NULL)
AcDbGraphNode * nextCycleNode() const
Acad::ErrorStatus disconnectAll(void)
AcDbGraphNode * cycleOut(int) const
int numCycleOut() const
int numIn() const