mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
The table of named colors has been compressed and moved out from Quantity_Color.cxx into Quantity_ColorTable.pxx. Quantity_NameOfColor - grayscale enumeration values have been re-ordered to fix discontinuity. Duplicating colors has been merged within enumeration: CHARTREUSE=CHARTREUSE1, GOLD=GOLD1, GREEN=GREEN1, ORANGE=ORANGE1, ORANGERED=ORANGERED1, RED=RED1, TOMATO=TOMATO1, YELLOW=YELLOW1. Added aliases to several other common colors: BLUE=BLUE1, CYAN=CYAN1, LIGHTCYAN=LIGHTCYAN1, MAGENTA=MAGENTA1. Quantity_Color class definition has been cleaned to follow OCCT coding style. Quantity_Color now stores NCollection_Vec3<float> as class field instead of separate components. Removed unused class Quantity_ColorDefinitionError. New methods Quantity_Color::Convert_LinearRGB_To_sRGB() and Quantity_Color::Convert_sRGB_To_LinearRGB() converting RGB components from linear to non-linear sRGB colorspace and vice versa. Image_PixMap::PixelColor() and Image_PixMap::SetPixelColor() methods have been extended with an optional argument for performing linearization/delinearization of 8-bit sRGB pixel formats. Draw Harness command AISColor has been corrected to take color name instead of enumeration index.
36 lines
1.0 KiB
Plaintext
36 lines
1.0 KiB
Plaintext
puts "========"
|
|
puts "0029283: Visualization - allow defining more than 8 light sources"
|
|
puts "Test case creates about 100 of light sources."
|
|
puts "========"
|
|
|
|
pload MODELING VISUALIZATION
|
|
|
|
vclear
|
|
vclose ALL
|
|
vinit View1
|
|
vcaps -ffp 0
|
|
vrenderparams -shadingModel phong
|
|
box b -50 5 -50 100 100 100
|
|
vdisplay -dispMode 1 b
|
|
vfront
|
|
vfit
|
|
|
|
# define lights
|
|
set THE_COLORS { RED1 YELLOW BLUE CYAN PURPLE WHITE HOTPINK GREEN MAGENTA MAGENTA3 }
|
|
vlight clear
|
|
set aNbColors 10
|
|
set aLightIndex 0
|
|
set aConstAtten 0.1
|
|
set aLinAtten 1
|
|
set aRand [expr srand(1)]
|
|
for { set anZIter -50 } { $anZIter <= 50 } { set anZIter [expr $anZIter + 10] } {
|
|
for { set anXIter -50 } { $anXIter <= 50 } { set anXIter [expr $anXIter + 10] } {
|
|
set anIndex [expr {int(rand() * $aNbColors)}]
|
|
set aColor [lindex $THE_COLORS $anIndex]
|
|
set aPos "$anXIter 0 $anZIter"
|
|
vlight -add positional -pos {*}$aPos -color $aColor -headLight 0 -constAttenuation $aConstAtten -linearAttenuation $aLinAtten
|
|
vpoint v${aLightIndex} {*}$aPos
|
|
set aLightIndex [expr $aLightIndex + 1]
|
|
}
|
|
}
|