EgtExch3dm :
- ulteriore piccola miglioria in import/export trasparenza di colore per 3dm.
This commit is contained in:
+2
-1
@@ -26,6 +26,7 @@
|
||||
#include "/EgtDev/Include/EGkExtText.h"
|
||||
#include "/EgtDev/Include/EGkExtDimension.h"
|
||||
#include "/EgtDev/Include/EGnStringUtils.h"
|
||||
#include "/EgtDev/Include/EgtNumUtils.h"
|
||||
#include "/EgtDev/Include/EgtKeyCodes.h"
|
||||
#include <fstream>
|
||||
|
||||
@@ -295,7 +296,7 @@ Export3dm::AddObjectToModel( const IGdbIterator& iIter, ON_Object* onObject, con
|
||||
pOnAttr->SetColorSource( ON::color_from_object) ;
|
||||
//N.B. RHINO ha i valori di Alpha invertiti rispetto ai nostri, oltre che su una scala diversa! per loro 0 = opaco e 255 = trasparente
|
||||
// per noi invece 0 = trasparente, 100 = opaco
|
||||
ON_Color onCol( cCol.GetIntRed(), cCol.GetIntGreen(), cCol.GetIntBlue(), abs( lround( cCol.GetIntAlpha() * 2.55) - 255)) ;
|
||||
ON_Color onCol( cCol.GetIntRed(), cCol.GetIntGreen(), cCol.GetIntBlue(), Clamp( 255 - lround( cCol.GetIntAlpha() * 2.55), 0, 255)) ;
|
||||
pOnAttr->m_color = onCol ;
|
||||
// se è una mesh aggiungo il materiale
|
||||
if ( const ON_Mesh* onMesh = ON_Mesh::Cast( onObject)) {
|
||||
|
||||
+1
-1
@@ -203,7 +203,7 @@ Import3dm::Import( const string& sFile, IGeomDB* pGDB, int nIdGroup,
|
||||
Color cCol ;
|
||||
// N.B. RHINO ha i valori di Alpha invertiti rispetto ai nostri, oltre che su una scala diversa! per loro 0 = opaco e 255 = trasparente
|
||||
// per noi invece 0 = trasparente, 100 = opaco
|
||||
cCol.Set( onCol.Red(), onCol.Green(), onCol.Blue(), lround( abs( onCol.Alpha() - 255) / 2.55)) ;
|
||||
cCol.Set( onCol.Red(), onCol.Green(), onCol.Blue(), lround( ( 255 - onCol.Alpha()) / 2.55)) ;
|
||||
// converto l'oggetto e lo aggiungo al GeomDB
|
||||
ON::object_type type = oGeometry->ObjectType() ;
|
||||
vector<PtrOwner<IGeoObj>> vpGeoObj ;
|
||||
|
||||
Reference in New Issue
Block a user