/Source/System/Image/WS/OSGImageBase.h

https://github.com/msteners/OpenSGDevMaster_Toolbox · C Header · 652 lines · 381 code · 126 blank · 145 comment · 0 complexity · e36615c32cffa938c36cdcf786882b15 MD5 · raw file

  1. /*---------------------------------------------------------------------------*\
  2. * OpenSG *
  3. * *
  4. * *
  5. * Copyright (C) 2000-2006 by the OpenSG Forum *
  6. * *
  7. * www.opensg.org *
  8. * *
  9. * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de *
  10. * *
  11. \*---------------------------------------------------------------------------*/
  12. /*---------------------------------------------------------------------------*\
  13. * License *
  14. * *
  15. * This library is free software; you can redistribute it and/or modify it *
  16. * under the terms of the GNU Library General Public License as published *
  17. * by the Free Software Foundation, version 2. *
  18. * *
  19. * This library is distributed in the hope that it will be useful, but *
  20. * WITHOUT ANY WARRANTY; without even the implied warranty of *
  21. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
  22. * Library General Public License for more details. *
  23. * *
  24. * You should have received a copy of the GNU Library General Public *
  25. * License along with this library; if not, write to the Free Software *
  26. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
  27. * *
  28. \*---------------------------------------------------------------------------*/
  29. /*---------------------------------------------------------------------------*\
  30. * Changes *
  31. * *
  32. * *
  33. * *
  34. * *
  35. * *
  36. * *
  37. \*---------------------------------------------------------------------------*/
  38. /*****************************************************************************\
  39. *****************************************************************************
  40. ** **
  41. ** This file is automatically generated. **
  42. ** **
  43. ** Any changes made to this file WILL be lost when it is **
  44. ** regenerated, which can become necessary at any time. **
  45. ** **
  46. ** Do not change this file, changes should be done in the derived **
  47. ** class Image
  48. ** **
  49. *****************************************************************************
  50. \*****************************************************************************/
  51. #ifndef _OSGIMAGEBASE_H_
  52. #define _OSGIMAGEBASE_H_
  53. #ifdef __sgi
  54. #pragma once
  55. #endif
  56. #include "OSGConfig.h"
  57. #include "OSGSystemDef.h"
  58. //#include "OSGBaseTypes.h"
  59. #include "OSGAttachmentContainer.h" // Parent
  60. #include "OSGFieldContainerFields.h" // Parents type
  61. #include "OSGSysFields.h" // Dimension type
  62. #include "OSGBaseFields.h" // FrameDelay type
  63. #include "OSGImageFields.h"
  64. OSG_BEGIN_NAMESPACE
  65. class Image;
  66. //! \brief Image Base Class.
  67. class OSG_SYSTEM_DLLMAPPING ImageBase : public AttachmentContainer
  68. {
  69. public:
  70. typedef AttachmentContainer Inherited;
  71. typedef AttachmentContainer ParentContainer;
  72. typedef Inherited::TypeObject TypeObject;
  73. typedef TypeObject::InitPhase InitPhase;
  74. OSG_GEN_INTERNALPTR(Image);
  75. /*========================== PUBLIC =================================*/
  76. public:
  77. enum
  78. {
  79. ParentsFieldId = Inherited::NextFieldId,
  80. DimensionFieldId = ParentsFieldId + 1,
  81. WidthFieldId = DimensionFieldId + 1,
  82. HeightFieldId = WidthFieldId + 1,
  83. DepthFieldId = HeightFieldId + 1,
  84. BppFieldId = DepthFieldId + 1,
  85. MipMapCountFieldId = BppFieldId + 1,
  86. FrameCountFieldId = MipMapCountFieldId + 1,
  87. FrameDelayFieldId = FrameCountFieldId + 1,
  88. PixelFormatFieldId = FrameDelayFieldId + 1,
  89. PixelFieldId = PixelFormatFieldId + 1,
  90. FrameSizeFieldId = PixelFieldId + 1,
  91. NameFieldId = FrameSizeFieldId + 1,
  92. DataTypeFieldId = NameFieldId + 1,
  93. ComponentSizeFieldId = DataTypeFieldId + 1,
  94. SideCountFieldId = ComponentSizeFieldId + 1,
  95. SideSizeFieldId = SideCountFieldId + 1,
  96. ForceCompressedDataFieldId = SideSizeFieldId + 1,
  97. ForceAlphaChannelFieldId = ForceCompressedDataFieldId + 1,
  98. ForceColorChannelFieldId = ForceAlphaChannelFieldId + 1,
  99. ForceAlphaBinaryFieldId = ForceColorChannelFieldId + 1,
  100. ResXFieldId = ForceAlphaBinaryFieldId + 1,
  101. ResYFieldId = ResXFieldId + 1,
  102. ResUnitFieldId = ResYFieldId + 1,
  103. ClearOnLoadFieldId = ResUnitFieldId + 1,
  104. NextFieldId = ClearOnLoadFieldId + 1
  105. };
  106. static const OSG::BitVector ParentsFieldMask =
  107. (TypeTraits<BitVector>::One << ParentsFieldId);
  108. static const OSG::BitVector DimensionFieldMask =
  109. (TypeTraits<BitVector>::One << DimensionFieldId);
  110. static const OSG::BitVector WidthFieldMask =
  111. (TypeTraits<BitVector>::One << WidthFieldId);
  112. static const OSG::BitVector HeightFieldMask =
  113. (TypeTraits<BitVector>::One << HeightFieldId);
  114. static const OSG::BitVector DepthFieldMask =
  115. (TypeTraits<BitVector>::One << DepthFieldId);
  116. static const OSG::BitVector BppFieldMask =
  117. (TypeTraits<BitVector>::One << BppFieldId);
  118. static const OSG::BitVector MipMapCountFieldMask =
  119. (TypeTraits<BitVector>::One << MipMapCountFieldId);
  120. static const OSG::BitVector FrameCountFieldMask =
  121. (TypeTraits<BitVector>::One << FrameCountFieldId);
  122. static const OSG::BitVector FrameDelayFieldMask =
  123. (TypeTraits<BitVector>::One << FrameDelayFieldId);
  124. static const OSG::BitVector PixelFormatFieldMask =
  125. (TypeTraits<BitVector>::One << PixelFormatFieldId);
  126. static const OSG::BitVector PixelFieldMask =
  127. (TypeTraits<BitVector>::One << PixelFieldId);
  128. static const OSG::BitVector FrameSizeFieldMask =
  129. (TypeTraits<BitVector>::One << FrameSizeFieldId);
  130. static const OSG::BitVector NameFieldMask =
  131. (TypeTraits<BitVector>::One << NameFieldId);
  132. static const OSG::BitVector DataTypeFieldMask =
  133. (TypeTraits<BitVector>::One << DataTypeFieldId);
  134. static const OSG::BitVector ComponentSizeFieldMask =
  135. (TypeTraits<BitVector>::One << ComponentSizeFieldId);
  136. static const OSG::BitVector SideCountFieldMask =
  137. (TypeTraits<BitVector>::One << SideCountFieldId);
  138. static const OSG::BitVector SideSizeFieldMask =
  139. (TypeTraits<BitVector>::One << SideSizeFieldId);
  140. static const OSG::BitVector ForceCompressedDataFieldMask =
  141. (TypeTraits<BitVector>::One << ForceCompressedDataFieldId);
  142. static const OSG::BitVector ForceAlphaChannelFieldMask =
  143. (TypeTraits<BitVector>::One << ForceAlphaChannelFieldId);
  144. static const OSG::BitVector ForceColorChannelFieldMask =
  145. (TypeTraits<BitVector>::One << ForceColorChannelFieldId);
  146. static const OSG::BitVector ForceAlphaBinaryFieldMask =
  147. (TypeTraits<BitVector>::One << ForceAlphaBinaryFieldId);
  148. static const OSG::BitVector ResXFieldMask =
  149. (TypeTraits<BitVector>::One << ResXFieldId);
  150. static const OSG::BitVector ResYFieldMask =
  151. (TypeTraits<BitVector>::One << ResYFieldId);
  152. static const OSG::BitVector ResUnitFieldMask =
  153. (TypeTraits<BitVector>::One << ResUnitFieldId);
  154. static const OSG::BitVector ClearOnLoadFieldMask =
  155. (TypeTraits<BitVector>::One << ClearOnLoadFieldId);
  156. static const OSG::BitVector NextFieldMask =
  157. (TypeTraits<BitVector>::One << NextFieldId);
  158. typedef MFParentFieldContainerPtr MFParentsType;
  159. typedef SFInt32 SFDimensionType;
  160. typedef SFInt32 SFWidthType;
  161. typedef SFInt32 SFHeightType;
  162. typedef SFInt32 SFDepthType;
  163. typedef SFInt32 SFBppType;
  164. typedef SFInt32 SFMipMapCountType;
  165. typedef SFInt32 SFFrameCountType;
  166. typedef SFTime SFFrameDelayType;
  167. typedef SFUInt32 SFPixelFormatType;
  168. typedef MFUInt8 MFPixelType;
  169. typedef SFInt32 SFFrameSizeType;
  170. typedef SFString SFNameType;
  171. typedef SFInt32 SFDataTypeType;
  172. typedef SFInt32 SFComponentSizeType;
  173. typedef SFInt32 SFSideCountType;
  174. typedef SFInt32 SFSideSizeType;
  175. typedef SFBool SFForceCompressedDataType;
  176. typedef SFBool SFForceAlphaChannelType;
  177. typedef SFBool SFForceColorChannelType;
  178. typedef SFBool SFForceAlphaBinaryType;
  179. typedef SFReal32 SFResXType;
  180. typedef SFReal32 SFResYType;
  181. typedef SFUInt16 SFResUnitType;
  182. typedef SFBool SFClearOnLoadType;
  183. /*---------------------------------------------------------------------*/
  184. /*! \name Class Get */
  185. /*! \{ */
  186. static FieldContainerType &getClassType (void);
  187. static UInt32 getClassTypeId (void);
  188. static UInt16 getClassGroupId(void);
  189. /*! \} */
  190. /*---------------------------------------------------------------------*/
  191. /*! \name FieldContainer Get */
  192. /*! \{ */
  193. virtual FieldContainerType &getType (void);
  194. virtual const FieldContainerType &getType (void) const;
  195. virtual UInt32 getContainerSize(void) const;
  196. /*! \} */
  197. /*---------------------------------------------------------------------*/
  198. /*! \name Field Get */
  199. /*! \{ */
  200. SFInt32 *editSFDimension (void);
  201. const SFInt32 *getSFDimension (void) const;
  202. SFInt32 *editSFWidth (void);
  203. const SFInt32 *getSFWidth (void) const;
  204. SFInt32 *editSFHeight (void);
  205. const SFInt32 *getSFHeight (void) const;
  206. SFInt32 *editSFDepth (void);
  207. const SFInt32 *getSFDepth (void) const;
  208. SFInt32 *editSFBpp (void);
  209. const SFInt32 *getSFBpp (void) const;
  210. SFInt32 *editSFMipMapCount (void);
  211. const SFInt32 *getSFMipMapCount (void) const;
  212. SFInt32 *editSFFrameCount (void);
  213. const SFInt32 *getSFFrameCount (void) const;
  214. SFTime *editSFFrameDelay (void);
  215. const SFTime *getSFFrameDelay (void) const;
  216. SFUInt32 *editSFPixelFormat (void);
  217. const SFUInt32 *getSFPixelFormat (void) const;
  218. MFUInt8 *editMFPixel (void);
  219. const MFUInt8 *getMFPixel (void) const;
  220. SFInt32 *editSFFrameSize (void);
  221. const SFInt32 *getSFFrameSize (void) const;
  222. SFString *editSFName (void);
  223. const SFString *getSFName (void) const;
  224. SFInt32 *editSFDataType (void);
  225. const SFInt32 *getSFDataType (void) const;
  226. SFInt32 *editSFSideCount (void);
  227. const SFInt32 *getSFSideCount (void) const;
  228. SFInt32 *editSFSideSize (void);
  229. const SFInt32 *getSFSideSize (void) const;
  230. SFBool *editSFForceCompressedData(void);
  231. const SFBool *getSFForceCompressedData (void) const;
  232. SFBool *editSFForceAlphaChannel(void);
  233. const SFBool *getSFForceAlphaChannel (void) const;
  234. SFBool *editSFForceColorChannel(void);
  235. const SFBool *getSFForceColorChannel (void) const;
  236. SFBool *editSFForceAlphaBinary(void);
  237. const SFBool *getSFForceAlphaBinary (void) const;
  238. SFReal32 *editSFResX (void);
  239. const SFReal32 *getSFResX (void) const;
  240. SFReal32 *editSFResY (void);
  241. const SFReal32 *getSFResY (void) const;
  242. SFUInt16 *editSFResUnit (void);
  243. const SFUInt16 *getSFResUnit (void) const;
  244. SFBool *editSFClearOnLoad (void);
  245. const SFBool *getSFClearOnLoad (void) const;
  246. Int32 &editDimension (void);
  247. Int32 getDimension (void) const;
  248. Int32 &editWidth (void);
  249. Int32 getWidth (void) const;
  250. Int32 &editHeight (void);
  251. Int32 getHeight (void) const;
  252. Int32 &editDepth (void);
  253. Int32 getDepth (void) const;
  254. Int32 &editBpp (void);
  255. Int32 getBpp (void) const;
  256. Int32 &editMipMapCount (void);
  257. Int32 getMipMapCount (void) const;
  258. Int32 &editFrameCount (void);
  259. Int32 getFrameCount (void) const;
  260. Time &editFrameDelay (void);
  261. const Time &getFrameDelay (void) const;
  262. UInt32 &editPixelFormat (void);
  263. UInt32 getPixelFormat (void) const;
  264. UInt8 &editPixel (const UInt32 index);
  265. UInt8 getPixel (const UInt32 index) const;
  266. Int32 &editFrameSize (void);
  267. Int32 getFrameSize (void) const;
  268. std::string &editName (void);
  269. const std::string &getName (void) const;
  270. Int32 &editDataType (void);
  271. Int32 getDataType (void) const;
  272. Int32 &editSideCount (void);
  273. Int32 getSideCount (void) const;
  274. Int32 &editSideSize (void);
  275. Int32 getSideSize (void) const;
  276. bool &editForceCompressedData(void);
  277. bool getForceCompressedData (void) const;
  278. bool &editForceAlphaChannel(void);
  279. bool getForceAlphaChannel (void) const;
  280. bool &editForceColorChannel(void);
  281. bool getForceColorChannel (void) const;
  282. bool &editForceAlphaBinary(void);
  283. bool getForceAlphaBinary (void) const;
  284. Real32 &editResX (void);
  285. Real32 getResX (void) const;
  286. Real32 &editResY (void);
  287. Real32 getResY (void) const;
  288. UInt16 &editResUnit (void);
  289. UInt16 getResUnit (void) const;
  290. bool &editClearOnLoad (void);
  291. bool getClearOnLoad (void) const;
  292. /*! \} */
  293. /*---------------------------------------------------------------------*/
  294. /*! \name Field Set */
  295. /*! \{ */
  296. void setDimension (const Int32 value);
  297. void setWidth (const Int32 value);
  298. void setHeight (const Int32 value);
  299. void setDepth (const Int32 value);
  300. void setBpp (const Int32 value);
  301. void setMipMapCount (const Int32 value);
  302. void setFrameCount (const Int32 value);
  303. void setFrameDelay (const Time &value);
  304. void setPixelFormat (const UInt32 value);
  305. void setFrameSize (const Int32 value);
  306. void setName (const std::string &value);
  307. void setDataType (const Int32 value);
  308. void setSideCount (const Int32 value);
  309. void setSideSize (const Int32 value);
  310. void setForceCompressedData(const bool value);
  311. void setForceAlphaChannel(const bool value);
  312. void setForceColorChannel(const bool value);
  313. void setForceAlphaBinary(const bool value);
  314. void setResX (const Real32 value);
  315. void setResY (const Real32 value);
  316. void setResUnit (const UInt16 value);
  317. void setClearOnLoad (const bool value);
  318. /*! \} */
  319. /*---------------------------------------------------------------------*/
  320. /*! \name Ptr MField Set */
  321. /*! \{ */
  322. /*! \} */
  323. /*---------------------------------------------------------------------*/
  324. /*! \name Binary Access */
  325. /*! \{ */
  326. virtual UInt32 getBinSize (ConstFieldMaskArg whichField);
  327. virtual void copyToBin (BinaryDataHandler &pMem,
  328. ConstFieldMaskArg whichField);
  329. virtual void copyFromBin(BinaryDataHandler &pMem,
  330. ConstFieldMaskArg whichField);
  331. /*! \} */
  332. /*---------------------------------------------------------------------*/
  333. /*! \name Construction */
  334. /*! \{ */
  335. static ImageTransitPtr create (void);
  336. static Image *createEmpty (void);
  337. static ImageTransitPtr createLocal (
  338. BitVector bFlags = FCLocal::All);
  339. static Image *createEmptyLocal(
  340. BitVector bFlags = FCLocal::All);
  341. static ImageTransitPtr createDependent (BitVector bFlags);
  342. /*! \} */
  343. /*---------------------------------------------------------------------*/
  344. /*! \name Copy */
  345. /*! \{ */
  346. virtual FieldContainerTransitPtr shallowCopy (void) const;
  347. virtual FieldContainerTransitPtr shallowCopyLocal(
  348. BitVector bFlags = FCLocal::All) const;
  349. virtual FieldContainerTransitPtr shallowCopyDependent(
  350. BitVector bFlags) const;
  351. /*! \} */
  352. /*========================= PROTECTED ===============================*/
  353. protected:
  354. static TypeObject _type;
  355. static void classDescInserter(TypeObject &oType);
  356. static const Char8 *getClassname (void );
  357. /*---------------------------------------------------------------------*/
  358. /*! \name Fields */
  359. /*! \{ */
  360. MFParentFieldContainerPtr _mfParents;
  361. SFInt32 _sfDimension;
  362. SFInt32 _sfWidth;
  363. SFInt32 _sfHeight;
  364. SFInt32 _sfDepth;
  365. SFInt32 _sfBpp;
  366. SFInt32 _sfMipMapCount;
  367. SFInt32 _sfFrameCount;
  368. SFTime _sfFrameDelay;
  369. SFUInt32 _sfPixelFormat;
  370. MFUInt8 _mfPixel;
  371. SFInt32 _sfFrameSize;
  372. SFString _sfName;
  373. SFInt32 _sfDataType;
  374. SFInt32 _sfComponentSize;
  375. SFInt32 _sfSideCount;
  376. SFInt32 _sfSideSize;
  377. SFBool _sfForceCompressedData;
  378. SFBool _sfForceAlphaChannel;
  379. SFBool _sfForceColorChannel;
  380. SFBool _sfForceAlphaBinary;
  381. SFReal32 _sfResX;
  382. SFReal32 _sfResY;
  383. SFUInt16 _sfResUnit;
  384. SFBool _sfClearOnLoad;
  385. /*! \} */
  386. /*---------------------------------------------------------------------*/
  387. /*! \name Constructors */
  388. /*! \{ */
  389. ImageBase(void);
  390. ImageBase(const ImageBase &source);
  391. /*! \} */
  392. /*---------------------------------------------------------------------*/
  393. /*! \name Destructors */
  394. /*! \{ */
  395. virtual ~ImageBase(void);
  396. /*! \} */
  397. /*---------------------------------------------------------------------*/
  398. /*! \name onCreate */
  399. /*! \{ */
  400. /*! \} */
  401. /*---------------------------------------------------------------------*/
  402. /*! \name Parent linking */
  403. /*! \{ */
  404. virtual bool linkParent (FieldContainer * const pParent,
  405. UInt16 const childFieldId,
  406. UInt16 const parentFieldId);
  407. virtual bool unlinkParent(FieldContainer * const pParent,
  408. UInt16 const parentFieldId);
  409. /*! \} */
  410. /*---------------------------------------------------------------------*/
  411. /*! \name Generic Field Access */
  412. /*! \{ */
  413. GetFieldHandlePtr getHandleParents (void) const;
  414. EditFieldHandlePtr editHandleParents (void);
  415. GetFieldHandlePtr getHandleDimension (void) const;
  416. EditFieldHandlePtr editHandleDimension (void);
  417. GetFieldHandlePtr getHandleWidth (void) const;
  418. EditFieldHandlePtr editHandleWidth (void);
  419. GetFieldHandlePtr getHandleHeight (void) const;
  420. EditFieldHandlePtr editHandleHeight (void);
  421. GetFieldHandlePtr getHandleDepth (void) const;
  422. EditFieldHandlePtr editHandleDepth (void);
  423. GetFieldHandlePtr getHandleBpp (void) const;
  424. EditFieldHandlePtr editHandleBpp (void);
  425. GetFieldHandlePtr getHandleMipMapCount (void) const;
  426. EditFieldHandlePtr editHandleMipMapCount (void);
  427. GetFieldHandlePtr getHandleFrameCount (void) const;
  428. EditFieldHandlePtr editHandleFrameCount (void);
  429. GetFieldHandlePtr getHandleFrameDelay (void) const;
  430. EditFieldHandlePtr editHandleFrameDelay (void);
  431. GetFieldHandlePtr getHandlePixelFormat (void) const;
  432. EditFieldHandlePtr editHandlePixelFormat (void);
  433. GetFieldHandlePtr getHandlePixel (void) const;
  434. EditFieldHandlePtr editHandlePixel (void);
  435. GetFieldHandlePtr getHandleFrameSize (void) const;
  436. EditFieldHandlePtr editHandleFrameSize (void);
  437. GetFieldHandlePtr getHandleName (void) const;
  438. EditFieldHandlePtr editHandleName (void);
  439. GetFieldHandlePtr getHandleDataType (void) const;
  440. EditFieldHandlePtr editHandleDataType (void);
  441. GetFieldHandlePtr getHandleComponentSize (void) const;
  442. EditFieldHandlePtr editHandleComponentSize (void);
  443. GetFieldHandlePtr getHandleSideCount (void) const;
  444. EditFieldHandlePtr editHandleSideCount (void);
  445. GetFieldHandlePtr getHandleSideSize (void) const;
  446. EditFieldHandlePtr editHandleSideSize (void);
  447. GetFieldHandlePtr getHandleForceCompressedData (void) const;
  448. EditFieldHandlePtr editHandleForceCompressedData(void);
  449. GetFieldHandlePtr getHandleForceAlphaChannel (void) const;
  450. EditFieldHandlePtr editHandleForceAlphaChannel(void);
  451. GetFieldHandlePtr getHandleForceColorChannel (void) const;
  452. EditFieldHandlePtr editHandleForceColorChannel(void);
  453. GetFieldHandlePtr getHandleForceAlphaBinary (void) const;
  454. EditFieldHandlePtr editHandleForceAlphaBinary(void);
  455. GetFieldHandlePtr getHandleResX (void) const;
  456. EditFieldHandlePtr editHandleResX (void);
  457. GetFieldHandlePtr getHandleResY (void) const;
  458. EditFieldHandlePtr editHandleResY (void);
  459. GetFieldHandlePtr getHandleResUnit (void) const;
  460. EditFieldHandlePtr editHandleResUnit (void);
  461. GetFieldHandlePtr getHandleClearOnLoad (void) const;
  462. EditFieldHandlePtr editHandleClearOnLoad (void);
  463. /*! \} */
  464. /*---------------------------------------------------------------------*/
  465. /*! \name Field Get */
  466. /*! \{ */
  467. SFInt32 *editSFComponentSize (void);
  468. const SFInt32 *getSFComponentSize (void) const;
  469. Int32 &editComponentSize (void);
  470. Int32 getComponentSize (void) const;
  471. /*! \} */
  472. /*---------------------------------------------------------------------*/
  473. /*! \name Field Set */
  474. /*! \{ */
  475. void setComponentSize (const Int32 value);
  476. /*! \} */
  477. /*---------------------------------------------------------------------*/
  478. /*! \name Ptr MField Set */
  479. /*! \{ */
  480. /*! \} */
  481. /*---------------------------------------------------------------------*/
  482. /*! \name Sync */
  483. /*! \{ */
  484. #ifdef OSG_MT_CPTR_ASPECT
  485. virtual void execSyncV( FieldContainer &oFrom,
  486. ConstFieldMaskArg whichField,
  487. AspectOffsetStore &oOffsets,
  488. ConstFieldMaskArg syncMode ,
  489. const UInt32 uiSyncInfo);
  490. void execSync ( ImageBase *pFrom,
  491. ConstFieldMaskArg whichField,
  492. AspectOffsetStore &oOffsets,
  493. ConstFieldMaskArg syncMode ,
  494. const UInt32 uiSyncInfo);
  495. #endif
  496. /*! \} */
  497. /*---------------------------------------------------------------------*/
  498. /*! \name Edit */
  499. /*! \{ */
  500. /*! \} */
  501. /*---------------------------------------------------------------------*/
  502. /*! \name Aspect Create */
  503. /*! \{ */
  504. #ifdef OSG_MT_CPTR_ASPECT
  505. virtual FieldContainer *createAspectCopy(
  506. const FieldContainer *pRefAspect) const;
  507. #endif
  508. /*! \} */
  509. /*---------------------------------------------------------------------*/
  510. /*! \name Edit */
  511. /*! \{ */
  512. /*! \} */
  513. /*---------------------------------------------------------------------*/
  514. /*! \name Sync */
  515. /*! \{ */
  516. virtual void resolveLinks(void);
  517. /*! \} */
  518. /*========================== PRIVATE ================================*/
  519. private:
  520. /*---------------------------------------------------------------------*/
  521. // prohibit default functions (move to 'public' if you need one)
  522. void operator =(const ImageBase &source);
  523. };
  524. typedef ImageBase *ImageBaseP;
  525. OSG_END_NAMESPACE
  526. #endif /* _OSGIMAGEBASE_H_ */