3DCoatScripting  4.8.31Ξ²
Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптинга ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ возмоТностями ΠšΠΎΡƒΡ‚Π° ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».
πŸŒ€ Π Π°Π±ΠΎΡ‚Π° с воксСлями

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ всС v-слои.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ слоёв

3DCoat позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ мноТСство слоёв Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚-сцСнС. И ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ слой ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ слои.

Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:

void main() {
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ сцСну
Vox v;
v.clearScene();
// строим Π΄Π΅Ρ€Π΅Π²ΠΎ v-слоёв
v
.appendToParent( "Head" )
.appendToParent( "Body" )
.append( "Neck" )
.appendToParent( "Left arm" )
.appendToParent( "Right arm" )
.appendToParent( "Heart" )
.appendToParent( "Left leg" )
.appendToParent( "Right leg" )
// возвращаСмся ΠΊ слою "Head", ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ
// Π² "Π Π΅ΠΆΠΈΠΌ повСрхности" ΠΈ Π°Ρ‚Ρ‚Π°Ρ‡ΠΈΠΌ Π½ΠΎΠ²Ρ‹Π΅
.to( "Head" ).toSurface()
.append( "Eye" )
.appendToParent( "Lamps" )
// Π—Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ добавились послСдниС?
// Π’Π΅Ρ€Π½ΠΎ: `S`, Π½Π΅ `V`.
;
// удаляСм ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ (пустой) слой со сцСны
v.firstForRoot().remove();
}

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡˆΡŒ Ρ‚Π°ΠΊΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ:

voxtree.png

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒ!)

Π’ΠΈΠ΄ΠΈΡˆΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²? append(), appendToParent(), appendToRoot(), forEach(), forRootEach(), ... - говорящиС названия, Ссли ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ "parent" ΠΏΠΎ Π°Π½Π³Π». "Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ", "root" - "ΠΊΠΎΡ€Π΅Π½ΡŒ", Π° "for each" - "для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ". Бравнивая ΠΊΠΎΠ΄ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ-ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΎΠΉ, Ρ‚Ρ‹ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΡˆΡŒΡΡ ΠΊΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π²ΠΎΡ€ΠΈΡ‚.

Π—Π½Π°ΠΊΠΎΠΌ с JQuery? Π’ΠΎΠ³Π΄Π° Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΉΠΌΡ‘ΡˆΡŒ, ΠΊΠ°ΠΊ 3DCoat Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ.

Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉ, Ρ‡Ρ‚ΠΎ класс Vox взаимодСйствуСт с UI 3DCoat, поэтому прСдставлСнныС Π² ΠΊΠΎΠ΄Π΅ Vox-ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ слои *ΠΏΡ€Π΅ΠΆΠ΄Π΅* Ρ‡Π΅ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ.

ΠžΠ±Ρ…ΠΎΠ΄ слоёв

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠ΄ Π²Ρ‹ΡˆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со слоями.

Π•ΡΡ‚ΡŒ Π΄Π²Π° способа. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ:

// доступ ΠΊ Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π΄Π΅Ρ€Π΅Π²Ρƒ
Vox v;
void main() {
// строим Π΄Π΅Ρ€Π΅Π²ΠΎ v-слоёв
// см. `CreateVoxelTree.as`
// ...
// ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ всС слои ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ invert()
// см. ниТС `void invert()`
v.forRootEach( "invert" );
// пСрСмСщаСмся Π½Π° слой "Body" ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ `invert()` для Π½Π΅Π³ΠΎ ΠΈ Π΅Π³ΠΎ Π΄Π΅Ρ‚ΠΎΠΊ
v.to( "Body" ).call( "invert" ).forEach( "invert" );
}
// функция для `forEach()`, см. Π²Ρ‹ΡˆΠ΅
void invert() {
v.isSurface() ? v.toVoxel() : v.toSurface();
// ΠΏΠ°ΡƒΠ·Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² UI
Wait( 50 );
}

Π’Ρ‚ΠΎΡ€ΠΎΠΉ:

// доступ ΠΊ Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π΄Π΅Ρ€Π΅Π²Ρƒ
Vox v;
void main() {
// строим Π΄Π΅Ρ€Π΅Π²ΠΎ v-слоёв
// см. `CreateVoxelTree.as`
// ...
// доступ ΠΏΠΎ индСксу для всСх Π΄Π΅Ρ‚ΠΎΠΊ слоя "Head"
v.to( "Body" ).call( "invert" );
for ( int i = 0; i < v.count(); ++i ) {
v.at( i ).call( "invert" ).parent();
Wait( 100 );
}
}
// функция для `forEach()`, см. Π²Ρ‹ΡˆΠ΅
void invert() {
v.isSurface() ? v.toVoxel() : v.toSurface();
}

Какой способ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ - Π΄Π΅Π»ΠΎ вкуса.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²Π° с Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ слоями загляни сюда

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ слоСв (повСрхностный ΠΈ Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ)

Vox & moveToIndex (const std :: string & name, int index);

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ v-слой name ΠΊΠ°ΠΊ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ v-слою Π² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ index . V-слой становится Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ.

Vox v;
// Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ Β«LampsΒ» Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ v-слоя «НeadΒ» (индСкс = 1)
v.moveToIndex ("Нead", 1);

Vox & moveCurrentToIndex (int idx);

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ v-слой ΠΊΠ°ΠΊ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ v-слою Π² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ индСкс. v-слой с индСксом Ρ€Π°Π²Π½Ρ‹ΠΌ idx становится Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ \ param idx индСкс v-слоя

//ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:
Vox v;
// Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ Β«EyeΒ» Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ v-слоя «НeadΒ» (индСкс = 0)
v.moveToIndex ("Нead", 0);
// ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ слой Β«EyeΒ» Π² слой Β«LampsΒ» с ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ индСксом Ρ€Π°Π²Π½Ρ‹ΠΌ 1.
v.moveCurrentToIndex (1);

int getIndex ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ индСкс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ v-слоя

string names ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС Ρ‚ΠΎΠΌΠ° для Π΄Π΅Ρ€Π΅Π²Π°.

string namesQuotes ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС Ρ‚ΠΎΠΌΠ° для Π΄Π΅Ρ€Π΅Π²Π° (Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ).

//ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:
const string s = v.names();
log += s;
const string sq = v.namesQuotes();
log += sq;

string name ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ‚ΠΎΠΌΠ°.

Vox & ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ (const string & newName);

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠΉΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ‚ΠΎΠΌ.

АргумСнты
newNameимя для пСрСимСнования

Vox & to (const string & name);

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° v-слой с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ name.

АргумСнты
nameимя нового слоя
//ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:
Vox v;
v.rename (Β«My headΒ»);
v.to (Β«My headΒ»);

Vox & parent ();

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ родитСля, Ссли Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Π½Π΅ ΠΊΠΎΡ€Π΅Π½ΡŒ. #! ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π΅Π½ΡŒ v-слоя (Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС 3D-Coat). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ appendToParent () для добавлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ v-слоя Π² ΠΊΠΎΡ€Π΅Π½ΡŒ.

НС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌΡƒ v-слою.

bool hasParent ();

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ слоя Ρ‚ΠΎΠΌΠ° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
TRUE, Ссли Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ v-слой Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ родитСля root.

Vox & firstForRoot ();

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ v-слою срСди ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ v-слоя.

Vox & first ();

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ v-слою срСди ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ v-слоя.

Vox & firstForParent ();

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ v-слою срСди Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ v-слоя родитСля.

Vox & nextForParent ();

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ v-слою срСди ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ v-слоя. ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ послСдний.

bool hasChildren ();

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ слои Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ объСма.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
TRUE, Ссли Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ v-слой состоит ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… v-слоСв.

bool hasNextForParent ();

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ слой Π½Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ‚ΠΎΠΌ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
TRUE, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ v-слой для Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ v-слоя родитСля.

bool next ();

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠΌ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎ всСм v-слоям, игнорируя Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹.

Vox & lastForRoot ();

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ послСднСму v-слою срСди ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ v-слоя.

Vox & last ();

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ послСднСму v-слою срСди ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ v-слоя.

Vox & lastForParent ();

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ послСднСму v-слою срСди ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ v-слоя.

Vox & remove ();

УдаляСм Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ v-слой ΠΈΠ· Π΄Π΅Ρ€Π΅Π²Π° Π²Π΅Ρ‚Π²Π΅ΠΉ vox.

Vox & forRootEach (const string & func);

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡΡ ΠΏΠΎ всСм v-слоям ΠΈ запускаСм func для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ.

Vox & forEach (const string & func);

ΠŸΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ всС Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ v-слои (Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈ запускаСм func для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ.

Vox & call (const string & func);

ЗапускаСм func для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ v-слоя

Vox & atForRoot (int i);

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ v-слой корня ΠΏΠΎ индСксу.

Vox & at (int i);

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ элСмСнт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ v-слоя ΠΏΠΎ индСксу.

Vox & atForParent (int i);

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ элСмСнт Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ v-слоя ΠΏΠΎ индСксу.

Vox & showAllHidden ();

Vox & showHiddenSubtree ();

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ скрытыС v-слои ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π° для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚Π²ΠΈ Π΄Π΅Ρ€Π΅Π²Π° голосовых сообщСний.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΎΠΌΠ°

Mat4 transform ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ прСобразования ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΎΠΌΠ°.

Vox & setTransform (const Mat4 & m);

УстанавливаСт ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ прСобразования для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΎΠΌΠ°.

bool visible ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΎΠΌΠ°.

Vox & setVisible (bool v);

УстанавливаСт Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΎΠΌΠ°.

bool ghost ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΎΠΌΠ°.

Vox & setGhost (bool v);

УстанавливаСт Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ / Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ·Ρ€Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΎΠΌΠ°.

string nameShader ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΎΠΌΠ°.

Vox & setShaderProperty (const string & name, const string & vs);

УстанавливаСт свойство ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΎΠΌΠ°.

АргумСнты
nameΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ свойства
vsстроковоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Vox & setOpacity (float v);

УстанавливаСт Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° объСма.

АргумСнты
vΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСпрозрачности

Vox & setColor (int v);

УстанавливаСт Ρ†Π²Π΅Ρ‚ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° объСма.

АргумСнты
vцвСтноС 32-битноС (argb) значСниС

Vox & setColorRGB (int r, int g, int b);

УстанавливаСт Ρ†Π²Π΅Ρ‚ RGB для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° объСма.

АргумСнты
rкрасный ΠΊΠ°Π½Π°Π»
gΠ·Π΅Π»Π΅Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π»
bсиний канал

Vox & toSurface ();

УстанавливаСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ объСм Π² Ρ€Π΅ΠΆΠΈΠΌ повСрхности.

Vox & toVoxel ();

УстанавливаСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π³Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒ Π² Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ.

Vox & toVoxelSuggestPoly (int SuggestPoly);

УстанавливаСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ объСм Π² Ρ€Π΅ΠΆΠΈΠΌ воксСлСй с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ количСством ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ². \ param offerПолигональноС количСство ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ².

Vox & decreaseObject2X ();

УмСньшаСм ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ объСмного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² 2 Ρ€Π°Π·Π°

Vox & increaseObject2X ();

Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ объСмного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² 2 Ρ€Π°Π·Π°.

Vox & toGlobalSpace ();

УстанавливаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΎΠΌΠ° Π² глобальноС пространство.

Vox & toUniformSpace ();

УстанавливаСт ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π° Π΅Π΄ΠΈΠ½ΠΎΠ΅ пространство.

Vox & resample ();

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° объСма.

Vox & applyAxialSymmetry ();

УстанавливаСт Ρ€Π°Π΄ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с Π»ΡŽΠ±Ρ‹ΠΌ количСством срСзов.

Vox & extrude ();

ВытягиваСм ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Vox & turnToShell ();

Π£Ρ‚ΠΎΠ»Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ объСмного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Волько для Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ .

Vox & makeVoxelHull ();

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ сСтку ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ воксСлСй. Для расчСта трСбуСтся большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ ΠΎΠ½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для слоТной Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ. Волько для Ρ€Π΅ΠΆΠΈΠΌΠ° voxel .

Vox & makeSurfaceHull ();

Π£Ρ‚ΠΎΠ»Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-сСтку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ выдавливания повСрхности. Волько для Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ .

Vox & closeSurfaceHoles ();

Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ повСрхностныС отвСрстия Π² сСткС. Волько для Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ .

Vox & fillVoids ();

ЗаполняСт Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ пустоты ΠΈΠ»ΠΈ Π²ΠΏΠ°Π΄ΠΈΠ½Ρ‹ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ. Волько для Ρ€Π΅ΠΆΠΈΠΌΠ° voxel .

Vox & closeInvisibleHulls ();

Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π”Π°ΠΆΠ΅ Ссли корпус Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΡ€Ρ‹Ρ‚, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ этим инструмСнтом, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСбольшая внСшняя Ρ‡Π°ΡΡ‚ΡŒ корпуса. Волько для Ρ€Π΅ΠΆΠΈΠΌΠ° voxel .

Vox & decompose ();

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² VoxTree для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ части Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ Π² эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Волько для Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ .

Vox & save3B ();

БохраняСм объСм ΠΊΠ°ΠΊ 3B.

Vox & saveSubtree3B ();

БохраняСм Ρ‚ΠΎΠΌ с ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ ΠΊΠ°ΠΊ 3B.

Vox & merge3B ();

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ внСшний Ρ„Π°ΠΉΠ» 3B Π² сцСну.

Vox & mergeCloud ();

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π½Π°Π±ΠΎΡ€ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… сфСр.

Vox & mergeObject ();

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ 3D-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Vox & exportScene ();

Экспорт всСй сцСны ΠΊΠ°ΠΊ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Vox & exportObject ();

Экспорт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Ρ„Π°ΠΉΠ» Π½Π° дискС.

Vox & exportPatternForMerge ();

Экспорт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для использования Π² качСствС прСдустановки Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Meshes.

Vox & exportCurveProfile ();

Экспорт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для использования Π² качСствС прСдустановки Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Meshes.

Vox & autopoQuadrangulate ();

ЗапускаСм AUTOPO ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ Π² ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅ Ρ€Π΅Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Vox & autopoQuadrangulateAndMergePtex ();

ЗапускаСм AUTOPO ΠΈ Π·Π°ΠΏΠ΅ΠΊΠ°Π΅ΠΌ с использованиСм Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ PTEX.

Vox & autopoQuadrangulateAndMerge ();

ЗапускаСм AUTOPO, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ тСкстурированиС Π² ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅ рисования.

Vox & autopoQuadrangulateAndMergeDP ();

AUTOPO для попиксСля.

Vox & putOnGround ();

ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊ Π·Π΅ΠΌΠ»Π΅ (Π½ΡƒΠ»ΡŽ). Π‘ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅.

Vox & layOnGround ();

ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° зСмлю. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΈ Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ физичСски устойчивоС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π΅ΠΌΠ»Π΅.

Vox & cloneInstance ();

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ экзСмпляры.

Vox & clone ();

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Vox & cloneInstanceWithSymmetry ();

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ экзСмпляры с симмСтриСй.

Vox & cloneSymmetry ();

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с симмСтриСй ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

Vox & cloneDegrade ();

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²Π΄Π²ΠΎΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Vox & cloneSpace ();

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ пространство с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ трансформациСй. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнт копирования Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ качСства. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ пространство ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ инструмСнт копирования.

Vox & flipX ();

ΠžΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ X.

Vox & flipY ();

ΠžΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ оси Y.

Vox & flipZ ();

ΠžΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ Z.

Vox & flipNormals ();

ΠžΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Волько для Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ .

Vox & bakeColors ();

Π—Π°ΠΏΠ΅ΠΊΠ°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ ΠΈΠ· всСх Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… объСмов Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ. Π“Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ повСрхности.

Vox & plainMergeVisible ();

ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΠΎΠ΅ (Π±Π΅Π· логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ)

Vox & plainMergeSubtree ();

ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ (Π±Π΅Π· логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ).

Vox & plainMergeTo (const string & with);

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ слияниС (Π±Π΅Π· логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ).

Vox & plainMoveTo (const string & with);

БлияниС (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅, Π±Π΅Π· логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ).

Vox & mergeVisible ();

ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ слой со всСми Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ слоями.

Vox & mergeSubtree ();

ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ‚ΠΎΠΌΠ°. ВсС Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ слои Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹.

Vox & mergeTo (const string & with);

ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ копию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ.

АргумСнты
withимя Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Ρ‚ΠΎΠΌΠ°

Vox & moveTo (const string & with);

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ пространство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

АргумСнты
withимя Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Vox & subtractFrom (const string & with);

Π’Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

АргумСнты
withимя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ

Vox & intersectWith (const string & with);

ΠŸΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ объСма с Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

АргумСнты
withимя пСрСсСкаСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Vox & removeIntersectionWith (const string & with);

Π’Ρ‹Ρ‡Ρ‚ΠΈΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ объСм ΠΈΠ· Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ, Π½ΠΎ ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΎΠ±Π° Ρ‚ΠΎΠΌΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰Π°ΡΡΡ Ρ‡Π°ΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π° ΠΈΠ· Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

АргумСнты
withимя пСрСсСкаСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Vox & splitWith (const string & with);

Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΌ Π½Π° Π΄Π²Π΅ части (Ρ‚ΠΎΠΌΠ°) с Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ объСмом.

АргумСнты
withимя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для раздСлСния

Vox & changeParent (const string & with);

Π‘ΠΌΠ΅Π½Π° родитСля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

АргумСнты
withимя измСняСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

void addObject (const string & name);

ДобавляСм ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊ полигональной сСткС.

АргумСнты
nameимя ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

int objectIndex (константная строка & имя);

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ индСкс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ID.

АргумСнты
nameΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
индСкс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

string objectName (int index);

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ индСксу

АргумСнты
indexиндСкс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

void renameObject (const string & oldName, const string & newName);

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

АргумСнты
oldNameимя старого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
newNameимя Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

bool visibleObject (const string & name);

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

АргумСнты
nameимя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
true, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²ΠΈΠ΄ΠΈΠΌ, ΠΈΠ½Π°Ρ‡Π΅ false.

void setVisibleObject (const string & name, bool v);

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

АргумСнты
nameимя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
vΡ„Π»Π°Π³ видимости

void lockObject (const string & name, bool b);

УстанавливаСм Ρ€Π΅ΠΆΠΈΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ для ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

АргумСнты
nameимя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
bΡ„Π»Π°Π³ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ

int uvsetIndex (константная строка & имя);

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ индСкс UVsets Ρ€Π΅Ρ‚ΠΎΠΏΠΎ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

АргумСнты
nameимя Ρ€Π΅Ρ‚ΠΎΠΏΠΎ uvset
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
uvsets index.

string uvsetName (int index);

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя Ρ€Π΅Ρ‚ΠΎΠΏΠΎ uvset ΠΏΠΎ индСксу.

АргумСнты
indexΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
имя uvset

void renameUVSet (const string & oldName, const string & newName);

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ староС имя uvset Π½Π° Π½ΠΎΠ²ΠΎΠ΅ имя

АргумСнты
oldNameстароС имя
newNameновоС имя

bool isEmpty ();

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, пуст Π»ΠΈ Ρ‚ΠΎΠΌ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
true, Ссли Ρ‚ΠΎΠΌ пустой, ΠΈΠ½Π°Ρ‡Π΅ false.

bool isSurface ();

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, являСтся Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ объСма повСрхностным.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
true, Ссли Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ повСрхностный, ΠΈΠ½Π°Ρ‡Π΅ false.

bool isVoxel ();

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, являСтся Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ громкости Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΌ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
true, Ссли Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ громкости - Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΉ, ΠΈΠ½Π°Ρ‡Π΅ false.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ рисования слоСв

void addPaintLayer (const string & name);

ДобавляСм слой краски.

АргумСнты
nameимя слоя

void deletePaintLayers ();

УдаляСм Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ слой краски.

string paintLayer ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слоя.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
имя строки

bool setPaintLayer (const string & name);

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ слой краски.

АргумСнты
nameимя слоя

void renamePaintLayer (const string & newName);

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ слой краски.

АргумСнты
newNameимя слоя

void firstPaintLayer ();

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ слой краски.

bool nextPaintLayer ();

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ слой краски.

bool visiblePaintLayer ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слоя краски.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
true, Ссли слой краски Π²ΠΈΠ΄ΠΈΠΌ, ΠΈΠ½Π°Ρ‡Π΅ false.

void setVisiblePaintLayer (bool v);

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ видимости Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слоя краски.

АргумСнты
vΠ²ΠΈΠ΄ΠΈΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

float opacityPaintLayer ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слоя краски.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ

void setOpacityPaintLayer (float v);

УстанавливаСт Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слоя краски.

АргумСнты
vΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСпрозрачности (0..1)

float depthOpacityPaintLayer ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π³Π»ΡƒΠ±ΠΈΠ½Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слоя краски.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹

void setDepthOpacityPaintLayer (float v);

УстанавливаСт Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ нСпрозрачности Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слоя краски.

АргумСнты
vΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСпрозрачности (0..1)

void setBlendingPaintLayer (const string & name);

УстанавливаСм Ρ€Π΅ΠΆΠΈΠΌ налоТСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слоя краски.

АргумСнты
nameΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π΅ΠΆΠΈΠΌΠ° налоТСния Ρ†Π²Π΅Ρ‚ΠΎΠ²

void setDepthBlendingPaintLayer (const string & name);

УстанавливаСт Ρ€Π΅ΠΆΠΈΠΌ налоТСния Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слоя краски.

АргумСнты
nameΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π΅ΠΆΠΈΠΌΠ° налоТСния Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅Ρ‚ΠΎΠΏΠΎ-слоСв

void deleteRetopoLayer ();

УдаляСм Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ слой Ρ€Π΅Ρ‚ΠΎΠΏΠΎ.

string retopoLayer ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ слой Ρ€Π΅Ρ‚ΠΎΠΏΠΎ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
имя слоя

bool setRetopoLayer (const string & name);

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ слой Ρ€Π΅Ρ‚ΠΎΠΏΠΎ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ID.

АргумСнты
nameΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠΌΠ΅Π½ΠΈ слоя
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
false, Ссли слой нС найдСн.

void renameRetopoLayer (const string & newName);

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ слой Ρ€Π΅Ρ‚ΠΎΠΏΠΎ.

АргумСнты
newNameимя для пСрСимСнования

void firstRetopoLayer ();

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ слой Ρ€Π΅Ρ‚ΠΎΠΏΠΎ.

bool nextRetopoLayer ();

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ слой Ρ€Π΅Ρ‚ΠΎΠΏΠΎ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
false, Ссли Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ слой являСтся послСдним ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ слой Π½Π΅ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½.

bool visibleRetopoLayer ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слоя Ρ€Π΅Ρ‚ΠΎΠΏΠΎ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
Ρ€Π΅ΠΆΠΈΠΌ видимости.

void setVisibleRetopoLayer (bool v);

УстанавливаСм Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слоя Ρ€Π΅Ρ‚ΠΎΠΏΠΎ.

АргумСнты
vΡ€Π΅ΠΆΠΈΠΌ видимости.

Π Π°Π±ΠΎΡ‚Π° с ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ

void addMaterial (const string & name);

ДобавляСм ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΊ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ полигональной сСтки.

АргумСнты
nameΠ½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°

void deleteMaterial (const string & name);

УдаляСм ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈΠ· ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² полигональной сСтки.

АргумСнты
nameудаляСмый ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»

int materialIndex (const string & name);

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ индСкс ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

АргумСнты
nameΠ½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°

string materialName (int index);

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΏΠΎ индСксу.

АргумСнты
indexΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°

void renameMaterial (const string & oldName, const string & newName);

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ староС имя ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π² Π½ΠΎΠ²ΠΎΠ΅ имя.

АргумСнты
oldNameстароС имя
newNameновоС имя

bool visibleMaterial (const string & name);

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

АргумСнты
nameΠ½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
true, Ссли ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π²ΠΈΠ΄ΠΈΠΌ, ΠΈΠ½Π°Ρ‡Π΅ false.

void setVisibleMaterial (const string & name, bool v);

УстанавливаСт Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

АргумСнты
nameΠ½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°
vΠ²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ

void lockMaterial (const string & name, bool b);

УстанавливаСм Ρ€Π΅ΠΆΠΈΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

АргумСнты
nameΠ½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°
bΡ„Π»Π°Π³ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ (true / false)

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сцСны

Vox & clearScene ();

ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ сцСну.

int count ();

Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ количСство Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚Π²ΠΈ Π΄Π΅Ρ€Π΅Π²Π° воксСлСй.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

float square()

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ воксСльного Ρ‚ΠΎΠΌΠ°.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ

float volume();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ объСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ воксСльного Ρ‚ΠΎΠΌΠ°.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ объСма

int polycount ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ количСство ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ объСма.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
количСство ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ²

int polycountScene ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ количСство ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ² ΠΈΠ· объСмов сцСны

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
количСство ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ²

int countPaintLayer ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ количСство слоСв полигональной сСтки.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
количСство слоСв

int countRetopoLayer ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ количСство слоСв Ρ€Π΅Ρ‚ΠΎΠΏΠΎ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
количСство слоСв Ρ€Π΅Ρ‚ΠΎΠΏΠΎ

int countMaterial ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ количСство ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² полигональной сСтки.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
количСства ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ²

int countObject ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² полигональной сСтки.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

int countUVSet ();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ количСство uvsets.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
количСство uvset.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Если ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΡˆΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±Ρ€Π°Ρ‚ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° этот список Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, доступных для Ρ‚Π²ΠΎΠ΅Π³ΠΎ скрипта:

// Returns true if current volume is in surface mode.
DEPRECATED bool IsSurface();
// Check if volume cached.
DEPRECATED bool IsInCache();
// Move current volume to cache.
DEPRECATED void ToCache();
// Restore current volume from cache.
DEPRECATED void FromCache();
// Get current volume name.
DEPRECATED string GetCurVolume();
// Rename current volume.
DEPRECATED void RenameCurVolume(string &name);
// Set surface/voxel mode for volume Surf=true - set surface mode,
// false - volume. It is same as click on S/V icon.
// If silent=true then no dialogs will be shown, all will be
// done by default.
DEPRECATED void SetCurVolumeMode(bool Surf,bool Silent);
// Set current volume by name, returns true if succeed.
DEPRECATED bool SetCurVolume(string &name);
// Select first volume in scene, if OnlyVisible==true then first
// visible volume will be selected.
DEPRECATED void SelectFirstVolume(bool OnlyVisible);
// Select next volume after current in tree, if OnlyVisible==true
// then next visible volume will be selected. Returns false if
// current volume is last in list.
DEPRECATED bool SelectNextVolume(bool OnlyVisible);
// Example of walking through all volumes:
void main() {
string s=GetCurVolume(); //keep current selection
SelectFirstVolume(true);
do {
//insert your action
} while( SelectNextVolume(true));
SetCurVolume(s); //restore initial selection
}
// Checks if volume is empty.
DEPRECATED bool CurVolumeIsEmpty();
// Get current volume polycount.
DEPRECATED int GetCurVolumePolycount();
// Get polycount of whole voxel scene.
DEPRECATED int GetVoxSceneVisiblePolycount();
// Get polycount of visible volumes.
DEPRECATED int GetVoxScenePolycount ();
// Get current volume shader name.
DEPRECATED string GetCurVolumeShader();
// Set volume visibility (like with eye icon).
DEPRECATED void SetVolumeVisibility(bool vis)
// Returns current volume visibility.
DEPRECATED bool GetVolumeVisibility()
// Sets Ghost property to volume.
DEPRECATED void SetVolumeGhosting(bool Ghosting)
DEPRECATED void SetCurVolumeTransform(Mat4& transform)
// Set/get current volume transform as 4-dimentional matrix.
// See the Mat4 class description.
DEPRECATED Mat4 SetCurVolumeTransform()
DEPRECATED bool GetVolumeSquare()
// Get square and volume of the current volume.
DEPRECATED bool GetVolumeVolume()
// Get Ghost property from the volume.
DEPRECATED bool GetVolumeGhosting()
// Set opacity of the current volume if the shader
// has corresponding property.
DEPRECATED void SetVolumeOpacity(float Opacity)
// Set current volume color if this property of shader is available.
DEPRECATED void SetVolumeColor(int Color)
// Assign val to current object shader property field.
DEPRECATED void SetShaderProperty(string &id, string &val)

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ этот Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹ возмоТностСй:

// Returns whole command line.
string getCommandLine();
// Stores some string as global value that may be read later in
// the session. The value will be stored in 3B file and you will
// be able to read in further work with this scene.
DEPRECATED void SetGlobalVar(string& Name,string& Value)
// Returns value previously stored using SetGlobalVar.
DEPRECATED string GetGlobalVar (string& Name)
// Returns scene filename (last saved or opened as 3B file).
DEPRECATED string GetSceneFileName()
// Sets scene filename for further saving.
DEPRECATED void SetSceneFileName(string& Name)
// Highlight element with red rectangle.
// Pass the `time` in seconds.
void HighlightUIElement(string &ID, float time);
// Goes to one of previous dialogs in call stack.
DEPRECATED void back(int steps=1);
// Opens window described by xml-file pointed by Path.
// If Path contains .3b file will be opened as 3B file.
DEPRECATED void open(string &Path);
// Opens model for PPP, if path is empty, shows open dialog.
DEPRECATED void ppp(string &path);
// Opens model for MV painting, if path is empty, shows open dialog.
DEPRECATED void mv(string &path);
// Opens model for Ptex, if path is empty, shows open dialog.
DEPRECATED void ptex(string &path);
// Import image as mesh, dialog will be shown.
DEPRECATED void imagemesh();
// Import mesh as reference, if path is empty dialog will be shown.
DEPRECATED void refmesh(string &path);
// Import mesh for vertex painting, if path is empty dialog will be shown.
DEPRECATED void vertexpaint(string &path);
// Perform autopo over the mesh chosen in dialog.
DEPRECATED void autopo(string &path);
// Opens mesh for repairing. If id contains "vox" then model will be
// voxelized, if there is substring "shell" then mesh will be imported
// as thin shell. Mesh Opening dialog will be shown.
DEPRECATED void repair(string &id);
// Activate bas-relief tool.
DEPRECATED void bass();
// Activale remove undercuts mode.
DEPRECATED void undercut();
// Activate special voxel tool. id may be found in English.xml between
// <ID>...</ID> if you will find name of tool between
// <Text>...</Text> tags.
DEPRECATED void activate(string &id);
// Activate retopo tool.
DEPRECATED void retopo();
// Open mesh using dialog and merge as retopo mesh.
DEPRECATED void retopopen();
// Activate any room - name is one of "Paint", "Tweak", "UV",
// "Voxels", "Retopo", "Render".
DEPRECATED void ToRoom(string &name);
// Check if you are in specified room - name is one of "Paint",
// "Tweak", "UV", "Voxels", "Retopo", "Render".
DEPRECATED bool IsInRoom(string &name);
// Add new volume in voxel room. If name is empty name will be
// assigned automatically.
DEPRECATED void AddNewVolume(string &name);
// Activate UV room.
DEPRECATED void uv();
// Activate voxel room and add new volume.
DEPRECATED void vox();
// Create sphere of radius R in voxel room in current object.
// \param mode 0 - add, 1 - subtract, 2 - intersect with scene.
DEPRECATED void sphere(float x,float y,float z,float r,int mode);
// Create cube in voxel room in current object.
// \param mode 0 - add, 1 - subtract, 2 - intersect with scene.
// \param sizex Size by X-axis.
// \param sizey Size by Y-axis.
// \param sizez Size by Z-axis.
DEPRECATED void cube(float x,float y,float z,float sizex,float sizey,float sizez,int mode);
// Turn all volumes to surface mode.
DEPRECATED void surf();
// Turn current volume to the surface mode.
DEPRECATED void cursurf();
// Turn current volume to voxel mode, voxelize if need.
DEPRECATED void voxelize();
// Sets merging options in voxel room. opt is just set of substrings
// with different options. Possible values are:
// [voxelize=true]
// [voxelize=false]
// [separate=true]
// [separate=false]
// [respectneg=true]
// [respectneg=false]
// [as_skin=true]
// [as_skin=false]
// [skin=....] - to set skin thickness.
DEPRECATED void mergeopt(string &opt);
// Example:
mergeopt( "[voxelize=true][as_skin=true][skin=4.5]" );
// Merge model in voxel room. Empty string means that dialog will be shown.
DEPRECATED void merge(string &model);
// Activate voxel primitives tool. Possible primitives:
// cube, cylinder, sphere, tube, cone, ellipse, n-gon, gear.
DEPRECATED void prim(string &id);
// Apply in current tool (same as press enter).
DEPRECATED void apply();
// Apply in Merge tool without asking "Keep scale?".
// Scale will not be kept and scene scale will not be changed.
DEPRECATED void ApplyAndKeepScale();
// Apply in current tool (same as press enter) wint one difference -
// in Merge tool scale of merged object sill be automatically kept and
// scene scale changed if this merge is first.
DEPRECATED void mapply();
// Open recent 3B-file.
DEPRECATED void recent3b();
// Print text to MyDocuments/3D-CoatV4/log.txt.
DEPRECATED void Log(string &line);
// Generate integer random number min..max.
int rand(int min,int max);
// Generate floating random number min..max.
float randF(float min,float max);
// Set random generator seed.
void seed(int val);
// Show progress bar pos = 0..100.
DEPRECATED void ProgressBar(const string& message,int pos);
// Set orthogonal (true) or perspective (false) view mode.
DEPRECATED void SetOrthoMode(bool value);