Open Inventor Release 2024.1.0
 
Loading...
Searching...
No Matches
SoSubKit.h File Reference

Go to the source code of this file.

Macros

#define SO__KIT_CATALOG_HEADER(className)
 
#define SO_KIT_HEADER(className)
 
#define SO_KIT_ABSTRACT_HEADER(className)
 
#define SO_KIT_CATALOG_ENTRY_HEADER(partName)
 
#define SO__KIT_CATALOG_VARS(className)
 
#define SO__KIT_CATALOG_METHODS(className)
 
#define SO_KIT_SOURCE(className)
 
#define SO_KIT_ABSTRACT_SOURCE(className)
 
#define SO__KIT_INIT_CLASS(className, classPrintName, parentClass)
 
#define SO__KIT_INIT_ABSTRACT_CLASS(className, classPrintName, parentClass)
 
#define SO__KIT_EXIT_CLASS(className)
 
#define SO_KIT_INIT_CLASS(className, parentClass, parentPrintClass)
 
#define SO_KIT_INIT_ABSTRACT_CLASS(className, parentClass, parentPrintClass)
 
#define SO__KIT_INHERIT_CATALOG(className)
 
#define SO_KIT_CONSTRUCTOR(className)
 
#define SO_KIT_IS_FIRST_INSTANCE()    SO_NODE_IS_FIRST_INSTANCE()
 
#define SO_KIT_ADD_FIELD(fieldName, defValue)    SO_NODE_ADD_FIELD(fieldName,defValue)
 
#define SO_KIT_DEFINE_ENUM_VALUE(enumType, enumValue)    SO_NODE_DEFINE_ENUM_VALUE(enumType,enumValue)
 
#define SO_KIT_SET_MF_ENUM_TYPE(fieldName, enumType)    SO_NODE_SET_MF_ENUM_TYPE(fieldName, enumType)
 
#define SO_KIT_SET_SF_ENUM_TYPE(fieldName, enumType)    SO_NODE_SET_SF_ENUM_TYPE(fieldName, enumType)
 
#define SO_KIT_ADD_CATALOG_ENTRY(partName, partClassName, nullByDefault, parentName, rightName, isPublicPart)
 
#define SO_KIT_ADD_CATALOG_ABSTRACT_ENTRY(partName, partClassName, defaultPartClassName, nullByDefault, parentName, rightName, isPublicPart)
 
#define SO_KIT_ADD_CATALOG_LIST_ENTRY(partName, listContainerClassName, nullByDefault, parentName, rightName, listItemClassName, isPublicPart)
 
#define SO_KIT_ADD_LIST_ITEM_TYPE(partName, newListItemClassName)
 
#define SO_KIT_CHANGE_ENTRY_TYPE(partName, newPartClassName, newDefaultPartClassName)
 
#define SO_KIT_CHANGE_NULL_BY_DEFAULT(partName, newNullByDefault)
 
#define SO_KIT_INIT_INSTANCE()
 

Macro Definition Documentation

◆ SO__KIT_CATALOG_HEADER

#define SO__KIT_CATALOG_HEADER (   className)
Value:
private: \
/* design of this class */ \
static SoNodekitCatalog *nodekitCatalog; \
/* parent design */ \
static const SoNodekitCatalog **parentNodekitCatalogPtr; \
public: \ \
static const SoNodekitCatalog *getClassNodekitCatalog(); \ \
virtual const SoNodekitCatalog *getNodekitCatalog() const; \
private: \
static const SoNodekitCatalog **getClassNodekitCatalogPtr()
Nodekit catalog class.

Definition at line 77 of file SoSubKit.h.

◆ SO__KIT_CATALOG_METHODS

#define SO__KIT_CATALOG_METHODS (   className)
Value:
className::getNodekitCatalog() const \
{ \
return nodekitCatalog; \
} \
\
className::getClassNodekitCatalog() \
{ \
return nodekitCatalog; \
} \
\
const SoNodekitCatalog ** \
className::getClassNodekitCatalogPtr() \
{ \
return (const SoNodekitCatalog **)&nodekitCatalog; \
}

Definition at line 131 of file SoSubKit.h.

◆ SO__KIT_CATALOG_VARS

#define SO__KIT_CATALOG_VARS (   className)
Value:
SoNodekitCatalog *className::nodekitCatalog = NULL; \
const SoNodekitCatalog **className::parentNodekitCatalogPtr = NULL

Definition at line 122 of file SoSubKit.h.

◆ SO__KIT_EXIT_CLASS

#define SO__KIT_EXIT_CLASS (   className)
Value:
delete nodekitCatalog; nodekitCatalog = NULL;
#define SO__NODE_EXIT_CLASS(className)
Definition SoSubNode.h:339

Definition at line 179 of file SoSubKit.h.

◆ SO__KIT_INHERIT_CATALOG

#define SO__KIT_INHERIT_CATALOG (   className)
Value:
/* get a copy of the catalog from the base class */ \
if (firstInstance) \
{ \
if (parentNodekitCatalogPtr == NULL) /* only true in SoBaseKit */ \
nodekitCatalog = new SoNodekitCatalog; \
else \
nodekitCatalog = (*parentNodekitCatalogPtr)->clone(SoType::fromName(SO__QUOTE(className))); \
}
static SoType fromName(const SbName &name)
Returns the type associated with the given name.

Definition at line 212 of file SoSubKit.h.

◆ SO__KIT_INIT_ABSTRACT_CLASS

#define SO__KIT_INIT_ABSTRACT_CLASS (   className,
  classPrintName,
  parentClass 
)
Value:
SO__NODE_INIT_ABSTRACT_CLASS(className,classPrintName,parentClass); \
parentNodekitCatalogPtr = parentClass::getClassNodekitCatalogPtr()
#define SO__NODE_INIT_ABSTRACT_CLASS(className, classPrintName, parentClass)
Definition SoSubNode.h:316

Definition at line 175 of file SoSubKit.h.

◆ SO__KIT_INIT_CLASS

#define SO__KIT_INIT_CLASS (   className,
  classPrintName,
  parentClass 
)
Value:
SO__NODE_INIT_CLASS(className,classPrintName,parentClass); \
parentNodekitCatalogPtr = parentClass::getClassNodekitCatalogPtr()
#define SO__NODE_INIT_CLASS(className, classPrintName, parentClass)
Definition SoSubNode.h:301

Definition at line 171 of file SoSubKit.h.

◆ SO_KIT_ABSTRACT_HEADER

#define SO_KIT_ABSTRACT_HEADER (   className)
Value:
SO__KIT_CATALOG_HEADER(className)
#define SO_NODE_ABSTRACT_HEADER(className)
Definition SoSubNode.h:118

Definition at line 95 of file SoSubKit.h.

◆ SO_KIT_ABSTRACT_SOURCE

#define SO_KIT_ABSTRACT_SOURCE (   className)
Value:
SO__KIT_CATALOG_VARS(className); \
SO__KIT_CATALOG_METHODS(className)
#define SO_NODE_ABSTRACT_SOURCE(className)
Definition SoSubNode.h:245

Definition at line 162 of file SoSubKit.h.

◆ SO_KIT_ADD_CATALOG_ABSTRACT_ENTRY

#define SO_KIT_ADD_CATALOG_ABSTRACT_ENTRY (   partName,
  partClassName,
  defaultPartClassName,
  nullByDefault,
  parentName,
  rightName,
  isPublicPart 
)
Value:
SO_KIT_ADD_FIELD(partName,(NULL)); \
if (firstInstance && !nodekitCatalog->addEntry(SO__QUOTE(partName), \
SoType::fromName(SO__QUOTE(partClassName)), \
SoType::fromName(SO__QUOTE(defaultPartClassName)), nullByDefault,\
SO__QUOTE(parentName), SO__QUOTE(rightName), FALSE, \
SoType::badType(), SoType::badType(), isPublicPart )) \
catalogError()
#define FALSE
Possible value of SbBool.
Definition SbBase.h:75
#define SO_KIT_ADD_FIELD(fieldName, defValue)
Definition SoSubKit.h:234
static SoType badType()
Returns an always-illegal type.
Definition SoType.h:124

Definition at line 354 of file SoSubKit.h.

◆ SO_KIT_ADD_CATALOG_ENTRY

#define SO_KIT_ADD_CATALOG_ENTRY (   partName,
  partClassName,
  nullByDefault,
  parentName,
  rightName,
  isPublicPart 
)
Value:
SO_KIT_ADD_FIELD(partName,(NULL)); \
if (firstInstance && !nodekitCatalog->addEntry(SO__QUOTE(partName), \
SoType::fromName(SO__QUOTE(partClassName)), \
SoType::fromName(SO__QUOTE(partClassName)), nullByDefault,\
SO__QUOTE(parentName), \
SO__QUOTE(rightName), FALSE, SoType::badType(), \
SoType::badType(), isPublicPart )) \
catalogError()

Definition at line 306 of file SoSubKit.h.

◆ SO_KIT_ADD_CATALOG_LIST_ENTRY

#define SO_KIT_ADD_CATALOG_LIST_ENTRY (   partName,
  listContainerClassName,
  nullByDefault,
  parentName,
  rightName,
  listItemClassName,
  isPublicPart 
)
Value:
SO_KIT_ADD_FIELD(partName,(NULL)); \
if (firstInstance && !nodekitCatalog->addEntry(SO__QUOTE(partName), \
SO__QUOTE(parentName), SO__QUOTE(rightName), TRUE, \
SoType::fromName(SO__QUOTE(listContainerClassName)), \
SoType::fromName(SO__QUOTE(listItemClassName)), isPublicPart)) \
catalogError()
#define TRUE
Possible value of SbBool.
Definition SbBase.h:77
static SoType getClassTypeId()
Returns the type identifier for this class.

Definition at line 405 of file SoSubKit.h.

◆ SO_KIT_ADD_FIELD

#define SO_KIT_ADD_FIELD (   fieldName,
  defValue 
)     SO_NODE_ADD_FIELD(fieldName,defValue)

Definition at line 234 of file SoSubKit.h.

◆ SO_KIT_ADD_LIST_ITEM_TYPE

#define SO_KIT_ADD_LIST_ITEM_TYPE (   partName,
  newListItemClassName 
)
Value:
if (firstInstance) nodekitCatalog->addListItemType(SO__QUOTE(partName), \
SoType::fromName(SO__QUOTE(newListItemClassName)) )

Definition at line 441 of file SoSubKit.h.

◆ SO_KIT_CATALOG_ENTRY_HEADER

#define SO_KIT_CATALOG_ENTRY_HEADER (   partName)
Value:
private: \
SoSFNode partName
Field containing a a node.
Definition SoSFNode.h:97

Definition at line 107 of file SoSubKit.h.

◆ SO_KIT_CHANGE_ENTRY_TYPE

#define SO_KIT_CHANGE_ENTRY_TYPE (   partName,
  newPartClassName,
  newDefaultPartClassName 
)
Value:
if (firstInstance) nodekitCatalog->narrowTypes(SO__QUOTE(partName), \
SoType::fromName(SO__QUOTE(newPartClassName)), \
SoType::fromName(SO__QUOTE(newDefaultPartClassName)))

Definition at line 487 of file SoSubKit.h.

◆ SO_KIT_CHANGE_NULL_BY_DEFAULT

#define SO_KIT_CHANGE_NULL_BY_DEFAULT (   partName,
  newNullByDefault 
)
Value:
if (firstInstance) nodekitCatalog->setNullByDefault(SO__QUOTE(partName), \
newNullByDefault)

Definition at line 501 of file SoSubKit.h.

◆ SO_KIT_CONSTRUCTOR

#define SO_KIT_CONSTRUCTOR (   className)
Value:
SO__KIT_INHERIT_CATALOG(className)
#define SO_NODE_CONSTRUCTOR(className)
This is included at the beginning of a constructor, to do required initializations.
Definition SoSubNode.h:427

Definition at line 227 of file SoSubKit.h.

◆ SO_KIT_DEFINE_ENUM_VALUE

#define SO_KIT_DEFINE_ENUM_VALUE (   enumType,
  enumValue 
)     SO_NODE_DEFINE_ENUM_VALUE(enumType,enumValue)

Definition at line 237 of file SoSubKit.h.

◆ SO_KIT_HEADER

#define SO_KIT_HEADER (   className)
Value:
SO__KIT_CATALOG_HEADER(className)
#define SO_NODE_HEADER(className)
Definition SoSubNode.h:151

Definition at line 91 of file SoSubKit.h.

◆ SO_KIT_INIT_ABSTRACT_CLASS

#define SO_KIT_INIT_ABSTRACT_CLASS (   className,
  parentClass,
  parentPrintClass 
)
Value:
SO_NODE_INIT_ABSTRACT_CLASS(className,parentClass,parentPrintClass); \
parentNodekitCatalogPtr = parentClass::getClassNodekitCatalogPtr()
#define SO_NODE_INIT_ABSTRACT_CLASS(className, parentClass, parentPrintClass)
Definition SoSubNode.h:419

Definition at line 197 of file SoSubKit.h.

◆ SO_KIT_INIT_CLASS

#define SO_KIT_INIT_CLASS (   className,
  parentClass,
  parentPrintClass 
)
Value:
SO_NODE_INIT_CLASS(className,parentClass,parentPrintClass); \
parentNodekitCatalogPtr = parentClass::getClassNodekitCatalogPtr()
#define SO_NODE_INIT_CLASS(className, parentClass, parentPrintClass)
Definition SoSubNode.h:402

Definition at line 193 of file SoSubKit.h.

◆ SO_KIT_INIT_INSTANCE

#define SO_KIT_INIT_INSTANCE ( )
Value:
createNodekitPartsList(); \
createDefaultParts()

Definition at line 517 of file SoSubKit.h.

◆ SO_KIT_IS_FIRST_INSTANCE

#define SO_KIT_IS_FIRST_INSTANCE ( )     SO_NODE_IS_FIRST_INSTANCE()

Definition at line 231 of file SoSubKit.h.

◆ SO_KIT_SET_MF_ENUM_TYPE

#define SO_KIT_SET_MF_ENUM_TYPE (   fieldName,
  enumType 
)     SO_NODE_SET_MF_ENUM_TYPE(fieldName, enumType)

Definition at line 240 of file SoSubKit.h.

◆ SO_KIT_SET_SF_ENUM_TYPE

#define SO_KIT_SET_SF_ENUM_TYPE (   fieldName,
  enumType 
)     SO_NODE_SET_SF_ENUM_TYPE(fieldName, enumType)

Definition at line 243 of file SoSubKit.h.

◆ SO_KIT_SOURCE

#define SO_KIT_SOURCE (   className)
Value:
SO__KIT_CATALOG_VARS(className); \
SO__KIT_CATALOG_METHODS(className)
#define SO_NODE_SOURCE(className)
Definition SoSubNode.h:241

Definition at line 157 of file SoSubKit.h.