Houdini Engine 3.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
HAPI_CookOptions Struct Reference

#include <HAPI_Common.h>

Public Attributes

HAPI_Bool splitGeosByGroup
int maxVerticesPerPrimitive
HAPI_Bool refineCurveToLinear
float curveRefineLOD
HAPI_Bool clearErrorsAndWarnings
HAPI_Bool cookTemplatedGeos
 Decide whether to recursively cook all templated geos or not. More...
HAPI_Bool splitPointsByVertexAttributes
HAPI_PackedPrimInstancingMode packedPrimInstancingMode
HAPI_Bool handleBoxPartTypes
HAPI_Bool handleSpherePartTypes
int extraFlags
 For internal use only. :) More...

Detailed Description

Definition at line 805 of file HAPI_Common.h.

Member Data Documentation

HAPI_Bool HAPI_CookOptions::clearErrorsAndWarnings

If this option is turned on, then we will recursively clear the errors and warnings (and messages) of all nodes before performing the cook.

Definition at line 840 of file HAPI_Common.h.

HAPI_Bool HAPI_CookOptions::cookTemplatedGeos

Decide whether to recursively cook all templated geos or not.

Definition at line 843 of file HAPI_Common.h.

float HAPI_CookOptions::curveRefineLOD

Controls the number of divisions per unit distance when refining a curve to linear. The default in Houdini is 8.0.

Definition at line 835 of file HAPI_Common.h.

int HAPI_CookOptions::extraFlags

For internal use only. :)

Definition at line 869 of file HAPI_Common.h.

HAPI_Bool HAPI_CookOptions::handleBoxPartTypes

Choose which special part types should be handled. Unhandled special part types will just be refined to HAPI_PARTTYPE_MESH.

Definition at line 865 of file HAPI_Common.h.

HAPI_Bool HAPI_CookOptions::handleSpherePartTypes

Definition at line 866 of file HAPI_Common.h.

int HAPI_CookOptions::maxVerticesPerPrimitive

For meshes only, this is enforced by convexing the mesh. Use -1 to avoid convexing at all and get some performance boost.

Definition at line 824 of file HAPI_Common.h.

HAPI_PackedPrimInstancingMode HAPI_CookOptions::packedPrimInstancingMode

Choose how you want the cook to handle packed primitives. The default is: HAPI_PACKEDPRIM_INSTANCING_MODE_DISABLED

Definition at line 861 of file HAPI_Common.h.

HAPI_Bool HAPI_CookOptions::refineCurveToLinear

For curves only. If this is set to true, then all curves will be refined to a linear curve and you can no longer access the original CVs. You can control the refinement detail via HAPI_CookOptions::curveRefineLOD. If it's false, the curve type (NURBS, Bezier etc) will be left as is.

Definition at line 831 of file HAPI_Common.h.

HAPI_Bool HAPI_CookOptions::splitGeosByGroup

Normally, geos are split into parts in two different ways. First it is split by group and within each group it is split by primitive type.

For example, if you have a geo with group1 covering half of the mesh and volume1 and group2 covering the other half of the mesh, all of curve1, and volume2 you will end up with 5 parts. First two parts will be for the half-mesh of group1 and volume1, and the last three will cover group2.

This toggle lets you disable the splitting by group and just have the geo be split by primitive type alone. By default, this is true and therefore geos will be split by group and primitive type. If set to false, geos will only be split by primitive type.

Definition at line 820 of file HAPI_Common.h.

HAPI_Bool HAPI_CookOptions::splitPointsByVertexAttributes

Decide whether to split points by vertex attributes. This takes all vertex attributes and tries to copy them to their respective points. If two vertices have any difference in their attribute values, the corresponding point is split into two points. This is repeated until all the vertex attributes have been copied to the points.

With this option enabled, you can reduce the total number of vertices on a game engine side as sharing of attributes (like UVs) is optimized. To make full use of this feature, you have to think of Houdini points as game engine vertices (sharable). With this option OFF (or before this feature existed) you had to map Houdini vertices to game engine vertices, to make sure all attribute values are accounted for.

Definition at line 857 of file HAPI_Common.h.

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