Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OPC_TreeBuilders.h File Reference

Go to the source code of this file.

Classes

struct  BuildSettings
 Simple wrapper around build-related settings [Opcode 1.3]. More...
 
class  AABBTreeBuilder
 
class  AABBTreeOfVerticesBuilder
 
class  AABBTreeOfAABBsBuilder
 
class  AABBTreeOfTrianglesBuilder
 

Macros

#define __OPC_TREEBUILDERS_H__
 

Enumerations

enum  SplittingRules {
  SPLIT_LARGEST_AXIS = (1<<0), SPLIT_SPLATTER_POINTS = (1<<1), SPLIT_BEST_AXIS = (1<<2), SPLIT_BALANCED = (1<<3),
  SPLIT_FIFTY = (1<<4), SPLIT_GEOM_CENTER = (1<<5), SPLIT_FORCE_DWORD = 0x7fffffff
}
 Tree splitting rules. More...
 

Detailed Description

Contains code for tree builders.

Author
Pierre Terdiman
Date
March, 20, 2001

Definition in file OPC_TreeBuilders.h.

Macro Definition Documentation

#define __OPC_TREEBUILDERS_H__

Definition at line 22 of file Opcode.h.

Enumeration Type Documentation

Tree splitting rules.

Enumerator
SPLIT_LARGEST_AXIS 

Split along the largest axis.

SPLIT_SPLATTER_POINTS 

Splatter primitive centers (QuickCD-style)

SPLIT_BEST_AXIS 

Try largest axis, then second, then last.

SPLIT_BALANCED 

Try to keep a well-balanced tree.

SPLIT_FIFTY 

Arbitrary 50-50 split.

SPLIT_GEOM_CENTER 

Split at geometric center (else split in the middle)

SPLIT_FORCE_DWORD 

Definition at line 24 of file OPC_TreeBuilders.h.

25  {
26  // Primitive split
27  SPLIT_LARGEST_AXIS = (1<<0),
28  SPLIT_SPLATTER_POINTS = (1<<1),
29  SPLIT_BEST_AXIS = (1<<2),
30  SPLIT_BALANCED = (1<<3),
31  SPLIT_FIFTY = (1<<4),
32  // Node split
33  SPLIT_GEOM_CENTER = (1<<5),
34  //
35  SPLIT_FORCE_DWORD = 0x7fffffff
36  };