Free Electron
SurfaceAccessibleFbx.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __fbx_SurfaceAccessibleFbx_h__
8 #define __fbx_SurfaceAccessibleFbx_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief FBX Surface Binding
17 
18  @ingroup fbx
19 *//***************************************************************************/
20 class FE_DL_EXPORT SurfaceAccessibleFbx:
22 {
23  public:
25 virtual ~SurfaceAccessibleFbx(void);
26 
27  //* as SurfaceAccessibleI
28 
30 
31 virtual BWORD load(String a_filename,sp<Catalog> a_spSettings);
32 
33  private:
34 
35  class FileContext: public Component
36  {
37  public:
38  FileContext(void);
39  virtual ~FileContext(void);
40 
41  FbxManager* m_pFbxManager;
42  FbxScene* m_pFbxScene;
43  };
44 
45  BWORD setContext(String a_filename);
46  BWORD loadScene(const char* a_pFilename);
47  void readTransformations(FbxNode* a_pFbxNode);
48  void addMesh(FbxMesh* a_pFbxMesh,
49  SpatialTransform& a_rTransform);
50 
51  String m_filename;
52  Real m_fps;
53  String m_subset;
54  BWORD m_ytoz;
55  BWORD m_no_uvs;
56 
57  sp<FileContext> m_spFileContext;
58 };
59 
60 } /* namespace ext */
61 } /* namespace fe */
62 
63 #endif /* __fbx_SurfaceAccessibleFbx_h__ */
kernel
Definition: namespace.dox:3
FBX Surface Binding.
Definition: SurfaceAccessibleFbx.h:20
virtual BWORD load(String a_filename, sp< Catalog > a_spSettings)
load model data with settings
Definition: SurfaceAccessibleJoint.h:32
Automatically reference-counted string container.
Definition: String.h:128
Base for all interfacable components.
Definition: Component.h:20
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Joint Surface Binding.
Definition: SurfaceAccessibleJoint.h:20