Main Page   Modules   Alphabetical List   Data Structures   Data Fields  

RtWorldImportPartitionEvaluators
[RtWorldImport]


Functions

RwReal  RtWorldImportFuzzyBalancedPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportPotentialSplitPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportVolumeBalancedPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportBalancedPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportAspectPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportExtentPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportOccluderPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportWeightedOccluderPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportWeightedDisjointOccluderPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportMaterialCutsPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportMaterialBalancedPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportMaterialSeparatorPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)
RwReal  RtWorldImportHintBBoxPartitionEvaluator (RtWorldImportBuildSector *buildSector, RtWorldImportBuildStatus *buildStatus, RtWorldImportPartition *partition, void *userData)

Detailed Description

The set of provided RtWorldImportPartitionEvaluators: Uses a combination of statistics, build sector, build status, and possibly other criteria to evaluate a partition. While the value returned can be any real value, all provided evaluators are return lower values for better partitioners, and are in the range [0..1] where appropriate

Function Documentation

RwReal RtWorldImportAspectPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportAspectPartitionEvaluator evaluates the uniformity of the partition with respect to the sector it is subdividing. It returns a measure of the aspect over the size of the sector in the dimension of the partition; where a high value is poor and a low value good. Thus a partition that would slice an already thin sector along its shortest dimension would result in a high value.

Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  NULL.
Returns:
The uniformity of the partition in the sector.
RwReal RtWorldImportBalancedPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportBalancedPartitionEvaluator returns the balance of the partition in terms of polygons on either side, in the inclusive range 0..1, where 0 is perfectly balanced, and 1 is totally unbalanced.

Note:
The partition statistics must be set before calling this function
Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  NULL.
Returns:
The balance of the partition [0..1].
RwReal RtWorldImportExtentPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportExtentPartitionEvaluator returns the size of the (negative) size of the sector in the dimension of the partition.

Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  NULL.
Returns:
The size of the sector in the dimension of the partition.
RwReal RtWorldImportFuzzyBalancedPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportFuzzyBalancedPartitionEvaluator is a hybrid evaluator; it returns a value based on balance, splits, and materials

Note:
The partition statistics must be set before calling this function
Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  NULL.
Returns:
The fuzzy value.
See also:
RtWorldImportSetPartitionStatistics
RwReal RtWorldImportHintBBoxPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportHintBBoxPartitionEvaluator tests whether the partition cuts through any shield bounding box hints, and returns a proportional value.

Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  A pointer to an RwReal that is the cost per intersecting Bounding Box. If it's NULL, rtWORLDIMPORTINVALIDPARTITION is returned after the first cut
Returns:
The weighted number of bounding box cuts.
RwReal RtWorldImportMaterialBalancedPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportMaterialBalancedPartitionEvaluator returns the (positive) difference between the number of materials left and those on the right of the partition.

Note:
The partition statistics must be set before calling this function
Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  NULL.
Returns:
The difference between the number of materials to the left and to the right.
See also:
RtWorldImportSetPartitionStatistics
RwReal RtWorldImportMaterialCutsPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportMaterialCutsPartitionEvaluator returns the number of materials split by the partition.

Note:
The partition statistics must be set before calling this function
Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  NULL.
Returns:
The number of materials split by the partition.
See also:
RtWorldImportSetPartitionStatistics
RwReal RtWorldImportMaterialSeparatorPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportMaterialSeparatorPartitionEvaluator evaluates the balance of materials on either side of the candidate partition.

Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  NULL.
Returns:
The material balance.
RwReal RtWorldImportOccluderPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportOccluderPartitionEvaluator returns the area covered (of coplanar polygons.)

Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  NULL.
Returns:
The area covered.
RwReal RtWorldImportPotentialSplitPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportPotentialSplitPartitionEvaluator returns the number of polygons that are split by the partition, not considering overlapping sectors.

Note:
The partition statistics must be set before calling this function
Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  NULL.
Returns:
The number of polygons that are split by the partition.
See also:
RtWorldImportSetPartitionStatistics
RwReal RtWorldImportVolumeBalancedPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportVolumeBalancedPartitionEvaluator returns the balance of the partition in terms of space on either side, in the inclusive range 0..1, where 0 is perfectly balanced, and 1 is totally unbalanced.

Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  NULL.
Returns:
The balance of the partition. [0..1].
RwReal RtWorldImportWeightedDisjointOccluderPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportWeightedDisjointOccluderPartitionEvaluator returns the weighted value of the partition as a disjoint occluder - i.e. in a scene that is not highly occluded, such as an outdoor scene, it evaluates a partition by a number of criteria, including actual occlusion, number of splits, balance, and volume balance, which reflects the better values for use with PVS. This requires the area of the sector in the dimension of the partitioner, and this is passed as userData. If the partition is a peripheral one, or if it occludes next to nothing, rtWORLDIMPORTINVALIDPARTITION is returned.

Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  A pointer to an RwReal that is the area of the sector in the dimension of the partitioner.
Returns:
The value of the partition as an occluder.
RwReal RtWorldImportWeightedOccluderPartitionEvaluator RtWorldImportBuildSector   buildSector,
RtWorldImportBuildStatus   buildStatus,
RtWorldImportPartition   partition,
void *    userData
 

RtWorldImportWeightedOccluderPartitionEvaluator returns the weighted value of the partition as an occluder - this is mapped to the range [-1..0] where -1 represents an occluder that completely covers the geometry, and 0 where is covers nothing. This requires the area of the sector in the dimension of the partitioner, and this is passed as userData. If the partition is a peripheral one, rtWORLDIMPORTINVALIDPARTITION is returned.

Parameters:
buildSector  A pointer to the Build Sector.
buildStatus  A pointer to the Build Status.
partition  A pointer to the partition requiring evaluation.
userData  A pointer to an RwReal that is the area of the sector in the dimension of the partitioner.
Returns:
The value of the partition as an occluder in the range [-1..0].

Criterion Software © 1993-2003 Criterion Software Limited. All rights reserved. Built Tue Apr 22 12:46:57 2003. Send Feedback
Converted from CHM to HTML with chm2web Pro 2.85 (unicode)