We want to be consistent with the previous layout, to avoid needlessly breaking existing codes. The header update means client codes are not required to include all of the stepcode library includes explicitly - i.e., stepcode itself does not force this requirement with its own internal includes. However, if client codes do not want to add the library prefixes to their own includes as we have for stepcode, they should still be able to add the various includes and work as before. Adjust the include directory names accordingly.
85 lines
2.2 KiB
C++
85 lines
2.2 KiB
C++
#ifndef STEPAGGRENUM_H
|
|
#define STEPAGGRENUM_H
|
|
|
|
#include "clstepcore/STEPaggregate.h"
|
|
#include "sc_export.h"
|
|
/** \file StepaggrEnum.h
|
|
* classes EnumAggregate, LOGICALS, BOOLEANS, EnumNode
|
|
*/
|
|
|
|
/**
|
|
* \class EnumAggregate
|
|
* This is a minimal representation for a collection of SDAI_Enum
|
|
*/
|
|
class SC_CORE_EXPORT EnumAggregate : public STEPaggregate {
|
|
public:
|
|
virtual SingleLinkNode * NewNode();
|
|
virtual STEPaggregate & ShallowCopy( const STEPaggregate & );
|
|
|
|
EnumAggregate();
|
|
virtual ~EnumAggregate();
|
|
};
|
|
typedef EnumAggregate * EnumAggregateH;
|
|
typedef EnumAggregate * EnumAggregate_ptr;
|
|
typedef const EnumAggregate * EnumAggregate_ptr_c;
|
|
typedef EnumAggregate_ptr EnumAggregate_var;
|
|
|
|
class SC_CORE_EXPORT LOGICALS : public EnumAggregate {
|
|
public:
|
|
virtual SingleLinkNode * NewNode();
|
|
|
|
LOGICALS();
|
|
virtual ~LOGICALS();
|
|
};
|
|
typedef LOGICALS * LogicalsH;
|
|
typedef LOGICALS * LOGICALS_ptr;
|
|
typedef const LOGICALS * LOGICALS_ptr_c;
|
|
typedef LOGICALS_ptr LOGICALS_var;
|
|
SC_CORE_EXPORT LOGICALS * create_LOGICALS();
|
|
|
|
|
|
class SC_CORE_EXPORT BOOLEANS : public EnumAggregate {
|
|
public:
|
|
virtual SingleLinkNode * NewNode();
|
|
|
|
BOOLEANS();
|
|
virtual ~BOOLEANS();
|
|
};
|
|
|
|
typedef BOOLEANS * BOOLEANS_ptr;
|
|
typedef const BOOLEANS * BOOLEANS_ptr_c;
|
|
typedef BOOLEANS_ptr BOOLEANS_var;
|
|
|
|
SC_CORE_EXPORT BOOLEANS * create_BOOLEANS();
|
|
|
|
|
|
/**
|
|
* * \class EnumNode
|
|
** This is a minimal representation for node in lists of SDAI_Enum
|
|
*/
|
|
class SC_CORE_EXPORT EnumNode : public STEPnode {
|
|
public:
|
|
SDAI_Enum * node;
|
|
// INPUT
|
|
virtual Severity StrToVal( const char * s, ErrorDescriptor * err );
|
|
virtual Severity StrToVal( istream & in, ErrorDescriptor * err );
|
|
|
|
virtual Severity STEPread( const char * s, ErrorDescriptor * err );
|
|
virtual Severity STEPread( istream & in, ErrorDescriptor * err );
|
|
|
|
// OUTPUT
|
|
virtual const char * asStr( std::string & s );
|
|
virtual const char * STEPwrite( std::string & s, const char * = 0 );
|
|
virtual void STEPwrite( ostream & out = cout );
|
|
|
|
// CONSTRUCTORS
|
|
EnumNode( SDAI_Enum * e );
|
|
EnumNode();
|
|
~EnumNode();
|
|
|
|
virtual SingleLinkNode * NewNode();
|
|
};
|
|
|
|
|
|
#endif //STEPAGGRENUM_H
|