<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=GIObject.AddObject</id>
	<title>GIObject.AddObject - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=GIObject.AddObject"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=GIObject.AddObject&amp;action=history"/>
	<updated>2026-04-04T16:32:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=GIObject.AddObject&amp;diff=4919&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=GIObject.AddObject&amp;diff=4919&amp;oldid=prev"/>
		<updated>2025-01-22T06:53:43Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:53, 22 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=GIObject.AddObject&amp;diff=4918&amp;oldid=prev</id>
		<title>1&gt;Admin: Created page with &quot;{{infobox function |name=AddObject |object=Объект GI#Атрибуты и функции графических объектов|Графический объект о...&quot;</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=GIObject.AddObject&amp;diff=4918&amp;oldid=prev"/>
		<updated>2025-01-20T12:21:09Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{infobox function |name=AddObject |object=Объект GI#Атрибуты и функции графических объектов|Графический объект о...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{infobox function&lt;br /&gt;
|name=AddObject&lt;br /&gt;
|object=[[Объект GI#Атрибуты и функции графических объектов|Графический объект объекта GI]]&lt;br /&gt;
|caption=Функции графических объектов&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|db=0&lt;br /&gt;
|exception=Неверные аргументы.&lt;br /&gt;
|visual=1}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]&lt;br /&gt;
* [[Объект GI]]}}&lt;br /&gt;
Функция добавляет новый графический объект непосредственно к объекту ''GI'' или как подчиненный объект другого графического объекта. Для нового объекта можно указать идентификатор, начальное состояние, его положение и размеры (положение и размеры могут использоваться моделью объекта или по усмотрению разработчика), а также сопоставить с ним произвольное значение и задать объект класса (связанный объект свойства и методы которого также можно будет использовать в данном объекте). Прорисовка объектов происходит автоматически (если их состояние ее не запрещает). При прорисовке сцены, сначала рисуется родитель, затем подчиненные ему объекты, сохраняя все заданные для родителя свойства, типа изменения положения и поворота.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{{Grey|GIObject или GI.}}'''AddObject'''({{Optional|&amp;lt;Идентификатор объекта (STRING)&amp;gt;{{Default|{{Eq}}&amp;quot;&amp;quot;}},&amp;lt;Идентификатор класса или объект класса (STRING,GIObject)&amp;gt;,&amp;lt;Состояние объекта (INT)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Произвольное дополнительное значение объекта&amp;gt;,&amp;lt;Координата по X (REAL)&amp;gt;,&amp;lt;Координата по Y (REAL)&amp;gt;,&amp;lt;Координата по Z (REAL)&amp;gt;,&amp;lt;Ширина по X (REAL)&amp;gt;,&amp;lt;Ширина по Y (REAL)&amp;gt;,&amp;lt;Ширина по Z (REAL)&amp;gt;}}):''&amp;lt;Новый объект (GIObject)&amp;gt;''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Идентификатор объекта (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Аргумент задает идентификатор (имя) нового объекта, если он необходим.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Идентификатор класса или объект класса (STRING,GIObject)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} {{Planned}} Аргумент задает идентификатор (имя) объекта для копирования методов и свойств, либо сам такой объект. Если аргумент не задан, методы и свойства в новом объекте не будут созданы. &lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Состояние объекта (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Аргумент задает состояние нового объекта, которое является битовой маской со следующими битами:&lt;br /&gt;
** '''0''': ''1'', если объект не будет выводиться на экран, иначе ''0'' (по умолчанию)&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Произвольное дополнительное значение объекта&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Аргумент произврольное значение, которое в дальнейшем будет доступно при обращении к атрибуту объекта [[GIObject.Tag|GIObject]].&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Координата по X (REAL)&amp;gt;'',''&amp;lt;Координата по Y (REAL)&amp;gt;'',''&amp;lt;Координата по Z (REAL)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Аргументы задают координаты, ассоциированные с этим объектом. Эта информация в дальнейшем может использоваться в модели или по усмотрению разработчика.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Ширина по X (REAL)&amp;gt;'',''&amp;lt;Ширина по Y (REAL)&amp;gt;'',''&amp;lt;Ширина по Z (REAL)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Аргументы задают размеры объекта. Эта информация в дальнейшем может использоваться в модели или по усмотрению разработчика.&lt;br /&gt;
&lt;br /&gt;
==== Возвращаемое значение ====&lt;br /&gt;
Возвращается новый графический объект.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Используется фрагмент из обработки tetris.sfo&lt;br /&gt;
&lt;br /&gt;
//Создадим новую простую модель с пустым буфером&lt;br /&gt;
аБуфер:=Buffer.Create();&lt;br /&gt;
аМодель:=GIModel.New();&lt;br /&gt;
аМодель.SimpleModel(аБуфер);&lt;br /&gt;
&lt;br /&gt;
//Заполним буфер микрокодом&lt;br /&gt;
аСмещ:=0;&lt;br /&gt;
аБуфер.AddValues(аСмещ,4,201,aGI.GL_TEXTURE_2D,0);//glBindTexture&lt;br /&gt;
аБуфер.AddValues(аСмещ,4,300,лкПрограммы[3]);//ShaderProgramUse&lt;br /&gt;
аБуфер.AddValues(аСмещ,4,301,aGI.ShaderProgramGetVariableID(лкПрограммы[3],&amp;quot;u_scrpos&amp;quot;),4,$004);&lt;br /&gt;
аБуфер.AddValues(аСмещ,104,x,aGI.Height-y,2*dx,2*dx);//u_scrpos&lt;br /&gt;
аБуфер.AddValues(аСмещ,4,302,aGI.ShaderProgramGetVariableID(лкПрограммы[3],&amp;quot;u_time&amp;quot;));//u_time&lt;br /&gt;
аБуфер.AddValues(аСмещ,4,301,aGI.ShaderProgramGetVariableID(лкПрограммы[3],&amp;quot;u_starttime&amp;quot;),1,$001);&lt;br /&gt;
аБуфер.AddValues(аСмещ,104,aGI.WorldTime);//u_starttime&lt;br /&gt;
    &lt;br /&gt;
аБуфер.AddValues(аСмещ,4,1,aGI.GL_QUADS);//glBegin&lt;br /&gt;
аБуфер.AddValues(аСмещ,4,100);аБуфер.AddValues(аСмещ,104,x,y,-0.3);//glVertex&lt;br /&gt;
аБуфер.AddValues(аСмещ,4,100);аБуфер.AddValues(аСмещ,104,x,y+2*dx,-0.3);//glVertex&lt;br /&gt;
аБуфер.AddValues(аСмещ,4,100);аБуфер.AddValues(аСмещ,104,x+2*dx,y+2*dx,-0.3);//glVertex&lt;br /&gt;
аБуфер.AddValues(аСмещ,4,100);аБуфер.AddValues(аСмещ,104,x+2*dx,y,-0.3);//glVertex&lt;br /&gt;
аБуфер.AddValues(аСмещ,4,2);//glEnd&lt;br /&gt;
аБуфер.AddValues(аСмещ,4,0);//EOF&lt;br /&gt;
&lt;br /&gt;
//Создадим новый объект и добавим к нему эту модель&lt;br /&gt;
аОбъект:=aGI.AddObject(&amp;quot;EXP&amp;quot;);&lt;br /&gt;
аОбъект.Model(аМодель);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
</feed>