Polygon Crucher SDK - Documentation
Documentation
Loading...
Searching...
No Matches
MRCommon.h
1// MRCommon.h: interface for the MRBaseObject class.
2//
3//////////////////////////////////////////////////////////////////////
4
5#if !defined(MRCOMMON_H)
6#define MRCOMMON_H
7
8BEGIN_MOOTOOLS_NAMESPACE
9
10//! @enum MRRATIO_MODE
11//! Flags used by CSceneOptimizer::Optimize, CSceneOptimizer::SetMultiresolutionRatio, C3DExtObject::Optimize or CMultiresolutionObject::SetObjectRatio\n
12//! It allows to control the level of details resulting from an optimization for the optimized object.
13typedef enum MRRATIO_MODE
14{
15 OPTIMIZE_TO_UNDEFINED = -1,
16 OPTIMIZE_TO_MODE = 0xFF,
17 OPTIMIZE_TO_RATIO = 0x01, //!< We specifiy an optimization ratio. A ratio of 1.0 means no optimization, a ration of 0.0 means all optimized, a ratio of 0.5 means that we optimize removable point or faces to 50%
18 OPTIMIZE_TO_NBR = 0x02, //!< We specifiy for an entity number (face or point depending on OPTIMIZE_TO_FACE or OPTIMIZE_TO_POINT)
19 OPTIMIZE_TO_CONTRACTION = 0x04, //!< We specifiy a precise contraction (internal purpose)
20 OPTIMIZE_TO_FACE = 0x10, //!< We specifiy a face ratio or face number
21 OPTIMIZE_TO_POINT = 0x20, //!< We specifiy a face ratio point number
22 OPTIMIZE_TO_MODE_FLAGS = 0xFF00,
23 OPTIMIZE_TO_FORCE_CHANGE = 0x0100, //!< Use when user increase/decrease the optimization by one unit. Force a change to be done
24 OPTIMIZE_NO_PROGRESSIVE_RATIO = 0x0200, //!< When OPTIMIZE_TO_RATIO is set, superseed object progressive settings and use the provided ratio
25 OPTIMIZE_UNLOCK_RATIO = 0x0400, //!< force the ratio change, even if IsRatioLocked is set to true,
26 OPTIMIZE_USE_PREDICTIVE_RATIO = 0x0800, //!< override the provided ratio value and optimize each object using its own predictive ratio. The flag can be used alone. When set the others settings are not taken into account.
27} MRRATIO_MODE;
28
29//! @enum MROBJECT_PROPERTIES
30//! Flags used by CMultiresolutionObject.
31typedef enum MROBJECT_PROPERTIES
32{
33 MROBJECT_NONE = 0x00,
34 MROBJECT_PROGRESSIVE_RATIO = 0x01, //!< The multiresolution use a progressive ratio, which means it takes care of the other CMultiresolutionObject in the scene to modify the provided ratio. Cf. SCENEOPTIMIZER_PROGRESSIVE_RATIO
35 MROBJECT_AUTO_UPDATE = 0x100,
36 MROBJECT_NEW_DATA = 0x200, //!< CMultiresolutionObject2 only: Some new data is available
37 MROBJECT_COMPLETE_DATA = 0x400, //!< CMultiresolutionObject2 only: All data has been retrieve
38 MROBJECT_LIMIT_REACHED = 0x800, //!< CMultiresolutionObject2 only: We reached the user defined limit
39 MROBJECT_LOCK_RATIO = 0x1000, //!< The ratio is locked to the last SetObjectRatio call. Any further call to the method will change nothing until the flag is removed
40
41 // Internal data
42 MROBJECT_PREPARE_GEOM_DONE = 0x01000000, // CMultiresolutionObject2 only: PrepareGeometry called
43 MROBJECT_ADJUST_GEOM_DONE = 0x02000000, // CMultiresolutionObject2 only: AjustGeometry called.
44} MROBJECT_PROPERTIES;
45
46END_MOOTOOLS_NAMESPACE
47
48#endif // !defined(MRCOMMON_H)