Formats.VRML.hpp 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. // CodeGear C++Builder
  2. // Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
  3. // All rights reserved
  4. // (DO NOT EDIT: machine generated header) 'Formats.VRML.pas' rev: 36.00 (Windows)
  5. #ifndef Formats_VRMLHPP
  6. #define Formats_VRMLHPP
  7. #pragma delphiheader begin
  8. #pragma option push
  9. #if defined(__BORLANDC__) && !defined(__clang__)
  10. #pragma option -w- // All warnings off
  11. #pragma option -Vx // Zero-length empty class member
  12. #endif
  13. #pragma pack(push,8)
  14. #include <System.hpp>
  15. #include <SysInit.hpp>
  16. #include <System.Classes.hpp>
  17. #include <System.SysUtils.hpp>
  18. #include <System.Types.hpp>
  19. #include <Stage.VectorGeometry.hpp>
  20. #include <Stage.VectorTypes.hpp>
  21. #include <GLS.VectorLists.hpp>
  22. #include <Stage.Utils.hpp>
  23. //-- user supplied -----------------------------------------------------------
  24. namespace Formats
  25. {
  26. namespace Vrml
  27. {
  28. //-- forward type declarations -----------------------------------------------
  29. class DELPHICLASS TVRMLNode;
  30. class DELPHICLASS TVRMLSingleArray;
  31. class DELPHICLASS TVRMLIntegerArray;
  32. class DELPHICLASS TVRMLMaterial;
  33. class DELPHICLASS TVRMLUse;
  34. class DELPHICLASS TVRMLShapeHints;
  35. class DELPHICLASS TVRMLTransform;
  36. class DELPHICLASS TVRMLParser;
  37. //-- type declarations -------------------------------------------------------
  38. #pragma pack(push,4)
  39. class PASCALIMPLEMENTATION TVRMLNode : public System::TObject
  40. {
  41. typedef System::TObject inherited;
  42. public:
  43. TVRMLNode* operator[](int index) { return this->Nodes[index]; }
  44. private:
  45. System::Classes::TList* FNodes;
  46. TVRMLNode* FParent;
  47. System::UnicodeString FName;
  48. System::UnicodeString FDefName;
  49. TVRMLNode* __fastcall GetNode(int index);
  50. public:
  51. __fastcall virtual TVRMLNode();
  52. __fastcall TVRMLNode(TVRMLNode* AParent);
  53. __fastcall virtual ~TVRMLNode();
  54. int __fastcall Count();
  55. void __fastcall Clear();
  56. void __fastcall Add(TVRMLNode* node);
  57. void __fastcall Remove(TVRMLNode* node);
  58. void __fastcall Delete(int index);
  59. __property TVRMLNode* Nodes[int index] = {read=GetNode/*, default*/};
  60. __property TVRMLNode* Parent = {read=FParent};
  61. __property System::UnicodeString Name = {read=FName, write=FName};
  62. __property System::UnicodeString DefName = {read=FDefName, write=FDefName};
  63. };
  64. #pragma pack(pop)
  65. #pragma pack(push,4)
  66. class PASCALIMPLEMENTATION TVRMLSingleArray : public TVRMLNode
  67. {
  68. typedef TVRMLNode inherited;
  69. private:
  70. Gls::Vectorlists::TGLSingleList* FValues;
  71. public:
  72. __fastcall virtual TVRMLSingleArray();
  73. __fastcall virtual ~TVRMLSingleArray();
  74. __property Gls::Vectorlists::TGLSingleList* Values = {read=FValues};
  75. public:
  76. /* TVRMLNode.CreateOwned */ inline __fastcall TVRMLSingleArray(TVRMLNode* AParent) : TVRMLNode(AParent) { }
  77. };
  78. #pragma pack(pop)
  79. #pragma pack(push,4)
  80. class PASCALIMPLEMENTATION TVRMLIntegerArray : public TVRMLNode
  81. {
  82. typedef TVRMLNode inherited;
  83. private:
  84. Gls::Vectorlists::TGLIntegerList* FValues;
  85. public:
  86. __fastcall virtual TVRMLIntegerArray();
  87. __fastcall virtual ~TVRMLIntegerArray();
  88. __property Gls::Vectorlists::TGLIntegerList* Values = {read=FValues};
  89. public:
  90. /* TVRMLNode.CreateOwned */ inline __fastcall TVRMLIntegerArray(TVRMLNode* AParent) : TVRMLNode(AParent) { }
  91. };
  92. #pragma pack(pop)
  93. #pragma pack(push,4)
  94. class PASCALIMPLEMENTATION TVRMLMaterial : public TVRMLNode
  95. {
  96. typedef TVRMLNode inherited;
  97. private:
  98. Stage::Vectortypes::TVector3f FDiffuseColor;
  99. Stage::Vectortypes::TVector3f FAmbientColor;
  100. Stage::Vectortypes::TVector3f FSpecularColor;
  101. Stage::Vectortypes::TVector3f FEmissiveColor;
  102. float FTransparency;
  103. float FShininess;
  104. bool FHasDiffuse;
  105. bool FHasAmbient;
  106. bool FHasSpecular;
  107. bool FHasEmissive;
  108. bool FHasTransparency;
  109. bool FHasShininess;
  110. public:
  111. __fastcall virtual TVRMLMaterial();
  112. __property Stage::Vectortypes::TVector3f DiffuseColor = {read=FDiffuseColor, write=FDiffuseColor};
  113. __property Stage::Vectortypes::TVector3f AmbientColor = {read=FAmbientColor, write=FAmbientColor};
  114. __property Stage::Vectortypes::TVector3f SpecularColor = {read=FSpecularColor, write=FSpecularColor};
  115. __property Stage::Vectortypes::TVector3f EmissiveColor = {read=FEmissiveColor, write=FEmissiveColor};
  116. __property float Transparency = {read=FTransparency, write=FTransparency};
  117. __property float Shininess = {read=FShininess, write=FShininess};
  118. __property bool HasDiffuse = {read=FHasDiffuse, write=FHasDiffuse, nodefault};
  119. __property bool HasAmbient = {read=FHasAmbient, write=FHasAmbient, nodefault};
  120. __property bool HasSpecular = {read=FHasSpecular, write=FHasSpecular, nodefault};
  121. __property bool HasEmissive = {read=FHasEmissive, write=FHasEmissive, nodefault};
  122. __property bool HasTransparency = {read=FHasTransparency, write=FHasTransparency, nodefault};
  123. __property bool HasShininess = {read=FHasShininess, write=FHasShininess, nodefault};
  124. public:
  125. /* TVRMLNode.CreateOwned */ inline __fastcall TVRMLMaterial(TVRMLNode* AParent) : TVRMLNode(AParent) { }
  126. /* TVRMLNode.Destroy */ inline __fastcall virtual ~TVRMLMaterial() { }
  127. };
  128. #pragma pack(pop)
  129. #pragma pack(push,4)
  130. class PASCALIMPLEMENTATION TVRMLUse : public TVRMLNode
  131. {
  132. typedef TVRMLNode inherited;
  133. private:
  134. System::UnicodeString FValue;
  135. public:
  136. __property System::UnicodeString Value = {read=FValue, write=FValue};
  137. public:
  138. /* TVRMLNode.Create */ inline __fastcall virtual TVRMLUse() : TVRMLNode() { }
  139. /* TVRMLNode.CreateOwned */ inline __fastcall TVRMLUse(TVRMLNode* AParent) : TVRMLNode(AParent) { }
  140. /* TVRMLNode.Destroy */ inline __fastcall virtual ~TVRMLUse() { }
  141. };
  142. #pragma pack(pop)
  143. #pragma pack(push,4)
  144. class PASCALIMPLEMENTATION TVRMLShapeHints : public TVRMLNode
  145. {
  146. typedef TVRMLNode inherited;
  147. private:
  148. float FCreaseAngle;
  149. public:
  150. __property float CreaseAngle = {read=FCreaseAngle, write=FCreaseAngle};
  151. public:
  152. /* TVRMLNode.Create */ inline __fastcall virtual TVRMLShapeHints() : TVRMLNode() { }
  153. /* TVRMLNode.CreateOwned */ inline __fastcall TVRMLShapeHints(TVRMLNode* AParent) : TVRMLNode(AParent) { }
  154. /* TVRMLNode.Destroy */ inline __fastcall virtual ~TVRMLShapeHints() { }
  155. };
  156. #pragma pack(pop)
  157. #pragma pack(push,4)
  158. class PASCALIMPLEMENTATION TVRMLTransform : public TVRMLNode
  159. {
  160. typedef TVRMLNode inherited;
  161. private:
  162. Stage::Vectortypes::TVector3f FCenter;
  163. Stage::Vectortypes::TVector4f FRotation;
  164. Stage::Vectortypes::TVector3f FScaleFactor;
  165. public:
  166. __fastcall virtual TVRMLTransform();
  167. __property Stage::Vectortypes::TVector3f Center = {read=FCenter, write=FCenter};
  168. __property Stage::Vectortypes::TVector4f Rotation = {read=FRotation, write=FRotation};
  169. __property Stage::Vectortypes::TVector3f ScaleFactor = {read=FScaleFactor, write=FScaleFactor};
  170. public:
  171. /* TVRMLNode.CreateOwned */ inline __fastcall TVRMLTransform(TVRMLNode* AParent) : TVRMLNode(AParent) { }
  172. /* TVRMLNode.Destroy */ inline __fastcall virtual ~TVRMLTransform() { }
  173. };
  174. #pragma pack(pop)
  175. #pragma pack(push,4)
  176. class PASCALIMPLEMENTATION TVRMLParser : public System::TObject
  177. {
  178. typedef System::TObject inherited;
  179. private:
  180. int FCursor;
  181. System::Classes::TStringList* FTokens;
  182. TVRMLNode* FRootNode;
  183. TVRMLNode* FCurrentNode;
  184. bool FAllowUnknownNodes;
  185. System::Classes::TList* FDefines;
  186. protected:
  187. System::UnicodeString __fastcall ReadToken();
  188. float __fastcall ReadSingle();
  189. Stage::Vectortypes::TVector3f __fastcall ReadVector3f();
  190. Stage::Vectortypes::TVector4f __fastcall ReadVector4f();
  191. void __fastcall ReadUnknownArray(System::UnicodeString DefName = System::UnicodeString());
  192. void __fastcall ReadUnknownHeirachy(System::UnicodeString DefName = System::UnicodeString());
  193. void __fastcall ReadUnknown(System::UnicodeString unknown_token, System::UnicodeString DefName = System::UnicodeString());
  194. void __fastcall ReadPointArray(System::UnicodeString DefName = System::UnicodeString());
  195. void __fastcall ReadCoordIndexArray(System::UnicodeString DefName = System::UnicodeString());
  196. void __fastcall ReadNormalIndexArray(System::UnicodeString DefName = System::UnicodeString());
  197. void __fastcall ReadTextureCoordIndexArray(System::UnicodeString DefName = System::UnicodeString());
  198. void __fastcall ReadCoordinate3(System::UnicodeString DefName = System::UnicodeString());
  199. void __fastcall ReadNormal(System::UnicodeString DefName = System::UnicodeString());
  200. void __fastcall ReadTextureCoordinate2(System::UnicodeString DefName = System::UnicodeString());
  201. void __fastcall ReadMaterial(System::UnicodeString DefName = System::UnicodeString());
  202. void __fastcall ReadIndexedFaceSet(System::UnicodeString DefName = System::UnicodeString());
  203. void __fastcall ReadTransform(System::UnicodeString DefName = System::UnicodeString());
  204. void __fastcall ReadShapeHints(System::UnicodeString DefName = System::UnicodeString());
  205. void __fastcall ReadSeparator(System::UnicodeString DefName = System::UnicodeString());
  206. void __fastcall ReadGroup(System::UnicodeString DefName = System::UnicodeString());
  207. void __fastcall ReadDef();
  208. void __fastcall ReadUse();
  209. public:
  210. __fastcall TVRMLParser();
  211. __fastcall virtual ~TVRMLParser();
  212. void __fastcall Parse(System::UnicodeString Text);
  213. __property TVRMLNode* RootNode = {read=FRootNode};
  214. __property bool AllowUnknownNodes = {read=FAllowUnknownNodes, write=FAllowUnknownNodes, nodefault};
  215. };
  216. #pragma pack(pop)
  217. //-- var, const, procedure ---------------------------------------------------
  218. } /* namespace Vrml */
  219. } /* namespace Formats */
  220. #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FORMATS_VRML)
  221. using namespace Formats::Vrml;
  222. #endif
  223. #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FORMATS)
  224. using namespace Formats;
  225. #endif
  226. #pragma pack(pop)
  227. #pragma option pop
  228. #pragma delphiheader end.
  229. //-- end unit ----------------------------------------------------------------
  230. #endif // Formats_VRMLHPP