VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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"
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.
33 {
34 public:
35 
36  // default constructor
38 
39  // destructor
41 
42  // copy constructor
44 
45  // assignment operator
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 
78 };
79 
80 #endif
unsigned int DtSpecificationID
Definition: specificationManager.h:22
Definition: networkSpecificationElement.h:32
The DtNetworkElement is the base member for nodes, segments, and edges. This class presents the inter...
#define DT_DLL_gdb
Definition: gdbDefines.h:25
virtual const DtSpecification & specification() const =0
Definition: specificationManager.h:31
Definition: specification.h:27
DtSpecificationID mySpecificationID
Definition: networkSpecificationElement.h:76
DtSpecificationManager * mySpecificationManager
Definition: networkSpecificationElement.h:77
Definition: networkElement.h:38
Definition: vectorNetwork.h:37

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)