VR-Forces 4.6.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
gdb
networkSpecificationElement.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 2001 MAK Technologies, Inc.
3
** All rights reserved.
4
*********************************************************************/
5
/*********************************************************************
6
** $RCSfile: netwrkSpecEl.h,v $ $Revision: 1.16 $ $State: Exp $
7
*********************************************************************/
8
#ifndef networkSpecificationElement_H_
9
#define networkSpecificationElement_H_
10
11
//
12
// \file netwrkSpecEl.h
13
// \brief Contains the DtNetworkSpecificationElement class declaration and some related utility functions.
14
//
15
16
#include "
gdb/gdbDefines.h
"
17
#include "
gdb/networkElement.h
"
18
#include "
gdb/specificationManager.h
"
19
#include "
gdb/specification.h
"
20
21
#include <stdio.h>
22
#include <vlutil/vlPrint.h>
23
#include <matrix/LibMatrix.h>
24
#include <vlutil/vlNetTypes.h>
25
26
class
DtVectorNetwork
;
27
28
29
// DtNetworkSpecificationElement is the ABC for network elements that contain
30
// specifications (nodes, edges, segments). It adds a specification to the
31
// DtNetworkElement class.
32
class
DT_DLL_gdb
DtNetworkSpecificationElement
:
public
DtNetworkElement
33
{
34
public
:
35
36
// default constructor
37
DtNetworkSpecificationElement
();
38
39
// destructor
40
virtual
~
DtNetworkSpecificationElement
();
41
42
// copy constructor
43
DtNetworkSpecificationElement
(
const
DtNetworkSpecificationElement
& orig);
44
45
// assignment operator
46
DtNetworkSpecificationElement
& operator=(
const
DtNetworkSpecificationElement
& orig);
47
48
// Sets the specification of the network spec element. Also updates the elements
49
// specification ID as appropriate. If the allowDuplicates parameters is true,
50
// then the specification will not be shared among other similar network spec
51
// elements, even if it is exactly the same. The default is to not allow
52
// duplicates.
53
//
54
// \return A boolean indicating whether or not the specification was set.
55
// \note At some point in the future, this will change to throw an exception
56
// rather than return a boolean value.
57
virtual
bool
setSpecification(
const
DtSpecification
& newSpecification,
58
bool
allowDuplicates =
false
);
59
60
// get/set specification index
61
virtual
unsigned
int
specificationID()
const
;
62
virtual
void
setSpecificationID(
DtSpecificationID
specID);
63
64
// get/set specification manager
65
virtual
DtSpecificationManager
* specificationManager();
66
virtual
const
DtSpecificationManager
* specificationManager()
const
;
67
virtual
void
setSpecificationManager(
DtSpecificationManager
* specManager);
68
69
// get specification
70
virtual
const
DtSpecification
&
specification
()
const
;
71
72
virtual
DtString
type() = 0;
73
74
protected
:
75
76
DtSpecificationID
mySpecificationID
;
77
DtSpecificationManager
*
mySpecificationManager
;
78
};
79
80
#endif
Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (
www.mak.com
)