
/*
 * This file was generated by the SOM Compiler.
 * FileName: \odwin\h\TRNSFRMB.h.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.3
 *     SOM Emitter emith.dll: 2.41
 */

/*
 * 
 *  Classes defined in this interface
 * 
 */


#ifndef SOM_ODBaseTransform_h
#define SOM_ODBaseTransform_h


#include <som.h>

/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))



/*
 * Define class data structures as resolution macros
 */
#define ODBaseTransformClassData (*resolve_ODBaseTransformClassData())
#define ODBaseTransformCClassData (*resolve_ODBaseTransformCClassData())

/*
 * Define the class name as an object type
 */
#ifndef ODBaseTransform
#define ODBaseTransform SOMObject
#endif
#include <RefCtObj.h>

/*
 * Start of user-defined types:
 */
#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */
#ifndef ODObject
    #define ODObject SOMObject
#endif /* ODObject */
#ifndef ODExtension
    #define ODExtension SOMObject
#endif /* ODExtension */
#ifndef ODRefCntObject
    #define ODRefCntObject SOMObject
#endif /* ODRefCntObject */
#ifndef ODBaseTransform
    #define ODBaseTransform SOMObject
#endif /* ODBaseTransform */
#ifndef ODTransform
    #define ODTransform SOMObject
#endif /* ODTransform */
#ifndef ODShape
    #define ODShape SOMObject
#endif /* ODShape */
#ifndef ODStorageUnit
    #define ODStorageUnit SOMObject
#endif /* ODStorageUnit */

/*
 * End of user-defined types.
 */

#define ODBaseTransform_MajorVersion 1
#define ODBaseTransform_MinorVersion 0

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define ODBaseTransformNewClass c
#define ODBaseTransformClassData d
#define ODBaseTransformCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define ODBaseTransform_classObj ODBaseTransformClassData.classObject
#define _ODBaseTransform ODBaseTransform_classObj

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMClass * SOMLINK ODBaseTransformNewClass(integer4 somntmajorVersion,
		integer4 somntminorVersion);

/*
 * Declare the class data structure
 */
SOMEXTERN struct ODBaseTransformClassDataStructure {
	SOMClass *classObject;
	somMToken GetType;
	somMToken GetOffset;
	somMToken GetPreScaleOffset;
	somMToken GetScale;
	somMToken GetMatrix;
	somMToken HasMatrix;
	somMToken IsSameAs;
	somMToken Reset;
	somMToken SetMatrix;
	somMToken Copy;
	somMToken CopyFrom;
	somMToken SetOffset;
	somMToken MoveBy;
	somMToken ScaleBy;
	somMToken ScaleDownBy;
	somMToken Invert;
	somMToken PreCompose;
	somMToken PostCompose;
	somMToken TransformPoint;
	somMToken InvertPoint;
	somMToken TransformShape;
	somMToken InvertShape;
	somMToken WriteTo;
	somMToken ReadFrom;
	somMToken NewTransform;
	somMToken InitBaseTransform;
	somMToken BuildInverse;
	somMToken ClearInverse;
}  _ODBaseTransformClassData;
SOMEXTERN struct ODBaseTransformClassDataStructure * SOMLINK resolve_ODBaseTransformClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct ODBaseTransformCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _ODBaseTransformCClassData;
SOMEXTERN struct ODBaseTransformCClassDataStructure * SOMLINK resolve_ODBaseTransformCClassData(void);

/*
 * New and Renew macros for ODBaseTransform
 */
#define ODBaseTransformNew() \
   (_somNew(_ODBaseTransform ? _ODBaseTransform : ODBaseTransformNewClass(ODBaseTransform_MajorVersion, ODBaseTransform_MinorVersion)))
#define ODBaseTransformRenew(buf) \
   (_somRenew(_ODBaseTransform ? _ODBaseTransform : ODBaseTransformNewClass(ODBaseTransform_MajorVersion, ODBaseTransform_MinorVersion), buf))

/*
 * Override method: somInit
 */
#define ODBaseTransform_somInit(somSelf) \
	SOMObject_somInit(somSelf)

/*
 * Override method: somUninit
 */
#define ODBaseTransform_somUninit(somSelf) \
	SOMObject_somUninit(somSelf)

/*
 * Override method: Purge
 */
#define ODBaseTransform_Purge(somSelf,ev,size) \
	ODObject_Purge(somSelf,ev,size)

/*
 * Override method: Release
 */
#define ODBaseTransform_Release(somSelf,ev) \
	ODRefCntObject_Release(somSelf,ev)

/*
 * New Method: NewTransform
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_NewTransform)(ODBaseTransform *somSelf, Environment *ev);
#define somMD_ODBaseTransform_NewTransform "::ODBaseTransform::NewTransform"
#define ODBaseTransform_NewTransform(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseTransform, NewTransform) \
	(somSelf,ev))
#ifndef SOMGD_NewTransform
    #if (defined(_NewTransform) || defined(__NewTransform))
        #undef _NewTransform
        #undef __NewTransform
        #define SOMGD_NewTransform 1
    #else
        #define _NewTransform ODBaseTransform_NewTransform
    #endif /* _NewTransform */
#endif /* SOMGD_NewTransform */

/*
 * New Method: Copy
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_Copy)(ODBaseTransform *somSelf, Environment *ev);
#define somMD_ODBaseTransform_Copy "::ODBaseTransform::Copy"
#define ODBaseTransform_Copy(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseTransform, Copy) \
	(somSelf,ev))
#ifndef SOMGD_Copy
    #if (defined(_Copy) || defined(__Copy))
        #undef _Copy
        #undef __Copy
        #define SOMGD_Copy 1
    #else
        #define _Copy ODBaseTransform_Copy
    #endif /* _Copy */
#endif /* SOMGD_Copy */

/*
 * New Method: GetType
 */
typedef ODTransformType   (SOMLINK * somTD_ODBaseTransform_GetType)(ODBaseTransform *somSelf, Environment *ev);
#define somMD_ODBaseTransform_GetType "::ODBaseTransform::GetType"
#define ODBaseTransform_GetType(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseTransform, GetType) \
	(somSelf,ev))
#ifndef SOMGD_GetType
    #if (defined(_GetType) || defined(__GetType))
        #undef _GetType
        #undef __GetType
        #define SOMGD_GetType 1
    #else
        #define _GetType ODBaseTransform_GetType
    #endif /* _GetType */
#endif /* SOMGD_GetType */

/*
 * New Method: GetOffset
 */
typedef void   (SOMLINK * somTD_ODBaseTransform_GetOffset)(ODBaseTransform *somSelf, Environment *ev,
		ODPoint* offset);
#define somMD_ODBaseTransform_GetOffset "::ODBaseTransform::GetOffset"
#define ODBaseTransform_GetOffset(somSelf,ev,offset) \
    (SOM_Resolve(somSelf, ODBaseTransform, GetOffset) \
	(somSelf,ev,offset))
#ifndef SOMGD_GetOffset
    #if (defined(_GetOffset) || defined(__GetOffset))
        #undef _GetOffset
        #undef __GetOffset
        #define SOMGD_GetOffset 1
    #else
        #define _GetOffset ODBaseTransform_GetOffset
    #endif /* _GetOffset */
#endif /* SOMGD_GetOffset */

/*
 * New Method: GetPreScaleOffset
 */
typedef void   (SOMLINK * somTD_ODBaseTransform_GetPreScaleOffset)(ODBaseTransform *somSelf, Environment *ev,
		ODPoint* offset);
#define somMD_ODBaseTransform_GetPreScaleOffset "::ODBaseTransform::GetPreScaleOffset"
#define ODBaseTransform_GetPreScaleOffset(somSelf,ev,offset) \
    (SOM_Resolve(somSelf, ODBaseTransform, GetPreScaleOffset) \
	(somSelf,ev,offset))
#ifndef SOMGD_GetPreScaleOffset
    #if (defined(_GetPreScaleOffset) || defined(__GetPreScaleOffset))
        #undef _GetPreScaleOffset
        #undef __GetPreScaleOffset
        #define SOMGD_GetPreScaleOffset 1
    #else
        #define _GetPreScaleOffset ODBaseTransform_GetPreScaleOffset
    #endif /* _GetPreScaleOffset */
#endif /* SOMGD_GetPreScaleOffset */

/*
 * New Method: GetScale
 */
typedef void   (SOMLINK * somTD_ODBaseTransform_GetScale)(ODBaseTransform *somSelf, Environment *ev,
		ODPoint* scale);
#define somMD_ODBaseTransform_GetScale "::ODBaseTransform::GetScale"
#define ODBaseTransform_GetScale(somSelf,ev,scale) \
    (SOM_Resolve(somSelf, ODBaseTransform, GetScale) \
	(somSelf,ev,scale))
#ifndef SOMGD_GetScale
    #if (defined(_GetScale) || defined(__GetScale))
        #undef _GetScale
        #undef __GetScale
        #define SOMGD_GetScale 1
    #else
        #define _GetScale ODBaseTransform_GetScale
    #endif /* _GetScale */
#endif /* SOMGD_GetScale */

/*
 * New Method: GetMatrix
 */
typedef void   (SOMLINK * somTD_ODBaseTransform_GetMatrix)(ODBaseTransform *somSelf, Environment *ev,
		ODMatrix* matrix);
#define somMD_ODBaseTransform_GetMatrix "::ODBaseTransform::GetMatrix"
#define ODBaseTransform_GetMatrix(somSelf,ev,matrix) \
    (SOM_Resolve(somSelf, ODBaseTransform, GetMatrix) \
	(somSelf,ev,matrix))
#ifndef SOMGD_GetMatrix
    #if (defined(_GetMatrix) || defined(__GetMatrix))
        #undef _GetMatrix
        #undef __GetMatrix
        #define SOMGD_GetMatrix 1
    #else
        #define _GetMatrix ODBaseTransform_GetMatrix
    #endif /* _GetMatrix */
#endif /* SOMGD_GetMatrix */

/*
 * New Method: HasMatrix
 */
typedef ODBoolean   (SOMLINK * somTD_ODBaseTransform_HasMatrix)(ODBaseTransform *somSelf, Environment *ev);
#define somMD_ODBaseTransform_HasMatrix "::ODBaseTransform::HasMatrix"
#define ODBaseTransform_HasMatrix(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseTransform, HasMatrix) \
	(somSelf,ev))
#ifndef SOMGD_HasMatrix
    #if (defined(_HasMatrix) || defined(__HasMatrix))
        #undef _HasMatrix
        #undef __HasMatrix
        #define SOMGD_HasMatrix 1
    #else
        #define _HasMatrix ODBaseTransform_HasMatrix
    #endif /* _HasMatrix */
#endif /* SOMGD_HasMatrix */

/*
 * New Method: IsSameAs
 */
typedef ODBoolean   (SOMLINK * somTD_ODBaseTransform_IsSameAs)(ODBaseTransform *somSelf, Environment *ev,
		ODTransform* compareTransform);
#define somMD_ODBaseTransform_IsSameAs "::ODBaseTransform::IsSameAs"
#define ODBaseTransform_IsSameAs(somSelf,ev,compareTransform) \
    (SOM_Resolve(somSelf, ODBaseTransform, IsSameAs) \
	(somSelf,ev,compareTransform))
#ifndef SOMGD_IsSameAs
    #if (defined(_IsSameAs) || defined(__IsSameAs))
        #undef _IsSameAs
        #undef __IsSameAs
        #define SOMGD_IsSameAs 1
    #else
        #define _IsSameAs ODBaseTransform_IsSameAs
    #endif /* _IsSameAs */
#endif /* SOMGD_IsSameAs */

/*
 * New Method: Reset
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_Reset)(ODBaseTransform *somSelf, Environment *ev);
#define somMD_ODBaseTransform_Reset "::ODBaseTransform::Reset"
#define ODBaseTransform_Reset(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseTransform, Reset) \
	(somSelf,ev))
#ifndef SOMGD_Reset
    #if (defined(_Reset) || defined(__Reset))
        #undef _Reset
        #undef __Reset
        #define SOMGD_Reset 1
    #else
        #define _Reset ODBaseTransform_Reset
    #endif /* _Reset */
#endif /* SOMGD_Reset */

/*
 * New Method: SetMatrix
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_SetMatrix)(ODBaseTransform *somSelf, Environment *ev,
		ODMatrix* matrix);
#define somMD_ODBaseTransform_SetMatrix "::ODBaseTransform::SetMatrix"
#define ODBaseTransform_SetMatrix(somSelf,ev,matrix) \
    (SOM_Resolve(somSelf, ODBaseTransform, SetMatrix) \
	(somSelf,ev,matrix))
#ifndef SOMGD_SetMatrix
    #if (defined(_SetMatrix) || defined(__SetMatrix))
        #undef _SetMatrix
        #undef __SetMatrix
        #define SOMGD_SetMatrix 1
    #else
        #define _SetMatrix ODBaseTransform_SetMatrix
    #endif /* _SetMatrix */
#endif /* SOMGD_SetMatrix */

/*
 * New Method: CopyFrom
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_CopyFrom)(ODBaseTransform *somSelf, Environment *ev,
		ODTransform* sourceTransform);
#define somMD_ODBaseTransform_CopyFrom "::ODBaseTransform::CopyFrom"
#define ODBaseTransform_CopyFrom(somSelf,ev,sourceTransform) \
    (SOM_Resolve(somSelf, ODBaseTransform, CopyFrom) \
	(somSelf,ev,sourceTransform))
#ifndef SOMGD_CopyFrom
    #if (defined(_CopyFrom) || defined(__CopyFrom))
        #undef _CopyFrom
        #undef __CopyFrom
        #define SOMGD_CopyFrom 1
    #else
        #define _CopyFrom ODBaseTransform_CopyFrom
    #endif /* _CopyFrom */
#endif /* SOMGD_CopyFrom */

/*
 * New Method: SetOffset
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_SetOffset)(ODBaseTransform *somSelf, Environment *ev,
		ODPoint* point);
#define somMD_ODBaseTransform_SetOffset "::ODBaseTransform::SetOffset"
#define ODBaseTransform_SetOffset(somSelf,ev,point) \
    (SOM_Resolve(somSelf, ODBaseTransform, SetOffset) \
	(somSelf,ev,point))
#ifndef SOMGD_SetOffset
    #if (defined(_SetOffset) || defined(__SetOffset))
        #undef _SetOffset
        #undef __SetOffset
        #define SOMGD_SetOffset 1
    #else
        #define _SetOffset ODBaseTransform_SetOffset
    #endif /* _SetOffset */
#endif /* SOMGD_SetOffset */

/*
 * New Method: MoveBy
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_MoveBy)(ODBaseTransform *somSelf, Environment *ev,
		ODPoint* point);
#define somMD_ODBaseTransform_MoveBy "::ODBaseTransform::MoveBy"
#define ODBaseTransform_MoveBy(somSelf,ev,point) \
    (SOM_Resolve(somSelf, ODBaseTransform, MoveBy) \
	(somSelf,ev,point))
#ifndef SOMGD_MoveBy
    #if (defined(_MoveBy) || defined(__MoveBy))
        #undef _MoveBy
        #undef __MoveBy
        #define SOMGD_MoveBy 1
    #else
        #define _MoveBy ODBaseTransform_MoveBy
    #endif /* _MoveBy */
#endif /* SOMGD_MoveBy */

/*
 * New Method: ScaleBy
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_ScaleBy)(ODBaseTransform *somSelf, Environment *ev,
		ODPoint* scale);
#define somMD_ODBaseTransform_ScaleBy "::ODBaseTransform::ScaleBy"
#define ODBaseTransform_ScaleBy(somSelf,ev,scale) \
    (SOM_Resolve(somSelf, ODBaseTransform, ScaleBy) \
	(somSelf,ev,scale))
#ifndef SOMGD_ScaleBy
    #if (defined(_ScaleBy) || defined(__ScaleBy))
        #undef _ScaleBy
        #undef __ScaleBy
        #define SOMGD_ScaleBy 1
    #else
        #define _ScaleBy ODBaseTransform_ScaleBy
    #endif /* _ScaleBy */
#endif /* SOMGD_ScaleBy */

/*
 * New Method: ScaleDownBy
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_ScaleDownBy)(ODBaseTransform *somSelf, Environment *ev,
		ODPoint* scale);
#define somMD_ODBaseTransform_ScaleDownBy "::ODBaseTransform::ScaleDownBy"
#define ODBaseTransform_ScaleDownBy(somSelf,ev,scale) \
    (SOM_Resolve(somSelf, ODBaseTransform, ScaleDownBy) \
	(somSelf,ev,scale))
#ifndef SOMGD_ScaleDownBy
    #if (defined(_ScaleDownBy) || defined(__ScaleDownBy))
        #undef _ScaleDownBy
        #undef __ScaleDownBy
        #define SOMGD_ScaleDownBy 1
    #else
        #define _ScaleDownBy ODBaseTransform_ScaleDownBy
    #endif /* _ScaleDownBy */
#endif /* SOMGD_ScaleDownBy */

/*
 * New Method: Invert
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_Invert)(ODBaseTransform *somSelf, Environment *ev);
#define somMD_ODBaseTransform_Invert "::ODBaseTransform::Invert"
#define ODBaseTransform_Invert(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseTransform, Invert) \
	(somSelf,ev))
#ifndef SOMGD_Invert
    #if (defined(_Invert) || defined(__Invert))
        #undef _Invert
        #undef __Invert
        #define SOMGD_Invert 1
    #else
        #define _Invert ODBaseTransform_Invert
    #endif /* _Invert */
#endif /* SOMGD_Invert */

/*
 * New Method: PreCompose
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_PreCompose)(ODBaseTransform *somSelf, Environment *ev,
		ODTransform* transform);
#define somMD_ODBaseTransform_PreCompose "::ODBaseTransform::PreCompose"
#define ODBaseTransform_PreCompose(somSelf,ev,transform) \
    (SOM_Resolve(somSelf, ODBaseTransform, PreCompose) \
	(somSelf,ev,transform))
#ifndef SOMGD_PreCompose
    #if (defined(_PreCompose) || defined(__PreCompose))
        #undef _PreCompose
        #undef __PreCompose
        #define SOMGD_PreCompose 1
    #else
        #define _PreCompose ODBaseTransform_PreCompose
    #endif /* _PreCompose */
#endif /* SOMGD_PreCompose */

/*
 * New Method: PostCompose
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseTransform_PostCompose)(ODBaseTransform *somSelf, Environment *ev,
		ODTransform* transform);
#define somMD_ODBaseTransform_PostCompose "::ODBaseTransform::PostCompose"
#define ODBaseTransform_PostCompose(somSelf,ev,transform) \
    (SOM_Resolve(somSelf, ODBaseTransform, PostCompose) \
	(somSelf,ev,transform))
#ifndef SOMGD_PostCompose
    #if (defined(_PostCompose) || defined(__PostCompose))
        #undef _PostCompose
        #undef __PostCompose
        #define SOMGD_PostCompose 1
    #else
        #define _PostCompose ODBaseTransform_PostCompose
    #endif /* _PostCompose */
#endif /* SOMGD_PostCompose */

/*
 * New Method: TransformPoint
 */
typedef ODPoint   (SOMLINK * somTD_ODBaseTransform_TransformPoint)(ODBaseTransform *somSelf, Environment *ev,
		ODPoint* point);
#define somMD_ODBaseTransform_TransformPoint "::ODBaseTransform::TransformPoint"
#define ODBaseTransform_TransformPoint(somSelf,ev,point) \
    (SOM_Resolve(somSelf, ODBaseTransform, TransformPoint) \
	(somSelf,ev,point))
#ifndef SOMGD_TransformPoint
    #if (defined(_TransformPoint) || defined(__TransformPoint))
        #undef _TransformPoint
        #undef __TransformPoint
        #define SOMGD_TransformPoint 1
    #else
        #define _TransformPoint ODBaseTransform_TransformPoint
    #endif /* _TransformPoint */
#endif /* SOMGD_TransformPoint */

/*
 * New Method: InvertPoint
 */
typedef ODPoint   (SOMLINK * somTD_ODBaseTransform_InvertPoint)(ODBaseTransform *somSelf, Environment *ev,
		ODPoint* point);
#define somMD_ODBaseTransform_InvertPoint "::ODBaseTransform::InvertPoint"
#define ODBaseTransform_InvertPoint(somSelf,ev,point) \
    (SOM_Resolve(somSelf, ODBaseTransform, InvertPoint) \
	(somSelf,ev,point))
#ifndef SOMGD_InvertPoint
    #if (defined(_InvertPoint) || defined(__InvertPoint))
        #undef _InvertPoint
        #undef __InvertPoint
        #define SOMGD_InvertPoint 1
    #else
        #define _InvertPoint ODBaseTransform_InvertPoint
    #endif /* _InvertPoint */
#endif /* SOMGD_InvertPoint */

/*
 * New Method: TransformShape
 */
typedef void   (SOMLINK * somTD_ODBaseTransform_TransformShape)(ODBaseTransform *somSelf, Environment *ev,
		ODShape* shape);
#define somMD_ODBaseTransform_TransformShape "::ODBaseTransform::TransformShape"
#define ODBaseTransform_TransformShape(somSelf,ev,shape) \
    (SOM_Resolve(somSelf, ODBaseTransform, TransformShape) \
	(somSelf,ev,shape))
#ifndef SOMGD_TransformShape
    #if (defined(_TransformShape) || defined(__TransformShape))
        #undef _TransformShape
        #undef __TransformShape
        #define SOMGD_TransformShape 1
    #else
        #define _TransformShape ODBaseTransform_TransformShape
    #endif /* _TransformShape */
#endif /* SOMGD_TransformShape */

/*
 * New Method: InvertShape
 */
typedef void   (SOMLINK * somTD_ODBaseTransform_InvertShape)(ODBaseTransform *somSelf, Environment *ev,
		ODShape* shape);
#define somMD_ODBaseTransform_InvertShape "::ODBaseTransform::InvertShape"
#define ODBaseTransform_InvertShape(somSelf,ev,shape) \
    (SOM_Resolve(somSelf, ODBaseTransform, InvertShape) \
	(somSelf,ev,shape))
#ifndef SOMGD_InvertShape
    #if (defined(_InvertShape) || defined(__InvertShape))
        #undef _InvertShape
        #undef __InvertShape
        #define SOMGD_InvertShape 1
    #else
        #define _InvertShape ODBaseTransform_InvertShape
    #endif /* _InvertShape */
#endif /* SOMGD_InvertShape */

/*
 * New Method: WriteTo
 */
typedef void   (SOMLINK * somTD_ODBaseTransform_WriteTo)(ODBaseTransform *somSelf, Environment *ev,
		ODStorageUnit* storageUnit);
#define somMD_ODBaseTransform_WriteTo "::ODBaseTransform::WriteTo"
#define ODBaseTransform_WriteTo(somSelf,ev,storageUnit) \
    (SOM_Resolve(somSelf, ODBaseTransform, WriteTo) \
	(somSelf,ev,storageUnit))
#ifndef SOMGD_WriteTo
    #if (defined(_WriteTo) || defined(__WriteTo))
        #undef _WriteTo
        #undef __WriteTo
        #define SOMGD_WriteTo 1
    #else
        #define _WriteTo ODBaseTransform_WriteTo
    #endif /* _WriteTo */
#endif /* SOMGD_WriteTo */

/*
 * New Method: ReadFrom
 */
typedef void   (SOMLINK * somTD_ODBaseTransform_ReadFrom)(ODBaseTransform *somSelf, Environment *ev,
		ODStorageUnit* storageUnit);
#define somMD_ODBaseTransform_ReadFrom "::ODBaseTransform::ReadFrom"
#define ODBaseTransform_ReadFrom(somSelf,ev,storageUnit) \
    (SOM_Resolve(somSelf, ODBaseTransform, ReadFrom) \
	(somSelf,ev,storageUnit))
#ifndef SOMGD_ReadFrom
    #if (defined(_ReadFrom) || defined(__ReadFrom))
        #undef _ReadFrom
        #undef __ReadFrom
        #define SOMGD_ReadFrom 1
    #else
        #define _ReadFrom ODBaseTransform_ReadFrom
    #endif /* _ReadFrom */
#endif /* SOMGD_ReadFrom */

/*
 * New Method: InitBaseTransform
 */
typedef void   (SOMLINK * somTD_ODBaseTransform_InitBaseTransform)(ODBaseTransform *somSelf, Environment *ev);
#define somMD_ODBaseTransform_InitBaseTransform "::ODBaseTransform::InitBaseTransform"
#define ODBaseTransform_InitBaseTransform(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseTransform, InitBaseTransform) \
	(somSelf,ev))
#ifndef SOMGD_InitBaseTransform
    #if (defined(_InitBaseTransform) || defined(__InitBaseTransform))
        #undef _InitBaseTransform
        #undef __InitBaseTransform
        #define SOMGD_InitBaseTransform 1
    #else
        #define _InitBaseTransform ODBaseTransform_InitBaseTransform
    #endif /* _InitBaseTransform */
#endif /* SOMGD_InitBaseTransform */

/*
 * New Method: BuildInverse
 */
typedef void   (SOMLINK * somTD_ODBaseTransform_BuildInverse)(ODBaseTransform *somSelf, Environment *ev);
#define somMD_ODBaseTransform_BuildInverse "::ODBaseTransform::BuildInverse"
#define ODBaseTransform_BuildInverse(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseTransform, BuildInverse) \
	(somSelf,ev))
#ifndef SOMGD_BuildInverse
    #if (defined(_BuildInverse) || defined(__BuildInverse))
        #undef _BuildInverse
        #undef __BuildInverse
        #define SOMGD_BuildInverse 1
    #else
        #define _BuildInverse ODBaseTransform_BuildInverse
    #endif /* _BuildInverse */
#endif /* SOMGD_BuildInverse */

/*
 * New Method: ClearInverse
 */
typedef void   (SOMLINK * somTD_ODBaseTransform_ClearInverse)(ODBaseTransform *somSelf, Environment *ev);
#define somMD_ODBaseTransform_ClearInverse "::ODBaseTransform::ClearInverse"
#define ODBaseTransform_ClearInverse(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseTransform, ClearInverse) \
	(somSelf,ev))
#ifndef SOMGD_ClearInverse
    #if (defined(_ClearInverse) || defined(__ClearInverse))
        #undef _ClearInverse
        #undef __ClearInverse
        #define SOMGD_ClearInverse 1
    #else
        #define _ClearInverse ODBaseTransform_ClearInverse
    #endif /* _ClearInverse */
#endif /* SOMGD_ClearInverse */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ODBaseTransform_InitRefCntObject ODRefCntObject_InitRefCntObject
#define ODBaseTransform_IncrementRefCount ODRefCntObject_IncrementRefCount
#define ODBaseTransform_GetRefCount ODRefCntObject_GetRefCount
#define ODBaseTransform_InitObject ODObject_InitObject
#define ODBaseTransform_IsInitialized ODObject_IsInitialized
#define ODBaseTransform_HasExtension ODObject_HasExtension
#define ODBaseTransform_GetExtension ODObject_GetExtension
#define ODBaseTransform_ReleaseExtension ODObject_ReleaseExtension
#define ODBaseTransform_IsEqualTo ODObject_IsEqualTo
#define ODBaseTransform_SubClassResponsibility ODObject_SubClassResponsibility
#define ODBaseTransform_somDefaultInit SOMObject_somDefaultInit
#define ODBaseTransform_somDestruct SOMObject_somDestruct
#define ODBaseTransform_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ODBaseTransform_somDefaultAssign SOMObject_somDefaultAssign
#define ODBaseTransform_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ODBaseTransform_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ODBaseTransform_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ODBaseTransform_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ODBaseTransform_somDefaultVAssign SOMObject_somDefaultVAssign
#define ODBaseTransform_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ODBaseTransform_somFree SOMObject_somFree
#define ODBaseTransform_somGetClass SOMObject_somGetClass
#define ODBaseTransform_somGetClassName SOMObject_somGetClassName
#define ODBaseTransform_somGetSize SOMObject_somGetSize
#define ODBaseTransform_somIsA SOMObject_somIsA
#define ODBaseTransform_somIsInstanceOf SOMObject_somIsInstanceOf
#define ODBaseTransform_somRespondsTo SOMObject_somRespondsTo
#define ODBaseTransform_somDispatch SOMObject_somDispatch
#define ODBaseTransform_somClassDispatch SOMObject_somClassDispatch
#define ODBaseTransform_somCastObj SOMObject_somCastObj
#define ODBaseTransform_somResetObj SOMObject_somResetObj
#define ODBaseTransform_somDispatchV SOMObject_somDispatchV
#define ODBaseTransform_somDispatchL SOMObject_somDispatchL
#define ODBaseTransform_somDispatchA SOMObject_somDispatchA
#define ODBaseTransform_somDispatchD SOMObject_somDispatchD
#define ODBaseTransform_somPrintSelf SOMObject_somPrintSelf
#define ODBaseTransform_somDumpSelf SOMObject_somDumpSelf
#define ODBaseTransform_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ODBaseTransform_h */
