home *** CD-ROM | disk | FTP | other *** search
/ ftptest.leeds.ac.uk / 2015.02.ftptest.leeds.ac.uk.tar / ftptest.leeds.ac.uk / bionet / CAE-GROUP / SCL-WIN3x / SCL.EXE / ATT_INLI.CPP < prev    next >
C/C++ Source or Header  |  1994-08-06  |  3KB  |  120 lines

  1.  
  2. /*
  3. * NIST STEP Core Class Library
  4. * clstepcore/STEPattribute.inline.cc
  5. * February, 1994
  6. * K. C. Morris
  7. * David Sauder
  8.  
  9. * Development of this software was funded by the United States Government,
  10. * and is not subject to copyright.
  11. */
  12.  
  13. /* $Id: STEPattribute.inline.cc,v 2.0.1.3 1994/05/10 21:07:04 kc Exp $ */
  14.  
  15. #include <attribut.h>
  16. #include <sdai.h>
  17.  
  18. //  This is needed so that STEPattribute's can be passed as
  19. //  references to inline functions
  20.  
  21. STEPattribute::STEPattribute (const STEPattribute& a)
  22. : AttrDescriptor (a.AttrDescriptor), _derive (0) {}
  23.  
  24. //  INTEGER
  25. STEPattribute::STEPattribute (const class AttrDescriptor& d, SdaiInteger *p)
  26. : AttrDescriptor (&d), _derive (0)
  27. { ptr.i = p; }
  28.  
  29. //  BINARY
  30. STEPattribute::STEPattribute (const class AttrDescriptor& d, SdaiBinary *p)
  31. : AttrDescriptor (&d), _derive (0)
  32. {ptr.b =p;  }
  33.  
  34. //  STRING
  35. STEPattribute::STEPattribute (const class AttrDescriptor& d, SdaiString *p)
  36. : AttrDescriptor (&d), _derive (0)
  37. {ptr.S =p;  }
  38.  
  39. //  REAL & NUMBER
  40. STEPattribute::STEPattribute (const class AttrDescriptor& d, SdaiReal *p)
  41. : AttrDescriptor (&d), _derive (0)
  42. { ptr.r = p; }
  43.  
  44. //  REAL_PTR
  45. /*STEPattribute::STEPattribute (const class AttrDescriptor& d, real **p)
  46. : AttrDescriptor (&d), _derive (0)
  47. { ptr.rp = p; }
  48. */
  49. //  ENTITY
  50. STEPattribute::STEPattribute (const class AttrDescriptor& d, STEPentity* *p)
  51. : AttrDescriptor (&d), _derive (0)
  52. { ptr.c = p; }
  53.  
  54. //  AGGREGATE
  55. STEPattribute::STEPattribute (const class AttrDescriptor& d, STEPaggregate *p)
  56. : AttrDescriptor (&d), _derive (0)
  57. { ptr.a =  p; }
  58.  
  59. //  ENUMERATION  and Logical
  60. STEPattribute::STEPattribute (const class AttrDescriptor& d, STEPenumeration *p)
  61. : AttrDescriptor (&d), _derive (0)
  62. { ptr.e = p;  }
  63.  
  64. //  SELECT
  65. STEPattribute::STEPattribute (const class AttrDescriptor& d, class SdaiSelect *p)
  66. : AttrDescriptor (&d), _derive (0)
  67. { ptr.sh = p;  }
  68.  
  69. //  UNDEFINED
  70. STEPattribute::STEPattribute (const class AttrDescriptor& d, SCLundefined *p)
  71. : AttrDescriptor (&d), _derive (0)
  72. { ptr.u = p;  }
  73.  
  74.  
  75. const s_String 
  76. STEPattribute::Name() const
  77.     { return AttrDescriptor->Name(); }
  78.  
  79. const s_String 
  80. STEPattribute::TypeName() const
  81.     { return AttrDescriptor->TypeName(); }
  82.  
  83. const BASE_TYPE 
  84. STEPattribute::Type() const
  85. {
  86.     return AttrDescriptor->Type();
  87. }
  88.  
  89. const BASE_TYPE 
  90. STEPattribute::NonRefType() const
  91.     return AttrDescriptor->NonRefType();
  92. }
  93.  
  94. const BASE_TYPE 
  95. STEPattribute::BaseType() const
  96.     return AttrDescriptor->BaseType();
  97. }
  98.  
  99. /*
  100. const EntityDescriptor *
  101. STEPattribute::ReferentEntity() const
  102. {
  103.     return AttrDescriptor->ReferentEntity();
  104. }
  105. */
  106.  
  107. const TypeDescriptor * 
  108. STEPattribute::ReferentType() const
  109. {
  110.     return AttrDescriptor->ReferentType();
  111. }
  112.  
  113. BOOLEAN 
  114. STEPattribute::Nullable() const
  115. {
  116.     return (AttrDescriptor->Optionality().asInt() == T);
  117. }
  118.