Public Types | Public Member Functions | Public Attributes
FractureTools::FractureCutoutDesc Struct Reference

#include <FractureToolsStructs.h>

List of all members.

Public Types

enum  Directions {
  UserDefined = 0,
  NegativeX = 1 << 0,
  PositiveX = 1 << 1,
  NegativeY = 1 << 2,
  PositiveY = 1 << 3,
  NegativeZ = 1 << 4,
  PositiveZ = 1 << 5,
  DirectionCount = 6
}
enum  InstancingMode {
  DoNotInstance,
  InstanceCongruentChunks,
  InstanceAllChunks,
  InstanceModeCount
}
enum  CutoutChunkFracturingMethod {
  DoNotFractureCutoutChunks,
  SliceFractureCutoutChunks,
  VoronoiFractureCutoutChunks,
  CutoutChunkFracturingMethodCount
}

Public Member Functions

 FractureCutoutDesc ()
void setToDefault ()

Public Attributes

unsigned directions
unsigned directionOrder [DirectionCount]
CutoutParameters cutoutParameters [DirectionCount]
physx::PxVec3 userDefinedDirection
physx::PxMat33 userUVMapping
CutoutParameters userDefinedCutoutParameters
unsigned instancingMode
bool tileFractureMap
physx::PxVec2 uvTileSize
bool splitNonconvexRegions
unsigned chunkFracturingMethod
bool trimFaceCollisionHulls
float cutoutWidthScale [DirectionCount]
float cutoutHeightScale [DirectionCount]
float cutoutWidthOffset [DirectionCount]
float cutoutHeightOffset [DirectionCount]
bool cutoutWidthInvert [DirectionCount]
bool cutoutHeightInvert [DirectionCount]
float cutoutSizeX
float cutoutSizeY
float facetNormalMergeThresholdAngle

Detailed Description

FractureCutoutDesc

Descriptor for cutout-mode (chippable) fracturing.


Member Enumeration Documentation

Fracturing to apply to cutout chunks (if any), to break them down further. Current options include none, slice fracturing, and voronoi fracturing.

Enumerator:
DoNotFractureCutoutChunks 
SliceFractureCutoutChunks 
VoronoiFractureCutoutChunks 
CutoutChunkFracturingMethodCount 

Enum describing the directions to apply cutout fracturing.

Enumerator:
UserDefined 
NegativeX 
PositiveX 
NegativeY 
PositiveY 
NegativeZ 
PositiveZ 
DirectionCount 

Enum describing the instancing mode.

Enumerator:
DoNotInstance 
InstanceCongruentChunks 
InstanceAllChunks 
InstanceModeCount 

Constructor & Destructor Documentation

FractureTools::FractureCutoutDesc::FractureCutoutDesc ( ) [inline]

Constructor sets defaults


Member Function Documentation

void FractureTools::FractureCutoutDesc::setToDefault ( ) [inline]

Set default values:

directions = 0; directionOrder[0..5] = {NegativeX, .., PositiveZ}; cutoutParameters[0..5].setToDefault(); userDefinedDirection= physx::PxVec3(0.0f); userUVMapping = physx::PxMat33(physx::PxIdentity); userDefinedCutoutParameters.setToDefault(); instancingMode = DoNotInstance; tileFractureMap = false; uvTileSize = (0.0f,0.0f) cutoutParameters[0..5].setToDefault(); cutoutWidthScale[0..5] = 1.0f; cutoutHeightScale[0..5] = 1.0f; cutoutWidthOffset[0..5] = 0.0f; cutoutHeightOffset[0..5] = 0.0f; cutoutWidthInvert[0..5] = false; cutoutHeightInvert[0..5] = false; cutoutSizeX = 1.0f; cutoutSizeY = 1.0f; facetNormalMergeThresholdAngle = 60.0f; splitNonconvexRegions = false; chunkFracturingMethod = DoNotFractureCutoutChunks; trimFaceCollisionHulls = true;


Member Data Documentation

If true, slice-mode fracturing will be applied to each cutout piece. The cutout function must be provided with a FractureSliceDesc as well to describe the slice parameters. These parameters, however, must be interpreted from the point of view of the cutout direction. That is, X and Y slice parameters will be used to slice along the cutout faces. The Z slice parameters will be used to slice into the cutout faces.

If true, the cutout map will be flipped in the Y direction (along the various cutout directions).

Offset to apply to the Y coordinates of the cutout set (along the various cutout directions).

Scale to apply to the Y coordinates of the cutout set (along the various cutout directions).

Cutout parameters used for the various pre-defined cutout directions.

The interpreted size of the cutout map in the X direction

The interpreted size of the cutout map in the Y direction

If true, the cutout map will be flipped in the X direction (along the various cutout directions).

Offset to apply to the X coordinates of the cutout set (along the various cutout directions).

Scale to apply to the X coordinates of the cutout set (along the various cutout directions).

The order in which to apply each cutout direction. The direction in directionOrder[0] is applied first, in directionOrder[1], second, and so on.

The directions to apply cutout fracturing. (See the Directions enum.)

Threshold angle to merge (smoothe) vertex normals around cutout, in degrees. If the exterior angle between two facets of a cutout region no more than this, the vertex normals and tangents will be averaged at the facet interface. A value of 0 effectively disables smoothing. Default value = 60 degrees.

The instancing mode.

If true, non-convex cutouts will be split into convex ones.

If tileFractureMap is true, the map will be tiled across the destructible.

If true, the backface and cutouts will be trimmed if (a) backface noise is non-zero or (b) the collision hull is something other than the mesh convex hull ("Wrap Graphics Mesh"). Trimming is done by intersecting the face slice plane (without added noise) with the backface and cutouts. Default is true.

Cutout parameters used if user-defined (UV-based) cutout fracturing is selected by setting directions = 0

The cutout direction if directions = 0. When this is used, it must be have non-zero length (it will be normalized internally), and userUVMapping must be set (this may be done with AssetAuthoring::calculateCutoutUVMapping).

The UV mapping used if directons = 0 (along with userDefinedDirection).

The U,V width of the fracture map when instancing chunks


The documentation for this struct was generated from the following file:

Generated on Sat Dec 1 2018 15:51:53

Copyright © 2012-2018 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.