Version: 9.16.0
ElementaryPoint.hxx
Go to the documentation of this file.
1
// Copyright (C) 2015-2026 CEA, EDF
2
//
3
// This library is free software; you can redistribute it and/or
4
// modify it under the terms of the GNU Lesser General Public
5
// License as published by the Free Software Foundation; either
6
// version 2.1 of the License, or (at your option) any later version.
7
//
8
// This library is distributed in the hope that it will be useful,
9
// but WITHOUT ANY WARRANTY; without even the implied warranty of
10
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
// Lesser General Public License for more details.
12
//
13
// You should have received a copy of the GNU Lesser General Public
14
// License along with this library; if not, write to the Free Software
15
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
//
17
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18
//
19
20
#ifndef __ELEMENTARYPOINT_HXX__
21
#define __ELEMENTARYPOINT_HXX__
22
23
#include "
YACSlibEngineExport.hxx
"
24
#include "
AbstractPoint.hxx
"
25
26
#include <vector>
27
28
namespace
YACS
29
{
30
namespace
ENGINE
31
{
32
class
Node;
33
34
class
YACSLIBENGINE_EXPORT
ElementaryPoint
:
public
AbstractPoint
35
{
36
private
:
37
Node
*
_node
;
38
public
:
39
ElementaryPoint
(
Node
*node):
AbstractPoint
(0),_node(node) { }
40
AbstractPoint
*findPointWithNode(
Node
*node);
41
bool
contains(
Node
*node)
const override
;
42
bool
anyOf(
const
std::set<Node *>& nodes)
const override
;
43
AbstractPoint
*deepCopy(
AbstractPoint
*father)
const override
;
44
Node
*getFirstNode()
override
;
45
Node
*getLastNode()
override
;
46
int
getNumberOfNodes()
const
;
47
int
getMaxLevelOfParallelism()
const
;
48
void
getWeightRegardingDPL(
ComplexWeight
*weight);
49
void
partitionRegardingDPL(
const
PartDefinition
*pd, std::map<
ComposedNode
*,
YACS::BASES::AutoRefCnt<PartDefinition>
>& zeMap)
const
;
50
std::string getRepr()
const
;
51
void
accept(
PointVisitor
*pv)
override
;
52
AbstractPoint
*expandNonSimpleCaseOn(
NotSimpleCasePoint
*pathologicalPt,
const
std::set<Node *>& uncatchedNodes)
override
;
53
virtual
~ElementaryPoint
();
54
public
:
55
void
setNode
(
Node
*node) { _node=node; }
56
Node
*
getNode
()
const
{
return
_node; }
57
std::string getNodeName()
const
;
58
};
59
}
60
}
61
62
63
#endif
AbstractPoint.hxx
YACSlibEngineExport.hxx
YACSLIBENGINE_EXPORT
#define YACSLIBENGINE_EXPORT
Definition:
YACSlibEngineExport.hxx:30
YACS::BASES::AutoRefCnt
Definition:
AutoRefCnt.hxx:31
YACS::ENGINE::AbstractPoint
Definition:
AbstractPoint.hxx:51
YACS::ENGINE::ComplexWeight
Definition:
ComplexWeight.hxx:39
YACS::ENGINE::ComposedNode
Base class for all composed nodes.
Definition:
ComposedNode.hxx:43
YACS::ENGINE::ElementaryPoint
Definition:
ElementaryPoint.hxx:35
YACS::ENGINE::ElementaryPoint::setNode
void setNode(Node *node)
Definition:
ElementaryPoint.hxx:55
YACS::ENGINE::ElementaryPoint::_node
Node * _node
Definition:
ElementaryPoint.hxx:37
YACS::ENGINE::ElementaryPoint::getNode
Node * getNode() const
Definition:
ElementaryPoint.hxx:56
YACS::ENGINE::ElementaryPoint::ElementaryPoint
ElementaryPoint(Node *node)
Definition:
ElementaryPoint.hxx:39
YACS::ENGINE::Node
Base class for all nodes.
Definition:
Node.hxx:70
YACS::ENGINE::NotSimpleCasePoint
Definition:
NotSimpleCasePoint.hxx:30
YACS::ENGINE::PartDefinition
Definition:
PlayGround.hxx:119
YACS::ENGINE::PointVisitor
Definition:
PointVisitor.hxx:34
YACS
Definition:
AlternateThreadPT.hxx:27
src
engine
ElementaryPoint.hxx
Copyright © 2006-2026 CEA, EDF