Hello Andreas,
On 08/02/2012 07:18 AM, Halm, Andreas wrote:
The attached file generates
#include "OpenSG/OSGVec2iFields.h" // Position type
#include "OpenSG/OSGVec3iFields.h" // Size type
hmm, is your fcd2code up-to-date? Mine generates the attached file,
which has the correct:
#include "OSGPropertyCore.h" // Parent
#include "OpenSG/OSGBaseFields.h" // Name type
#include "OpenSG/OSGVecFields.h" // Position type
#include "OSGMachineCoreFields.h"
My fcd2code command line looked like this:
<path-to-OpenSG2>/Tools/fcd2code -p `pwd` -r <path-to-OpenSG2> -b -f -d
MachineCore.fcd
Cheers,
Carsten
/*---------------------------------------------------------------------------*\
* OpenSG *
* *
* *
* Copyright (C) 2000-2006 by the OpenSG Forum *
* *
* www.opensg.org *
* *
* contact: d...@opensg.org, gerrit.v...@vossg.org, jb...@zgdv.de *
* *
\*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*\
* License *
* *
* This library is free software; you can redistribute it and/or modify it *
* under the terms of the GNU Library General Public License as published *
* by the Free Software Foundation, version 2. *
* *
* This library is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
* *
\*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*\
* Changes *
* *
* *
* *
* *
* *
* *
\*---------------------------------------------------------------------------*/
/*****************************************************************************\
*****************************************************************************
** **
** This file is automatically generated. **
** **
** Any changes made to this file WILL be lost when it is **
** regenerated, which can become necessary at any time. **
** **
** Do not change this file, changes should be done in the derived **
** class MachineCore
** **
*****************************************************************************
\*****************************************************************************/
#ifndef _OSGMACHINECOREBASE_H_
#define _OSGMACHINECOREBASE_H_
#ifdef __sgi
#pragma once
#endif
#include "OpenSG/OSGConfig.h"
#include "OSGSimPlantSGDef.h"
//#include "OpenSG/OSGBaseTypes.h"
#include "OSGPropertyCore.h" // Parent
#include "OpenSG/OSGBaseFields.h" // Name type
#include "OpenSG/OSGVecFields.h" // Position type
#include "OSGMachineCoreFields.h"
OSG_BEGIN_NAMESPACE
class MachineCore;
//! \brief MachineCore Base Class.
class OSG_SIMPLANTSG_DLLMAPPING MachineCoreBase : public PropertyCore
{
public:
typedef PropertyCore Inherited;
typedef PropertyCore ParentContainer;
typedef Inherited::TypeObject TypeObject;
typedef TypeObject::InitPhase InitPhase;
OSG_GEN_INTERNALPTR(MachineCore);
/*========================== PUBLIC =================================*/
public:
enum
{
NameFieldId = Inherited::NextFieldId,
PositionFieldId = NameFieldId + 1,
SizeFieldId = PositionFieldId + 1,
NextFieldId = SizeFieldId + 1
};
static const OSG::BitVector NameFieldMask =
(TypeTraits<BitVector>::One << NameFieldId);
static const OSG::BitVector PositionFieldMask =
(TypeTraits<BitVector>::One << PositionFieldId);
static const OSG::BitVector SizeFieldMask =
(TypeTraits<BitVector>::One << SizeFieldId);
static const OSG::BitVector NextFieldMask =
(TypeTraits<BitVector>::One << NextFieldId);
typedef SFString SFNameType;
typedef SFVec2i SFPositionType;
typedef SFVec3i SFSizeType;
/*---------------------------------------------------------------------*/
/*! \name Class Get */
/*! \{ */
static FieldContainerType &getClassType (void);
static UInt32 getClassTypeId (void);
static UInt16 getClassGroupId(void);
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name FieldContainer Get */
/*! \{ */
virtual FieldContainerType &getType (void);
virtual const FieldContainerType &getType (void) const;
virtual UInt32 getContainerSize(void) const;
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Field Get */
/*! \{ */
SFString *editSFName (void);
const SFString *getSFName (void) const;
SFVec2i *editSFPosition (void);
const SFVec2i *getSFPosition (void) const;
SFVec3i *editSFSize (void);
const SFVec3i *getSFSize (void) const;
std::string &editName (void);
const std::string &getName (void) const;
Vec2i &editPosition (void);
const Vec2i &getPosition (void) const;
Vec3i &editSize (void);
const Vec3i &getSize (void) const;
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Field Set */
/*! \{ */
void setName (const std::string &value);
void setPosition (const Vec2i &value);
void setSize (const Vec3i &value);
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Ptr MField Set */
/*! \{ */
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Binary Access */
/*! \{ */
virtual SizeT getBinSize (ConstFieldMaskArg whichField);
virtual void copyToBin (BinaryDataHandler &pMem,
ConstFieldMaskArg whichField);
virtual void copyFromBin(BinaryDataHandler &pMem,
ConstFieldMaskArg whichField);
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Construction */
/*! \{ */
static MachineCoreTransitPtr create (void);
static MachineCore *createEmpty (void);
static MachineCoreTransitPtr createLocal (
BitVector bFlags = FCLocal::All);
static MachineCore *createEmptyLocal(
BitVector bFlags = FCLocal::All);
static MachineCoreTransitPtr createDependent (BitVector bFlags);
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Copy */
/*! \{ */
virtual FieldContainerTransitPtr shallowCopy (void) const;
virtual FieldContainerTransitPtr shallowCopyLocal(
BitVector bFlags = FCLocal::All) const;
virtual FieldContainerTransitPtr shallowCopyDependent(
BitVector bFlags) const;
/*! \} */
/*========================= PROTECTED ===============================*/
protected:
static TypeObject _type;
static void classDescInserter(TypeObject &oType);
static const Char8 *getClassname (void );
/*---------------------------------------------------------------------*/
/*! \name Fields */
/*! \{ */
SFString _sfName;
SFVec2i _sfPosition;
SFVec3i _sfSize;
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Constructors */
/*! \{ */
MachineCoreBase(void);
MachineCoreBase(const MachineCoreBase &source);
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Destructors */
/*! \{ */
virtual ~MachineCoreBase(void);
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name onCreate */
/*! \{ */
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Generic Field Access */
/*! \{ */
GetFieldHandlePtr getHandleName (void) const;
EditFieldHandlePtr editHandleName (void);
GetFieldHandlePtr getHandlePosition (void) const;
EditFieldHandlePtr editHandlePosition (void);
GetFieldHandlePtr getHandleSize (void) const;
EditFieldHandlePtr editHandleSize (void);
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Sync */
/*! \{ */
#ifdef OSG_MT_CPTR_ASPECT
virtual void execSyncV( FieldContainer &oFrom,
ConstFieldMaskArg whichField,
AspectOffsetStore &oOffsets,
ConstFieldMaskArg syncMode ,
const UInt32 uiSyncInfo);
void execSync ( MachineCoreBase *pFrom,
ConstFieldMaskArg whichField,
AspectOffsetStore &oOffsets,
ConstFieldMaskArg syncMode ,
const UInt32 uiSyncInfo);
#endif
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Edit */
/*! \{ */
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Aspect Create */
/*! \{ */
#ifdef OSG_MT_CPTR_ASPECT
virtual FieldContainer *createAspectCopy(
const FieldContainer *pRefAspect) const;
#endif
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Edit */
/*! \{ */
/*! \} */
/*---------------------------------------------------------------------*/
/*! \name Sync */
/*! \{ */
virtual void resolveLinks(void);
/*! \} */
/*========================== PRIVATE ================================*/
private:
/*---------------------------------------------------------------------*/
// prohibit default functions (move to 'public' if you need one)
void operator =(const MachineCoreBase &source);
};
typedef MachineCoreBase *MachineCoreBaseP;
typedef CoredNodeRefPtr <MachineCore> MachineCoreNodeRefPtr;
typedef CoredNodeMTRefPtr<MachineCore> MachineCoreNodeMTRefPtr;
OSG_END_NAMESPACE
#endif /* _OSGMACHINECOREBASE_H_ */
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users