CGM Objects Library
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
LineEdgeTypes.h
1 // LineEdgeTypes.h: interface for the CLineEdgeTypes class.
2 //
5 
6 #if !defined(AFX_LINEEDGETYPES_H__6833814D_7FD6_4F85_8FD9_C20363661879__INCLUDED_)
7 #define AFX_LINEEDGETYPES_H__6833814D_7FD6_4F85_8FD9_C20363661879__INCLUDED_
8 
9 #pragma once
10 
11 #include <vector>
12 
13 namespace Larson
14 {
15 
16  #define MAX_LETYPES 128 /* Max number of line edge type defs all profiles 32 */
17  #define MAX_DASHGAP 64 /* Max dash gap elements all profiles 64 */
18 
21  {
22  public:
23  // Constructor
25  virtual ~CLineEdgeTypes();
26 
28  typedef struct {
30  long ix;
32  double repeatCycle;
34  long nDashGaps;
38  long dashGapSum;
40 
42  lineEdgeTypeDefStruct* getDef(long ix);
43 
45  lineEdgeTypeDefStruct* Add(long ix, double repeatCycle, long nDashGaps, long* dashGapLengths);
49  void Remove(long index);
51  //static void UnlinkLEtypeDef(lineEdgeTypeDefStruct** ppLEtypeDef);
52 
53  public:
54 
56  std::vector<lineEdgeTypeDefStruct> m_defs;
57  };
58 };
59 #endif // !defined(AFX_LINEEDGETYPES_H__6833814D_7FD6_4F85_8FD9_C20363661879__INCLUDED_)
lineEdgeTypeDefStruct * getDef(long ix)
return pointer Line and Edge definition entry
Definition: LineEdgeTypes.cpp:26
line and edge type definition entry
Definition: LineEdgeTypes.h:28
long ix
index
Definition: LineEdgeTypes.h:30
double repeatCycle
repeat cycle
Definition: LineEdgeTypes.h:32
long * dashGapLengths
list of dash element
Definition: LineEdgeTypes.h:36
lineEdgeTypeDefStruct * Add(long ix, double repeatCycle, long nDashGaps, long *dashGapLengths)
add new Line and Edge definition entry
Definition: LineEdgeTypes.cpp:45
std::vector< lineEdgeTypeDefStruct > m_defs
unlink a Line and Edge definition
Definition: LineEdgeTypes.h:56
void Remove(long index)
remove a Line and Edge definition entry
Definition: LineEdgeTypes.cpp:101
long dashGapSum
sum of dash elements
Definition: LineEdgeTypes.h:38
long nDashGaps
number dash gap elements in list
Definition: LineEdgeTypes.h:34
CLineEdgeTypes – contains user defined Line and Edge type definitions.
Definition: LineEdgeTypes.h:20