// Monzoom SDK Delphi Header // (C) 2001 Dipl.-Ing. Michael Samek unit mondefs; interface uses stdctrls,sysutils; const FPLUG_SYSTEM_MESSAGE = 100; FPLUG_USER_MESSAGE = 10000; MON5_MESSAGE = FPLUG_USER_MESSAGE+400000; FPLUG_INIT_MESSAGE = FPLUG_SYSTEM_MESSAGE+0; FPLUG_CLOSE_MESSAGE = FPLUG_SYSTEM_MESSAGE+2; PLI_CONNECT = FPLUG_USER_MESSAGE+1; PLI_DO_CREATE_TOOL = FPLUG_USER_MESSAGE+1004; RPI_MESSAGE_PROCESSED = 1; RPI_MESSAGE_UNKNOWN = 0; RPI_MESSAGE_ERROR = -1; OBJEKT_ID = 1; GEO_OBJEKT_ID = 2; DREIECKS_OBJEKT_ID = 3; GRUNDMATERIAL_OBJEKT_ID = 4; POLYGON_3D_OBJEKT_ID = 5; POLYGON_2D_OBJEKT_ID = 6; OBERFLAECHENMATERIAL_OBJEKT_ID = 7; KOERPER_OBJEKT_ID = 8; SEQUENZ_OBJEKT_ID = 9; KAMERA_OBJEKT_ID = 10; BEZIER_OBJEKT_ID = 11; LICHT_OBJEKT_ID = 12; TEXTURMATERIAL_OBJEKT_ID = 14; TEXTUR_OBJEKT_ID = 15; GITTER_3D_OBJEKT_ID = 16; NEBELMATERIAL_OBJEKT_ID = 17; SHARED_POINTS_OBJEKT_ID = 19; ANIM_TEXTURMATERIAL_OBJEKT_ID = 20; SHARED_POINTS_FUNKTION_OBJEKT_ID = 21; KUGEL_OBJEKT_ID = 22; GLUEH_MATERIAL_OBJEKT_ID = 23; SKELETT_OBJEKT_ID = 24; VERTEILTE_LICHTQUELLE_OBJEKT_ID = 26; PARTIKEL_OBJEKT_ID = 27; MATHE_TEXTUR_OBJEKT_ID = 28; VOLUMEN_LICHT_OBJEKT_ID = 30; KANTEN_GEO_OBJEKT_ID = 31; KOMBI_MATERIAL_OBJEKT_ID = 32; KLONE_DREIECKS_OBJEKT_ID = 33; AKTIONS_SEQUENZ_OBJEKT_ID = 34; Type PLI_param = record id : integer; l_param : array[0..9] of integer; f_param : array[0..9] of single; v_param : array[0..9] of integer; s_param : PChar; End; Type PPLI_Param = ^PLI_param; Type RPI_Object = record Handle : Integer; buffer : array[1..1000] of byte; End; Type PRPI_Object = ^RPI_Object; Type Txyz = Array[1..3] of single; // blöd, aber scheinbar nicht anders lösbar! Type TRPI_Buffer = Array [1..2048] of PRPI_Object; Type PRPI_Buffer = ^TRPI_Buffer; Type sBuffer = Array[1..1000] of Char; // Definition der monplugs.dll function MonPlugsGetVersion : cardinal; cdecl; external 'monplugs.dll'; function RPI_add_create_tool(_HND : integer;_Text : PChar;_TooldID : Integer):integer ; cdecl; external 'monplugs.dll'; function RPI_obj_new(_HND : integer;_ID : integer;_Name : PChar) : PRPI_Object; cdecl; external 'monplugs.dll'; function RPI_pkl_add(_HND : integer;_Obj : PRPI_Object) : integer; cdecl; external 'monplugs.dll'; function RPI_pkl_sub(_HND : integer;_Obj : PRPI_Object) : integer; cdecl; external 'monplugs.dll'; function RPI_plot_pkl(_HND : integer) : integer; cdecl; external 'monplugs.dll'; function RPI_print(_HND : integer; _Text : PChar) : integer; cdecl; external 'monplugs.dll'; function RPI_geo_new_pt(_HND : integer; _Obj : PRPI_Object;_XYZ : Txyz;_Nr : Pointer) : integer; cdecl; external 'monplugs.dll'; function RPI_find_obj(_HND : integer; _Text : PChar) : PRPI_Object; cdecl; external 'monplugs.dll'; function RPI_geo_rot(_HND : integer; _Obj : PRPI_Object; _angle : single; _axis : integer) : integer; cdecl; external 'monplugs.dll'; function RPI_geo_move(_HND : integer; _Obj : PRPI_Object; _Coord : Txyz) : integer; cdecl; external 'monplugs.dll'; function RPI_n_objs(_HND : integer; _ID : integer; _use_subclasses : integer) : integer; cdecl; external 'monplugs.dll'; function RPI_geo_edit_get_selected_obj(_HND : integer; var _Obj : pRPI_Object) : integer; cdecl; external 'monplugs.dll'; function RPI_get_objs(_HND : integer; _ID : integer; _use_subclasses : integer; _all : integer; var _buffer : TRPI_Buffer) : integer; cdecl; external 'monplugs.dll'; function RPI_obj_get_name(_HND : integer; _Obj : PRPI_Object; var _name : sBuffer) : integer; cdecl; external 'monplugs.dll'; function RPI_obj_set_name(_HND : integer; _Obj : PRPI_Object; var _name : sBuffer) : integer; cdecl; external 'monplugs.dll'; function RPI_geo_edit_pkt_editor(_HND : integer; _Obj : PRPI_Object) : integer; cdecl; external 'monplugs.dll'; function RPI_geo_size(_HND : integer; _Obj : PRPI_Object; _factor : single) : integer; cdecl; external 'monplugs.dll'; function RPI_geo_n_sons(_HND : integer; _Obj : PRPI_Object; var _num : integer) : integer; cdecl; external 'monplugs.dll'; function RPI_geo_get_son(_HND : integer; _Obj : PRPI_Object; _son_nr : Integer; var _son : PRPI_Object) : integer; cdecl; external 'monplugs.dll'; function RPI_geo_get_father(_HND : integer; _Obj : PRPI_Object; var _father : PRPI_Object) : integer; cdecl; external 'monplugs.dll'; function RPI_obj_get_id(_HND : integer; _Obj : PRPI_Object) : integer; cdecl; external 'monplugs.dll'; function RPI_obj_in_pkl(_HND : integer; _Obj : PRPI_Object; var _is_in_pkl : integer) : integer; cdecl; external 'monplugs.dll'; function RPI_drei_set_koerper_material(_HND : integer; _Obj : PRPI_Object; _koerper_nr : Integer; _mat : PRPI_Object) : integer; cdecl; external 'monplugs.dll'; function RPI_drei_get_n_koerper(_HND : integer; _Obj : PRPI_Object; var _nkoerper : integer) : integer; cdecl; external 'monplugs.dll'; function RPI_drei_get_koerper_name(_HND : integer; _Obj : PRPI_Object; _koerpernr : integer; var _name : sBuffer) : integer; cdecl; external 'monplugs.dll'; function RPI_drei_set_koerper_textur_material(_HND : integer; _Obj : PRPI_Object; _koerpernr : integer; _texmat : PRPI_Object; _abbildung : integer; var _txo : PRPI_Object) : integer; cdecl; external 'monplugs.dll'; function RPI_mat_get_col(_HND : integer; _Obj : PRPI_Object; var _color : TXYZ) : integer; cdecl; external 'monplugs.dll'; function RPI_geo_insert_son(_HND : integer; _Obj : PRPI_Object; _son : PRPI_Object) : integer; cdecl; external 'monplugs.dll'; function RPI_geo_delete_from_hirarchie(_HND : integer; _Obj : PRPI_Object) : integer; cdecl; external 'monplugs.dll'; function RPI_obj_get_var(_HND : integer; _Obj : PRPI_Object; _nr : integer; var _wert : single) : integer; cdecl; external 'monplugs.dll'; function RPI_obj_get_nvars(_HND : integer; _Obj : PRPI_Object; var _nvars : integer) : integer; cdecl; external 'monplugs.dll'; function GetNameofTypeofObject(_HND : Integer;_Obj : PRPI_Object) : String; implementation function GetNameofTypeofObject(_HND : Integer;_Obj : PRPI_Object) : String; Var ID : Integer; Begin Result:='unbekannt'; ID:=RPI_obj_get_id(_HND,_Obj); If ID<>0 then Begin Case ID of OBJEKT_ID : Result:='Objekt'; GEO_OBJEKT_ID : Result:='Geo-Objekt'; DREIECKS_OBJEKT_ID : Result:='Dreieck'; GRUNDMATERIAL_OBJEKT_ID : Result:='Grundmaterial'; POLYGON_3D_OBJEKT_ID : Result:='3D-Polygon'; POLYGON_2D_OBJEKT_ID : Result:='2D-Polygon'; OBERFLAECHENMATERIAL_OBJEKT_ID : Result:='Oberflächenmaterial'; KOERPER_OBJEKT_ID : Result:='Körper'; SEQUENZ_OBJEKT_ID : Result:='Sequenz'; KAMERA_OBJEKT_ID : Result:='Kamera'; BEZIER_OBJEKT_ID : Result:='Bezier-Objekt'; LICHT_OBJEKT_ID : Result:='Licht'; TEXTURMATERIAL_OBJEKT_ID : Result:='Textur-Objekt'; TEXTUR_OBJEKT_ID : Result:='Textur'; GITTER_3D_OBJEKT_ID : Result:='3D-Gitter'; NEBELMATERIAL_OBJEKT_ID : Result:='Nebel'; SHARED_POINTS_OBJEKT_ID : Result:='Shared-Points'; ANIM_TEXTURMATERIAL_OBJEKT_ID : Result:='Animierte Textur'; SHARED_POINTS_FUNKTION_OBJEKT_ID : Result:='Shared-Points Funktion'; KUGEL_OBJEKT_ID : Result:='Kugel'; GLUEH_MATERIAL_OBJEKT_ID : Result:='Glühmaterial'; SKELETT_OBJEKT_ID : Result:='Skelett'; VERTEILTE_LICHTQUELLE_OBJEKT_ID : Result:='Verteilte Lichtquelle'; PARTIKEL_OBJEKT_ID : Result:='Partikel'; MATHE_TEXTUR_OBJEKT_ID : Result:='Mathematische Textur'; VOLUMEN_LICHT_OBJEKT_ID : Result:='Volumen-Licht'; KANTEN_GEO_OBJEKT_ID : Result:='Kanten Objekt'; KOMBI_MATERIAL_OBJEKT_ID : Result:='Kombi-Material'; KLONE_DREIECKS_OBJEKT_ID : Result:='Klone Objekt'; AKTIONS_SEQUENZ_OBJEKT_ID : Result:='Aktions-Sequenz'; End; End; End; end.