MDL SDK API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
idatabase.h
Go to the documentation of this file.
1 /***************************************************************************************************
2  * Copyright 2022 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_IDATABASE_H
8 #define MI_NEURAYLIB_IDATABASE_H
9 
11 
12 namespace mi {
13 
14 namespace neuraylib {
15 
16 class IScope;
17 
286 class IDatabase : public
293  mi::base::Interface_declare<0x814ae637,0xde35,0x4870,0x8e,0x5b,0x7e,0x28,0x9d,0x30,0xfb,0x82>
294 {
295 public:
300  virtual IScope* get_global_scope() const = 0;
301 
326  virtual IScope* create_scope( IScope* parent, Uint8 privacy_level = 0, bool temp = false) = 0;
327 
332  virtual IScope* get_scope( const char* id) const = 0;
333 
348  virtual Sint32 remove_scope( const char* id) const = 0;
349 
371  virtual void lock( Uint32 lock_id) = 0;
372 
385  virtual Sint32 unlock( Uint32 lock_id) = 0;
386 
406  virtual IScope* create_or_get_named_scope(
407  const char* name, IScope* parent = 0, Uint8 privacy_level = 0) = 0;
408 
417  virtual IScope* get_named_scope( const char* name) const = 0;
418 
421 
426 
431 
436 
437  // Undocumented, for alignment only.
438  PRIORITY_FORCE_32_BIT = 0xffffffffU
439  };
440 
456  virtual void garbage_collection( Garbage_collection_priority priority = PRIORITY_MEDIUM) = 0;
457 };
458 
460  // end group mi_neuray_database_access
462 
463 } // namespace neuraylib
464 
465 } // namespace mi
466 
467 #endif // MI_NEURAYLIB_IDATABASE_H