28 using namespace GMap3d;
30 CParameterOperations::CParameterOperations(
int ANbRef) :
35 FTranslateCells(true),
37 FInterpolationMerges(true),
38 FInterpolationSews (true),
45 FExtrusionRevolutionAngle (360.0),
46 FExtrusionAdjacentSews (true),
47 FExtrusionInitialPositionMode (1),
48 FExtrusionInitialDirectionMode(1),
49 FExtrusionDirection (true),
50 FExtrusionScale (true),
51 FExtrusionPonderateSection (false),
52 FExtrusionRevolutionNbEdges (8)
54 FMeshNbSubdivisions[0] = 5;
55 FMeshNbSubdivisions[1] = 5;
56 FMeshNbSubdivisions[2] = 5;
58 FRoundingDefaultCoefs[0] = 0.2;
59 FRoundingDefaultCoefs[1] = 0.2;
60 FRoundingDefaultCoefs[2] = 0.2;
67 FRotateCells (AParam.FRotateCells),
68 FScaleCells (AParam.FScaleCells),
69 FTranslateCells(AParam.FTranslateCells),
71 FInterpolationMerges(AParam.FInterpolationMerges),
72 FInterpolationSews (AParam.FInterpolationSews),
74 FSmoothMerges(AParam.FSmoothMerges),
75 FSmoothSews (AParam.FSmoothSews),
76 FSmoothMethod(AParam.FSmoothMethod),
78 FExtrusionCoef (AParam.FExtrusionCoef),
79 FExtrusionRevolutionAngle (AParam.FExtrusionRevolutionAngle),
80 FExtrusionAdjacentSews (AParam.FExtrusionAdjacentSews),
81 FExtrusionInitialPositionMode (AParam.FExtrusionInitialPositionMode),
82 FExtrusionInitialDirectionMode(AParam.FExtrusionInitialDirectionMode),
83 FExtrusionDirection (AParam.FExtrusionDirection),
84 FExtrusionScale (AParam.FExtrusionScale),
85 FExtrusionPonderateSection (AParam.FExtrusionPonderateSection),
86 FExtrusionRevolutionNbEdges (AParam.FExtrusionRevolutionNbEdges)
88 FMeshNbSubdivisions[0] = AParam.FMeshNbSubdivisions[0];
89 FMeshNbSubdivisions[1] = AParam.FMeshNbSubdivisions[1];
90 FMeshNbSubdivisions[2] = AParam.FMeshNbSubdivisions[2];
92 FRoundingDefaultCoefs[0] = AParam.FRoundingDefaultCoefs[0];
93 FRoundingDefaultCoefs[1] = AParam.FRoundingDefaultCoefs[1];
94 FRoundingDefaultCoefs[2] = AParam.FRoundingDefaultCoefs[2];
120 if ( FRotateCells!=ABool )
123 FRotateCells = ABool;
134 if ( FScaleCells!=ABool )
148 if ( FTranslateCells!=ABool )
151 FTranslateCells = ABool;
157 return FTranslateCells;
162 return FMeshNbSubdivisions[0];
167 return FMeshNbSubdivisions[1];
172 return FMeshNbSubdivisions[2];
178 FMeshNbSubdivisions[0] = ASx;
184 FMeshNbSubdivisions[1] = ASy;
190 FMeshNbSubdivisions[2] = ASz;
194 {
return FInterpolationMerges; }
198 if ( FInterpolationMerges!=ABool )
201 FInterpolationMerges = ABool;
217 FInterpolationSews = ABool;
236 FSmoothMerges = ABool;
257 {
return FSmoothMethod; }
262 if ( FSmoothMethod!=AValue )
265 FSmoothMethod = AValue;
269 static const CTransformationMatrix * SMOOTH_MATRIX[] =
279 return * SMOOTH_MATRIX[FSmoothMethod];
282 static const bool CAN_MERGE[] =
290 static const bool CAN_SEW[] =
302 return CAN_MERGE[FSmoothMethod];
313 return FExtrusionCoef;
318 FExtrusionCoef = ACoef;
323 return FExtrusionRevolutionAngle;
328 FExtrusionRevolutionAngle = AAngle;
332 {
return FExtrusionAdjacentSews; }
336 if ( FExtrusionAdjacentSews!=ABool )
339 FExtrusionAdjacentSews = ABool;
344 {
return FExtrusionInitialPositionMode; }
348 if ( FExtrusionInitialPositionMode!=AValue )
351 FExtrusionInitialPositionMode = AValue;
356 {
return FExtrusionInitialDirectionMode; }
360 if ( FExtrusionInitialDirectionMode!=AValue )
363 FExtrusionInitialDirectionMode = AValue;
368 {
return FExtrusionDirection; }
372 if ( FExtrusionDirection!=ABool )
375 FExtrusionDirection = ABool;
380 {
return FExtrusionScale; }
384 if ( FExtrusionScale!=ABool )
387 FExtrusionScale = ABool;
392 {
return FExtrusionPonderateSection; }
396 if ( FExtrusionPonderateSection!=ABool )
399 FExtrusionPonderateSection = ABool;
404 {
return FExtrusionRevolutionNbEdges; }
408 if ( FExtrusionRevolutionNbEdges!=AValue )
411 FExtrusionRevolutionNbEdges = AValue;
417 return FRoundingDefaultCoefs[0];
422 FRoundingDefaultCoefs[0] = ACoef;
427 return FRoundingDefaultCoefs[1];
432 FRoundingDefaultCoefs[1] = ACoef;
437 return FRoundingDefaultCoefs[2];
442 FRoundingDefaultCoefs[2] = ACoef;