From e1bf674c16e3c8472b29574159c789cd3f0c64e0 Mon Sep 17 00:00:00 2001 From: Bryan Galdrikian Date: Fri, 24 Feb 2017 09:32:20 -0800 Subject: Updating to blast_source-windows@1.0.347-21749006 and blast_tools_and_samples-windows@1.0.347-21749006 with a new directory structure. NvBlast folder is gone, files have been moved to top level directory. README is changed to reflect this. --- docs/api_docs/files/NVIDIA.css | 580 +++++ docs/api_docs/files/_nv_blast_8h-source.html | 252 ++ docs/api_docs/files/_nv_blast_8h.html | 2408 ++++++++++++++++++++ .../api_docs/files/_nv_blast_assert_8h-source.html | 91 + docs/api_docs/files/_nv_blast_assert_8h.html | 173 ++ .../api_docs/files/_nv_blast_atomic_8h-source.html | 60 + docs/api_docs/files/_nv_blast_atomic_8h.html | 45 + .../api_docs/files/_nv_blast_d_link_8h-source.html | 309 +++ docs/api_docs/files/_nv_blast_d_link_8h.html | 52 + .../_nv_blast_ext_apex_import_tool_8h-source.html | 153 ++ .../files/_nv_blast_ext_apex_import_tool_8h.html | 58 + ...ast_ext_authoring_bond_generator_8h-source.html | 123 + .../_nv_blast_ext_authoring_bond_generator_8h.html | 52 + ..._ext_authoring_collision_builder_8h-source.html | 106 + ...v_blast_ext_authoring_collision_builder_8h.html | 51 + ...last_ext_authoring_fracture_tool_8h-source.html | 250 ++ .../_nv_blast_ext_authoring_fracture_tool_8h.html | 50 + .../_nv_blast_ext_authoring_mesh_8h-source.html | 105 + .../files/_nv_blast_ext_authoring_mesh_8h.html | 55 + .../_nv_blast_ext_authoring_types_8h-source.html | 138 ++ .../files/_nv_blast_ext_authoring_types_8h.html | 76 + .../_nv_blast_ext_damage_shaders_8h-source.html | 89 + .../files/_nv_blast_ext_damage_shaders_8h.html | 346 +++ .../_nv_blast_ext_data_converter_8h-source.html | 57 + .../files/_nv_blast_ext_data_converter_8h.html | 44 + ..._blast_ext_impact_damage_manager_8h-source.html | 116 + .../_nv_blast_ext_impact_damage_manager_8h.html | 51 + .../api_docs/files/_nv_blast_ext_px_8h-source.html | 50 + docs/api_docs/files/_nv_blast_ext_px_8h.html | 39 + .../files/_nv_blast_ext_px_actor_8h-source.html | 81 + docs/api_docs/files/_nv_blast_ext_px_actor_8h.html | 45 + .../files/_nv_blast_ext_px_asset_8h-source.html | 141 ++ docs/api_docs/files/_nv_blast_ext_px_asset_8h.html | 60 + .../files/_nv_blast_ext_px_family_8h-source.html | 149 ++ .../api_docs/files/_nv_blast_ext_px_family_8h.html | 51 + .../files/_nv_blast_ext_px_listener_8h-source.html | 66 + .../files/_nv_blast_ext_px_listener_8h.html | 42 + .../files/_nv_blast_ext_px_manager_8h-source.html | 144 ++ .../files/_nv_blast_ext_px_manager_8h.html | 55 + ...last_ext_serialization_interface_8h-source.html | 66 + .../_nv_blast_ext_serialization_interface_8h.html | 393 ++++ ..._ext_serialization_l_l_interface_8h-source.html | 71 + ...v_blast_ext_serialization_l_l_interface_8h.html | 248 ++ .../_nv_blast_ext_stress_solver_8h-source.html | 124 + .../files/_nv_blast_ext_stress_solver_8h.html | 47 + .../files/_nv_blast_ext_sync_8h-source.html | 161 ++ docs/api_docs/files/_nv_blast_ext_sync_8h.html | 60 + .../files/_nv_blast_fixed_array_8h-source.html | 133 ++ docs/api_docs/files/_nv_blast_fixed_array_8h.html | 44 + .../files/_nv_blast_fixed_bitmap_8h-source.html | 124 + docs/api_docs/files/_nv_blast_fixed_bitmap_8h.html | 45 + .../_nv_blast_fixed_bool_array_8h-source.html | 112 + .../files/_nv_blast_fixed_bool_array_8h.html | 45 + .../_nv_blast_fixed_priority_queue_8h-source.html | 191 ++ .../files/_nv_blast_fixed_priority_queue_8h.html | 46 + .../files/_nv_blast_geometry_8h-source.html | 150 ++ docs/api_docs/files/_nv_blast_geometry_8h.html | 49 + .../files/_nv_blast_include_windows_8h-source.html | 118 + .../files/_nv_blast_include_windows_8h.html | 684 ++++++ .../files/_nv_blast_index_fns_8h-source.html | 109 + docs/api_docs/files/_nv_blast_index_fns_8h.html | 54 + .../files/_nv_blast_iterator_base_8h-source.html | 145 ++ .../api_docs/files/_nv_blast_iterator_base_8h.html | 47 + docs/api_docs/files/_nv_blast_math_8h-source.html | 107 + docs/api_docs/files/_nv_blast_math_8h.html | 57 + .../api_docs/files/_nv_blast_memory_8h-source.html | 136 ++ docs/api_docs/files/_nv_blast_memory_8h.html | 221 ++ .../files/_nv_blast_preprocessor_8h-source.html | 55 + docs/api_docs/files/_nv_blast_preprocessor_8h.html | 154 ++ .../_nv_blast_preprocessor_internal_8h-source.html | 63 + .../files/_nv_blast_preprocessor_internal_8h.html | 85 + .../files/_nv_blast_profiler_8h-source.html | 64 + docs/api_docs/files/_nv_blast_profiler_8h.html | 109 + .../_nv_blast_profiler_internal_8h-source.html | 86 + .../files/_nv_blast_profiler_internal_8h.html | 148 ++ docs/api_docs/files/_nv_blast_time_8h-source.html | 135 ++ docs/api_docs/files/_nv_blast_time_8h.html | 43 + docs/api_docs/files/_nv_blast_tk_8h-source.html | 51 + docs/api_docs/files/_nv_blast_tk_8h.html | 40 + .../files/_nv_blast_tk_actor_8h-source.html | 110 + docs/api_docs/files/_nv_blast_tk_actor_8h.html | 44 + .../files/_nv_blast_tk_asset_8h-source.html | 90 + docs/api_docs/files/_nv_blast_tk_asset_8h.html | 47 + .../files/_nv_blast_tk_event_8h-source.html | 147 ++ docs/api_docs/files/_nv_blast_tk_event_8h.html | 56 + .../files/_nv_blast_tk_family_8h-source.html | 88 + docs/api_docs/files/_nv_blast_tk_family_8h.html | 43 + .../files/_nv_blast_tk_framework_8h-source.html | 198 ++ docs/api_docs/files/_nv_blast_tk_framework_8h.html | 115 + .../files/_nv_blast_tk_group_8h-source.html | 95 + docs/api_docs/files/_nv_blast_tk_group_8h.html | 49 + .../files/_nv_blast_tk_identifiable_8h-source.html | 73 + .../files/_nv_blast_tk_identifiable_8h.html | 44 + .../files/_nv_blast_tk_joint_8h-source.html | 70 + docs/api_docs/files/_nv_blast_tk_joint_8h.html | 46 + .../files/_nv_blast_tk_object_8h-source.html | 70 + docs/api_docs/files/_nv_blast_tk_object_8h.html | 42 + .../files/_nv_blast_tk_serializable_8h-source.html | 75 + .../files/_nv_blast_tk_serializable_8h.html | 47 + .../files/_nv_blast_tk_type_8h-source.html | 68 + docs/api_docs/files/_nv_blast_tk_type_8h.html | 43 + docs/api_docs/files/_nv_blast_types_8h-source.html | 323 +++ docs/api_docs/files/_nv_blast_types_8h.html | 165 ++ docs/api_docs/files/annotated.html | 144 ++ docs/api_docs/files/apex__importer_8txt.html | 32 + .../files/api__ext__users__guide_8txt.html | 32 + .../api_docs/files/api__hl__users__guide_8txt.html | 32 + .../api_docs/files/api__ll__users__guide_8txt.html | 32 + docs/api_docs/files/api__users__guide_8txt.html | 32 + docs/api_docs/files/authoring__tool_8txt.html | 32 + docs/api_docs/files/blast_logo.png | Bin 0 -> 2672 bytes ...apex_importer_1_1_apex_import_tool-members.html | 44 + ...ast_1_1_apex_importer_1_1_apex_import_tool.html | 513 +++++ ...1_1_blast_1_1_blast_bond_generator-members.html | 35 + ...lass_nv_1_1_blast_1_1_blast_bond_generator.html | 283 +++ ..._1_1_blast_1_1_convex_mesh_builder-members.html | 35 + ...class_nv_1_1_blast_1_1_convex_mesh_builder.html | 206 ++ .../class_nv_1_1_blast_1_1_d_list-members.html | 38 + .../files/class_nv_1_1_blast_1_1_d_list.html | 218 ++ ...ass_nv_1_1_blast_1_1_d_list_1_1_it-members.html | 38 + .../class_nv_1_1_blast_1_1_d_list_1_1_it.html | 187 ++ .../class_nv_1_1_blast_1_1_d_list_it-members.html | 37 + .../files/class_nv_1_1_blast_1_1_d_list_it.html | 133 ++ .../files/class_nv_1_1_blast_1_1_d_list_it.png | Bin 0 -> 674 bytes ...last_1_1_ext_impact_damage_manager-members.html | 36 + ...nv_1_1_blast_1_1_ext_impact_damage_manager.html | 270 +++ ...lass_nv_1_1_blast_1_1_ext_px_actor-members.html | 35 + .../files/class_nv_1_1_blast_1_1_ext_px_actor.html | 156 ++ ...lass_nv_1_1_blast_1_1_ext_px_asset-members.html | 41 + .../files/class_nv_1_1_blast_1_1_ext_px_asset.html | 350 +++ ...ass_nv_1_1_blast_1_1_ext_px_family-members.html | 47 + .../class_nv_1_1_blast_1_1_ext_px_family.html | 482 ++++ ...s_nv_1_1_blast_1_1_ext_px_listener-members.html | 32 + .../class_nv_1_1_blast_1_1_ext_px_listener.html | 120 + ...ss_nv_1_1_blast_1_1_ext_px_manager-members.html | 50 + .../class_nv_1_1_blast_1_1_ext_px_manager.html | 579 +++++ ...nv_1_1_blast_1_1_ext_stress_solver-members.html | 48 + .../class_nv_1_1_blast_1_1_ext_stress_solver.html | 476 ++++ .../class_nv_1_1_blast_1_1_ext_sync-members.html | 39 + .../files/class_nv_1_1_blast_1_1_ext_sync.html | 335 +++ .../files/class_nv_1_1_blast_1_1_ext_sync.png | Bin 0 -> 533 bytes ...class_nv_1_1_blast_1_1_fixed_array-members.html | 41 + .../files/class_nv_1_1_blast_1_1_fixed_array.html | 316 +++ ...lass_nv_1_1_blast_1_1_fixed_bitmap-members.html | 38 + .../files/class_nv_1_1_blast_1_1_fixed_bitmap.html | 225 ++ ..._nv_1_1_blast_1_1_fixed_bool_array-members.html | 37 + .../class_nv_1_1_blast_1_1_fixed_bool_array.html | 203 ++ ...1_1_blast_1_1_fixed_priority_queue-members.html | 41 + ...lass_nv_1_1_blast_1_1_fixed_priority_queue.html | 327 +++ ...ass_nv_1_1_blast_1_1_fracture_tool-members.html | 62 + .../class_nv_1_1_blast_1_1_fracture_tool.html | 966 ++++++++ ...lass_nv_1_1_blast_1_1_index_d_list-members.html | 38 + .../files/class_nv_1_1_blast_1_1_index_d_list.html | 327 +++ ...ass_nv_1_1_blast_1_1_iterator_base-members.html | 34 + .../class_nv_1_1_blast_1_1_iterator_base.html | 138 ++ .../class_nv_1_1_blast_1_1_l_list_it-members.html | 37 + .../files/class_nv_1_1_blast_1_1_l_list_it.html | 133 ++ .../files/class_nv_1_1_blast_1_1_l_list_it.png | Bin 0 -> 667 bytes .../files/class_nv_1_1_blast_1_1_mesh-members.html | 44 + .../files/class_nv_1_1_blast_1_1_mesh.html | 427 ++++ ..._1_blast_1_1_random_generator_base-members.html | 33 + ...ass_nv_1_1_blast_1_1_random_generator_base.html | 108 + .../files/class_nv_1_1_blast_1_1_time-members.html | 35 + .../files/class_nv_1_1_blast_1_1_time.html | 150 ++ .../class_nv_1_1_blast_1_1_tk_actor-members.html | 54 + .../files/class_nv_1_1_blast_1_1_tk_actor.html | 676 ++++++ .../files/class_nv_1_1_blast_1_1_tk_actor.png | Bin 0 -> 459 bytes .../class_nv_1_1_blast_1_1_tk_asset-members.html | 49 + .../files/class_nv_1_1_blast_1_1_tk_asset.html | 291 +++ .../files/class_nv_1_1_blast_1_1_tk_asset.png | Bin 0 -> 788 bytes ...nv_1_1_blast_1_1_tk_event_listener-members.html | 31 + .../class_nv_1_1_blast_1_1_tk_event_listener.html | 92 + .../class_nv_1_1_blast_1_1_tk_event_listener.png | Bin 0 -> 542 bytes .../class_nv_1_1_blast_1_1_tk_family-members.html | 49 + .../files/class_nv_1_1_blast_1_1_tk_family.html | 342 +++ .../files/class_nv_1_1_blast_1_1_tk_family.png | Bin 0 -> 796 bytes ...lass_nv_1_1_blast_1_1_tk_framework-members.html | 47 + .../files/class_nv_1_1_blast_1_1_tk_framework.html | 598 +++++ .../class_nv_1_1_blast_1_1_tk_group-members.html | 43 + .../files/class_nv_1_1_blast_1_1_tk_group.html | 233 ++ .../files/class_nv_1_1_blast_1_1_tk_group.png | Bin 0 -> 628 bytes ...s_nv_1_1_blast_1_1_tk_identifiable-members.html | 37 + .../class_nv_1_1_blast_1_1_tk_identifiable.html | 124 + .../class_nv_1_1_blast_1_1_tk_identifiable.png | Bin 0 -> 1308 bytes .../class_nv_1_1_blast_1_1_tk_joint-members.html | 35 + .../files/class_nv_1_1_blast_1_1_tk_joint.html | 77 + .../files/class_nv_1_1_blast_1_1_tk_joint.png | Bin 0 -> 450 bytes .../class_nv_1_1_blast_1_1_tk_object-members.html | 34 + .../files/class_nv_1_1_blast_1_1_tk_object.html | 142 ++ .../files/class_nv_1_1_blast_1_1_tk_object.png | Bin 0 -> 1566 bytes ...s_nv_1_1_blast_1_1_tk_serializable-members.html | 39 + .../class_nv_1_1_blast_1_1_tk_serializable.html | 103 + .../class_nv_1_1_blast_1_1_tk_serializable.png | Bin 0 -> 1165 bytes .../class_nv_1_1_blast_1_1_tk_type-members.html | 33 + .../files/class_nv_1_1_blast_1_1_tk_type.html | 118 + ..._blast_1_1_voronoi_sites_generator-members.html | 42 + ...s_nv_1_1_blast_1_1_voronoi_sites_generator.html | 452 ++++ docs/api_docs/files/classes.html | 47 + docs/api_docs/files/copyrights_8txt.html | 32 + docs/api_docs/files/data__converter_8txt.html | 32 + docs/api_docs/files/definitions_8txt.html | 32 + docs/api_docs/files/doxygen.png | Bin 0 -> 1281 bytes docs/api_docs/files/ext__authoring_8txt.html | 32 + docs/api_docs/files/ext__converterll_8txt.html | 32 + docs/api_docs/files/ext__import_8txt.html | 32 + docs/api_docs/files/ext__materials_8txt.html | 32 + docs/api_docs/files/ext__physx_8txt.html | 32 + docs/api_docs/files/ext__serialization_8txt.html | 32 + docs/api_docs/files/files.html | 82 + docs/api_docs/files/ftv2blank.png | Bin 0 -> 174 bytes docs/api_docs/files/ftv2doc.png | Bin 0 -> 255 bytes docs/api_docs/files/ftv2folderclosed.png | Bin 0 -> 259 bytes docs/api_docs/files/ftv2folderopen.png | Bin 0 -> 261 bytes docs/api_docs/files/ftv2lastnode.png | Bin 0 -> 233 bytes docs/api_docs/files/ftv2link.png | Bin 0 -> 358 bytes docs/api_docs/files/ftv2mlastnode.png | Bin 0 -> 160 bytes docs/api_docs/files/ftv2mnode.png | Bin 0 -> 194 bytes docs/api_docs/files/ftv2node.png | Bin 0 -> 235 bytes docs/api_docs/files/ftv2plastnode.png | Bin 0 -> 165 bytes docs/api_docs/files/ftv2pnode.png | Bin 0 -> 200 bytes docs/api_docs/files/ftv2vertline.png | Bin 0 -> 229 bytes docs/api_docs/files/functions.html | 137 ++ docs/api_docs/files/functions_0x62.html | 119 + docs/api_docs/files/functions_0x63.html | 156 ++ docs/api_docs/files/functions_0x64.html | 116 + docs/api_docs/files/functions_0x65.html | 115 + docs/api_docs/files/functions_0x66.html | 147 ++ docs/api_docs/files/functions_0x67.html | 303 +++ docs/api_docs/files/functions_0x68.html | 78 + docs/api_docs/files/functions_0x69.html | 131 ++ docs/api_docs/files/functions_0x6a.html | 77 + docs/api_docs/files/functions_0x6c.html | 83 + docs/api_docs/files/functions_0x6d.html | 122 + docs/api_docs/files/functions_0x6e.html | 98 + docs/api_docs/files/functions_0x6f.html | 104 + docs/api_docs/files/functions_0x70.html | 117 + docs/api_docs/files/functions_0x71.html | 75 + docs/api_docs/files/functions_0x72.html | 124 + docs/api_docs/files/functions_0x73.html | 165 ++ docs/api_docs/files/functions_0x74.html | 117 + docs/api_docs/files/functions_0x75.html | 106 + docs/api_docs/files/functions_0x76.html | 87 + docs/api_docs/files/functions_0x77.html | 77 + docs/api_docs/files/functions_0x78.html | 75 + docs/api_docs/files/functions_0x79.html | 75 + docs/api_docs/files/functions_0x7a.html | 75 + docs/api_docs/files/functions_0x7e.html | 91 + docs/api_docs/files/functions_enum.html | 71 + docs/api_docs/files/functions_eval.html | 193 ++ docs/api_docs/files/functions_func.html | 90 + docs/api_docs/files/functions_func_0x62.html | 75 + docs/api_docs/files/functions_func_0x63.html | 98 + docs/api_docs/files/functions_func_0x64.html | 82 + docs/api_docs/files/functions_func_0x65.html | 79 + docs/api_docs/files/functions_func_0x66.html | 90 + docs/api_docs/files/functions_func_0x67.html | 280 +++ docs/api_docs/files/functions_func_0x69.html | 99 + docs/api_docs/files/functions_func_0x6c.html | 69 + docs/api_docs/files/functions_func_0x6d.html | 67 + docs/api_docs/files/functions_func_0x6f.html | 94 + docs/api_docs/files/functions_func_0x70.html | 81 + docs/api_docs/files/functions_func_0x72.html | 110 + docs/api_docs/files/functions_func_0x73.html | 119 + docs/api_docs/files/functions_func_0x74.html | 86 + docs/api_docs/files/functions_func_0x75.html | 72 + docs/api_docs/files/functions_func_0x76.html | 71 + docs/api_docs/files/functions_func_0x7e.html | 83 + docs/api_docs/files/functions_rela.html | 45 + docs/api_docs/files/functions_vars.html | 104 + docs/api_docs/files/functions_vars_0x62.html | 101 + docs/api_docs/files/functions_vars_0x63.html | 110 + docs/api_docs/files/functions_vars_0x64.html | 90 + docs/api_docs/files/functions_vars_0x65.html | 85 + docs/api_docs/files/functions_vars_0x66.html | 98 + docs/api_docs/files/functions_vars_0x67.html | 84 + docs/api_docs/files/functions_vars_0x68.html | 74 + docs/api_docs/files/functions_vars_0x69.html | 88 + docs/api_docs/files/functions_vars_0x6a.html | 73 + docs/api_docs/files/functions_vars_0x6d.html | 114 + docs/api_docs/files/functions_vars_0x6e.html | 93 + docs/api_docs/files/functions_vars_0x6f.html | 73 + docs/api_docs/files/functions_vars_0x70.html | 97 + docs/api_docs/files/functions_vars_0x71.html | 73 + docs/api_docs/files/functions_vars_0x72.html | 75 + docs/api_docs/files/functions_vars_0x73.html | 98 + docs/api_docs/files/functions_vars_0x74.html | 87 + docs/api_docs/files/functions_vars_0x75.html | 95 + docs/api_docs/files/functions_vars_0x76.html | 76 + docs/api_docs/files/functions_vars_0x77.html | 73 + docs/api_docs/files/functions_vars_0x78.html | 73 + docs/api_docs/files/functions_vars_0x79.html | 73 + docs/api_docs/files/functions_vars_0x7a.html | 73 + docs/api_docs/files/globals.html | 352 +++ docs/api_docs/files/globals_defs.html | 174 ++ docs/api_docs/files/globals_func.html | 218 ++ docs/api_docs/files/globals_type.html | 47 + docs/api_docs/files/hierarchy.html | 172 ++ docs/api_docs/files/index.html | 11 + docs/api_docs/files/introduction_8txt.html | 32 + docs/api_docs/files/main.html | 45 + docs/api_docs/files/namespace_nv.html | 35 + docs/api_docs/files/namespace_nv_1_1_blast.html | 1054 +++++++++ .../namespace_nv_1_1_blast_1_1_apex_importer.html | 39 + .../files/namespace_nv_1_1_blast_1_1_vec_math.html | 265 +++ docs/api_docs/files/namespacemembers.html | 88 + docs/api_docs/files/namespacemembers_func.html | 84 + docs/api_docs/files/namespacemembers_type.html | 44 + docs/api_docs/files/namespacenvidia.html | 35 + docs/api_docs/files/namespacenvidia_1_1apex.html | 34 + docs/api_docs/files/namespacephysx.html | 35 + ...namespacephysx_1_1general___px_i_o_stream2.html | 34 + docs/api_docs/files/namespaces.html | 39 + docs/api_docs/files/pageauthoring.html | 107 + docs/api_docs/files/pageconverter.html | 62 + docs/api_docs/files/pagecopyrights.html | 57 + docs/api_docs/files/pagedefinitions.html | 33 + docs/api_docs/files/pageextapeximport.html | 40 + docs/api_docs/files/pageextapi.html | 40 + docs/api_docs/files/pageextauthoring.html | 44 + docs/api_docs/files/pageextconverterll.html | 51 + docs/api_docs/files/pageextphysx.html | 175 ++ docs/api_docs/files/pageextserialization.html | 31 + docs/api_docs/files/pageextshaders.html | 48 + docs/api_docs/files/pagehlapi.html | 481 ++++ docs/api_docs/files/pageimporter.html | 95 + docs/api_docs/files/pageintroduction.html | 48 + docs/api_docs/files/pagellapi.html | 266 +++ docs/api_docs/files/pagereleasenotes.html | 102 + docs/api_docs/files/pages.html | 35 + docs/api_docs/files/pagesampleassetviewer.html | 100 + docs/api_docs/files/pagesamples.html | 32 + docs/api_docs/files/pagetools.html | 43 + docs/api_docs/files/pageusersguide.html | 39 + docs/api_docs/files/release__notes_8txt.html | 32 + .../api_docs/files/sample__asset__viewer_8txt.html | 32 + docs/api_docs/files/samples_8txt.html | 32 + ..._importer_1_1_apex_importer_config-members.html | 37 + ...1_1_apex_importer_1_1_apex_importer_config.html | 133 ++ ...1_blast_1_1_bond_generation_config-members.html | 34 + ...ct_nv_1_1_blast_1_1_bond_generation_config.html | 85 + ...struct_nv_1_1_blast_1_1_chunk_info-members.html | 34 + .../files/struct_nv_1_1_blast_1_1_chunk_info.html | 110 + .../struct_nv_1_1_blast_1_1_collision_hull.html | 42 + ..._1_collision_hull_1_1_hull_polygon-members.html | 33 + ..._blast_1_1_collision_hull_1_1_hull_polygon.html | 94 + .../struct_nv_1_1_blast_1_1_d_link-members.html | 34 + .../files/struct_nv_1_1_blast_1_1_d_link.html | 125 + .../struct_nv_1_1_blast_1_1_edge-members.html | 35 + .../files/struct_nv_1_1_blast_1_1_edge.html | 154 ++ ..._1_1_blast_1_1_ext_impact_settings-members.html | 35 + ...truct_nv_1_1_blast_1_1_ext_impact_settings.html | 146 ++ ...ast_1_1_ext_px_actor_desc_template-members.html | 31 + ...v_1_1_blast_1_1_ext_px_actor_desc_template.html | 64 + ...nv_1_1_blast_1_1_ext_px_asset_desc-members.html | 40 + .../struct_nv_1_1_blast_1_1_ext_px_asset_desc.html | 80 + .../struct_nv_1_1_blast_1_1_ext_px_asset_desc.png | Bin 0 -> 721 bytes ...1_ext_px_asset_desc_1_1_chunk_desc-members.html | 33 + ...blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html | 104 + ...xt_px_asset_desc_1_1_subchunk_desc-members.html | 32 + ...st_1_1_ext_px_asset_desc_1_1_subchunk_desc.html | 84 + ...ruct_nv_1_1_blast_1_1_ext_px_chunk-members.html | 33 + .../struct_nv_1_1_blast_1_1_ext_px_chunk.html | 104 + ...v_1_1_blast_1_1_ext_px_family_desc-members.html | 33 + ...struct_nv_1_1_blast_1_1_ext_px_family_desc.html | 104 + ...ast_1_1_ext_px_shape_desc_template-members.html | 35 + ...v_1_1_blast_1_1_ext_px_shape_desc_template.html | 146 ++ ..._1_blast_1_1_ext_px_spawn_settings-members.html | 33 + ...uct_nv_1_1_blast_1_1_ext_px_spawn_settings.html | 104 + ...t_nv_1_1_blast_1_1_ext_px_subchunk-members.html | 32 + .../struct_nv_1_1_blast_1_1_ext_px_subchunk.html | 84 + ...ast_1_1_ext_stress_solver_settings-members.html | 35 + ...v_1_1_blast_1_1_ext_stress_solver_settings.html | 149 ++ ...ct_nv_1_1_blast_1_1_ext_sync_event-members.html | 38 + .../struct_nv_1_1_blast_1_1_ext_sync_event.html | 234 ++ .../struct_nv_1_1_blast_1_1_ext_sync_event.png | Bin 0 -> 3721 bytes ...ast_1_1_ext_sync_event_family_sync-members.html | 41 + ...v_1_1_blast_1_1_ext_sync_event_family_sync.html | 73 + ...nv_1_1_blast_1_1_ext_sync_event_family_sync.png | Bin 0 -> 1497 bytes ..._blast_1_1_ext_sync_event_fracture-members.html | 42 + ...t_nv_1_1_blast_1_1_ext_sync_event_fracture.html | 95 + ...ct_nv_1_1_blast_1_1_ext_sync_event_fracture.png | Bin 0 -> 1271 bytes ..._blast_1_1_ext_sync_event_instance-members.html | 40 + ...t_nv_1_1_blast_1_1_ext_sync_event_instance.html | 127 ++ ...ct_nv_1_1_blast_1_1_ext_sync_event_instance.png | Bin 0 -> 792 bytes ...st_1_1_ext_sync_event_physics_sync-members.html | 41 + ..._1_1_blast_1_1_ext_sync_event_physics_sync.html | 76 + ...v_1_1_blast_1_1_ext_sync_event_physics_sync.png | Bin 0 -> 1571 bytes ..._event_physics_sync_1_1_actor_data-members.html | 32 + ...ext_sync_event_physics_sync_1_1_actor_data.html | 82 + ..._1_1_blast_1_1_ext_sync_event_type-members.html | 35 + ...truct_nv_1_1_blast_1_1_ext_sync_event_type.html | 70 + .../struct_nv_1_1_blast_1_1_facet-members.html | 34 + .../files/struct_nv_1_1_blast_1_1_facet.html | 133 ++ ...ruct_nv_1_1_blast_1_1_index_d_link-members.html | 31 + .../struct_nv_1_1_blast_1_1_index_d_link.html | 64 + .../struct_nv_1_1_blast_1_1_less-members.html | 31 + .../files/struct_nv_1_1_blast_1_1_less.html | 84 + ..._1_1_blast_1_1_plane_chunk_indexer-members.html | 34 + ...truct_nv_1_1_blast_1_1_plane_chunk_indexer.html | 132 ++ ..._1_blast_1_1_slicing_configuration-members.html | 41 + ...uct_nv_1_1_blast_1_1_slicing_configuration.html | 241 ++ ...uct_nv_1_1_blast_1_1_tk_actor_data-members.html | 33 + .../struct_nv_1_1_blast_1_1_tk_actor_data.html | 103 + ...uct_nv_1_1_blast_1_1_tk_actor_desc-members.html | 36 + .../struct_nv_1_1_blast_1_1_tk_actor_desc.html | 97 + .../struct_nv_1_1_blast_1_1_tk_actor_desc.png | Bin 0 -> 499 bytes ...uct_nv_1_1_blast_1_1_tk_asset_desc-members.html | 39 + .../struct_nv_1_1_blast_1_1_tk_asset_desc.html | 125 + .../struct_nv_1_1_blast_1_1_tk_asset_desc.png | Bin 0 -> 713 bytes ..._1_1_blast_1_1_tk_asset_joint_desc-members.html | 32 + ...truct_nv_1_1_blast_1_1_tk_asset_joint_desc.html | 83 + .../struct_nv_1_1_blast_1_1_tk_event-members.html | 39 + .../files/struct_nv_1_1_blast_1_1_tk_event.html | 142 ++ ...1_1_blast_1_1_tk_fracture_commands-members.html | 33 + ...ruct_nv_1_1_blast_1_1_tk_fracture_commands.html | 110 + ...v_1_1_blast_1_1_tk_fracture_events-members.html | 37 + ...struct_nv_1_1_blast_1_1_tk_fracture_events.html | 190 ++ ...nv_1_1_blast_1_1_tk_framework_desc-members.html | 32 + .../struct_nv_1_1_blast_1_1_tk_framework_desc.html | 84 + ...uct_nv_1_1_blast_1_1_tk_group_desc-members.html | 31 + .../struct_nv_1_1_blast_1_1_tk_group_desc.html | 64 + ...ct_nv_1_1_blast_1_1_tk_group_stats-members.html | 33 + .../struct_nv_1_1_blast_1_1_tk_group_stats.html | 104 + ...uct_nv_1_1_blast_1_1_tk_joint_data-members.html | 33 + .../struct_nv_1_1_blast_1_1_tk_joint_data.html | 103 + ...uct_nv_1_1_blast_1_1_tk_joint_desc-members.html | 33 + .../struct_nv_1_1_blast_1_1_tk_joint_desc.html | 103 + ..._1_blast_1_1_tk_joint_update_event-members.html | 37 + ...uct_nv_1_1_blast_1_1_tk_joint_update_event.html | 135 ++ ...ct_nv_1_1_blast_1_1_tk_split_event-members.html | 34 + .../struct_nv_1_1_blast_1_1_tk_split_event.html | 130 ++ ...uct_nv_1_1_blast_1_1_tk_type_index-members.html | 35 + .../struct_nv_1_1_blast_1_1_tk_type_index.html | 70 + .../struct_nv_1_1_blast_1_1_triangle-members.html | 37 + .../files/struct_nv_1_1_blast_1_1_triangle.html | 193 ++ ..._nv_1_1_blast_1_1_triangle_indexed-members.html | 38 + .../struct_nv_1_1_blast_1_1_triangle_indexed.html | 234 ++ .../struct_nv_1_1_blast_1_1_vertex-members.html | 33 + .../files/struct_nv_1_1_blast_1_1_vertex.html | 94 + docs/api_docs/files/struct_nv_blast_actor.html | 38 + .../files/struct_nv_blast_actor_desc-members.html | 34 + .../api_docs/files/struct_nv_blast_actor_desc.html | 119 + docs/api_docs/files/struct_nv_blast_actor_desc.png | Bin 0 -> 503 bytes .../struct_nv_blast_actor_split_event-members.html | 32 + .../files/struct_nv_blast_actor_split_event.html | 81 + docs/api_docs/files/struct_nv_blast_asset.html | 40 + .../struct_nv_blast_asset_data_format-members.html | 34 + .../files/struct_nv_blast_asset_data_format.html | 66 + .../files/struct_nv_blast_asset_desc-members.html | 34 + .../api_docs/files/struct_nv_blast_asset_desc.html | 121 + docs/api_docs/files/struct_nv_blast_asset_desc.png | Bin 0 -> 731 bytes .../files/struct_nv_blast_bond-members.html | 34 + docs/api_docs/files/struct_nv_blast_bond.html | 109 + .../files/struct_nv_blast_bond_desc-members.html | 32 + docs/api_docs/files/struct_nv_blast_bond_desc.html | 75 + ...struct_nv_blast_bond_fracture_data-members.html | 34 + .../files/struct_nv_blast_bond_fracture_data.html | 123 + .../files/struct_nv_blast_chunk-members.html | 36 + docs/api_docs/files/struct_nv_blast_chunk.html | 145 ++ .../files/struct_nv_blast_chunk_desc-members.html | 38 + .../api_docs/files/struct_nv_blast_chunk_desc.html | 155 ++ ...truct_nv_blast_chunk_fracture_data-members.html | 33 + .../files/struct_nv_blast_chunk_fracture_data.html | 103 + .../struct_nv_blast_damage_program-members.html | 32 + .../files/struct_nv_blast_damage_program.html | 78 + .../files/struct_nv_blast_data_block-members.html | 38 + .../api_docs/files/struct_nv_blast_data_block.html | 137 ++ .../struct_nv_blast_ext_material-members.html | 35 + .../files/struct_nv_blast_ext_material.html | 142 ++ ...ct_nv_blast_ext_radial_damage_desc-members.html | 34 + .../struct_nv_blast_ext_radial_damage_desc.html | 121 + ...uct_nv_blast_ext_shear_damage_desc-members.html | 32 + .../struct_nv_blast_ext_shear_damage_desc.html | 81 + docs/api_docs/files/struct_nv_blast_family.html | 38 + ...struct_nv_blast_family_data_format-members.html | 34 + .../files/struct_nv_blast_family_data_format.html | 66 + .../struct_nv_blast_fracture_buffers-members.html | 34 + .../files/struct_nv_blast_fracture_buffers.html | 123 + ...struct_nv_blast_graph_shader_actor-members.html | 38 + .../files/struct_nv_blast_graph_shader_actor.html | 201 ++ .../files/struct_nv_blast_i_d-members.html | 31 + docs/api_docs/files/struct_nv_blast_i_d.html | 58 + .../files/struct_nv_blast_message-members.html | 35 + docs/api_docs/files/struct_nv_blast_message.html | 68 + .../struct_nv_blast_profiler_detail-members.html | 34 + .../files/struct_nv_blast_profiler_detail.html | 65 + .../struct_nv_blast_program_params-members.html | 33 + .../files/struct_nv_blast_program_params.html | 104 + ...uct_nv_blast_subgraph_shader_actor-members.html | 32 + .../struct_nv_blast_subgraph_shader_actor.html | 81 + .../struct_nv_blast_support_graph-members.html | 35 + .../files/struct_nv_blast_support_graph.html | 134 ++ .../files/struct_nv_blast_timers-members.html | 35 + docs/api_docs/files/struct_nv_blast_timers.html | 142 ++ docs/api_docs/files/tab_b.gif | Bin 0 -> 35 bytes docs/api_docs/files/tab_l.gif | Bin 0 -> 706 bytes docs/api_docs/files/tab_r.gif | Bin 0 -> 2585 bytes docs/api_docs/files/tabs.css | 105 + docs/api_docs/files/tools_8txt.html | 32 + docs/api_docs/files/tree.html | 424 ++++ docs/api_docs/index.html | 4 + 501 files changed, 50227 insertions(+) create mode 100644 docs/api_docs/files/NVIDIA.css create mode 100644 docs/api_docs/files/_nv_blast_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_8h.html create mode 100644 docs/api_docs/files/_nv_blast_assert_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_assert_8h.html create mode 100644 docs/api_docs/files/_nv_blast_atomic_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_atomic_8h.html create mode 100644 docs/api_docs/files/_nv_blast_d_link_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_d_link_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_apex_import_tool_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_apex_import_tool_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_authoring_bond_generator_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_authoring_bond_generator_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_authoring_collision_builder_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_authoring_collision_builder_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_authoring_mesh_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_authoring_mesh_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_authoring_types_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_authoring_types_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_damage_shaders_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_damage_shaders_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_data_converter_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_data_converter_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_impact_damage_manager_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_impact_damage_manager_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_actor_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_actor_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_asset_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_asset_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_family_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_family_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_listener_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_listener_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_manager_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_px_manager_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_serialization_interface_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_serialization_interface_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_serialization_l_l_interface_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_serialization_l_l_interface_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_stress_solver_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_stress_solver_8h.html create mode 100644 docs/api_docs/files/_nv_blast_ext_sync_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_ext_sync_8h.html create mode 100644 docs/api_docs/files/_nv_blast_fixed_array_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_fixed_array_8h.html create mode 100644 docs/api_docs/files/_nv_blast_fixed_bitmap_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_fixed_bitmap_8h.html create mode 100644 docs/api_docs/files/_nv_blast_fixed_bool_array_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_fixed_bool_array_8h.html create mode 100644 docs/api_docs/files/_nv_blast_fixed_priority_queue_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_fixed_priority_queue_8h.html create mode 100644 docs/api_docs/files/_nv_blast_geometry_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_geometry_8h.html create mode 100644 docs/api_docs/files/_nv_blast_include_windows_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_include_windows_8h.html create mode 100644 docs/api_docs/files/_nv_blast_index_fns_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_index_fns_8h.html create mode 100644 docs/api_docs/files/_nv_blast_iterator_base_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_iterator_base_8h.html create mode 100644 docs/api_docs/files/_nv_blast_math_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_math_8h.html create mode 100644 docs/api_docs/files/_nv_blast_memory_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_memory_8h.html create mode 100644 docs/api_docs/files/_nv_blast_preprocessor_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_preprocessor_8h.html create mode 100644 docs/api_docs/files/_nv_blast_preprocessor_internal_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_preprocessor_internal_8h.html create mode 100644 docs/api_docs/files/_nv_blast_profiler_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_profiler_8h.html create mode 100644 docs/api_docs/files/_nv_blast_profiler_internal_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_profiler_internal_8h.html create mode 100644 docs/api_docs/files/_nv_blast_time_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_time_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_actor_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_actor_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_asset_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_asset_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_event_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_event_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_family_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_family_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_framework_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_framework_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_group_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_group_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_identifiable_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_identifiable_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_joint_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_joint_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_object_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_object_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_serializable_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_serializable_8h.html create mode 100644 docs/api_docs/files/_nv_blast_tk_type_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_tk_type_8h.html create mode 100644 docs/api_docs/files/_nv_blast_types_8h-source.html create mode 100644 docs/api_docs/files/_nv_blast_types_8h.html create mode 100644 docs/api_docs/files/annotated.html create mode 100644 docs/api_docs/files/apex__importer_8txt.html create mode 100644 docs/api_docs/files/api__ext__users__guide_8txt.html create mode 100644 docs/api_docs/files/api__hl__users__guide_8txt.html create mode 100644 docs/api_docs/files/api__ll__users__guide_8txt.html create mode 100644 docs/api_docs/files/api__users__guide_8txt.html create mode 100644 docs/api_docs/files/authoring__tool_8txt.html create mode 100644 docs/api_docs/files/blast_logo.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_d_list-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_d_list.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_impact_damage_manager-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_impact_damage_manager.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_actor-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_actor.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_asset-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_asset.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_family-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_family.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_listener-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_listener.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_manager-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_manager.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_mesh-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_mesh.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_random_generator_base-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_random_generator_base.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_time-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_time.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_framework-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_framework.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable.png create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_type-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_tk_type.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator-members.html create mode 100644 docs/api_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator.html create mode 100644 docs/api_docs/files/classes.html create mode 100644 docs/api_docs/files/copyrights_8txt.html create mode 100644 docs/api_docs/files/data__converter_8txt.html create mode 100644 docs/api_docs/files/definitions_8txt.html create mode 100644 docs/api_docs/files/doxygen.png create mode 100644 docs/api_docs/files/ext__authoring_8txt.html create mode 100644 docs/api_docs/files/ext__converterll_8txt.html create mode 100644 docs/api_docs/files/ext__import_8txt.html create mode 100644 docs/api_docs/files/ext__materials_8txt.html create mode 100644 docs/api_docs/files/ext__physx_8txt.html create mode 100644 docs/api_docs/files/ext__serialization_8txt.html create mode 100644 docs/api_docs/files/files.html create mode 100644 docs/api_docs/files/ftv2blank.png create mode 100644 docs/api_docs/files/ftv2doc.png create mode 100644 docs/api_docs/files/ftv2folderclosed.png create mode 100644 docs/api_docs/files/ftv2folderopen.png create mode 100644 docs/api_docs/files/ftv2lastnode.png create mode 100644 docs/api_docs/files/ftv2link.png create mode 100644 docs/api_docs/files/ftv2mlastnode.png create mode 100644 docs/api_docs/files/ftv2mnode.png create mode 100644 docs/api_docs/files/ftv2node.png create mode 100644 docs/api_docs/files/ftv2plastnode.png create mode 100644 docs/api_docs/files/ftv2pnode.png create mode 100644 docs/api_docs/files/ftv2vertline.png create mode 100644 docs/api_docs/files/functions.html create mode 100644 docs/api_docs/files/functions_0x62.html create mode 100644 docs/api_docs/files/functions_0x63.html create mode 100644 docs/api_docs/files/functions_0x64.html create mode 100644 docs/api_docs/files/functions_0x65.html create mode 100644 docs/api_docs/files/functions_0x66.html create mode 100644 docs/api_docs/files/functions_0x67.html create mode 100644 docs/api_docs/files/functions_0x68.html create mode 100644 docs/api_docs/files/functions_0x69.html create mode 100644 docs/api_docs/files/functions_0x6a.html create mode 100644 docs/api_docs/files/functions_0x6c.html create mode 100644 docs/api_docs/files/functions_0x6d.html create mode 100644 docs/api_docs/files/functions_0x6e.html create mode 100644 docs/api_docs/files/functions_0x6f.html create mode 100644 docs/api_docs/files/functions_0x70.html create mode 100644 docs/api_docs/files/functions_0x71.html create mode 100644 docs/api_docs/files/functions_0x72.html create mode 100644 docs/api_docs/files/functions_0x73.html create mode 100644 docs/api_docs/files/functions_0x74.html create mode 100644 docs/api_docs/files/functions_0x75.html create mode 100644 docs/api_docs/files/functions_0x76.html create mode 100644 docs/api_docs/files/functions_0x77.html create mode 100644 docs/api_docs/files/functions_0x78.html create mode 100644 docs/api_docs/files/functions_0x79.html create mode 100644 docs/api_docs/files/functions_0x7a.html create mode 100644 docs/api_docs/files/functions_0x7e.html create mode 100644 docs/api_docs/files/functions_enum.html create mode 100644 docs/api_docs/files/functions_eval.html create mode 100644 docs/api_docs/files/functions_func.html create mode 100644 docs/api_docs/files/functions_func_0x62.html create mode 100644 docs/api_docs/files/functions_func_0x63.html create mode 100644 docs/api_docs/files/functions_func_0x64.html create mode 100644 docs/api_docs/files/functions_func_0x65.html create mode 100644 docs/api_docs/files/functions_func_0x66.html create mode 100644 docs/api_docs/files/functions_func_0x67.html create mode 100644 docs/api_docs/files/functions_func_0x69.html create mode 100644 docs/api_docs/files/functions_func_0x6c.html create mode 100644 docs/api_docs/files/functions_func_0x6d.html create mode 100644 docs/api_docs/files/functions_func_0x6f.html create mode 100644 docs/api_docs/files/functions_func_0x70.html create mode 100644 docs/api_docs/files/functions_func_0x72.html create mode 100644 docs/api_docs/files/functions_func_0x73.html create mode 100644 docs/api_docs/files/functions_func_0x74.html create mode 100644 docs/api_docs/files/functions_func_0x75.html create mode 100644 docs/api_docs/files/functions_func_0x76.html create mode 100644 docs/api_docs/files/functions_func_0x7e.html create mode 100644 docs/api_docs/files/functions_rela.html create mode 100644 docs/api_docs/files/functions_vars.html create mode 100644 docs/api_docs/files/functions_vars_0x62.html create mode 100644 docs/api_docs/files/functions_vars_0x63.html create mode 100644 docs/api_docs/files/functions_vars_0x64.html create mode 100644 docs/api_docs/files/functions_vars_0x65.html create mode 100644 docs/api_docs/files/functions_vars_0x66.html create mode 100644 docs/api_docs/files/functions_vars_0x67.html create mode 100644 docs/api_docs/files/functions_vars_0x68.html create mode 100644 docs/api_docs/files/functions_vars_0x69.html create mode 100644 docs/api_docs/files/functions_vars_0x6a.html create mode 100644 docs/api_docs/files/functions_vars_0x6d.html create mode 100644 docs/api_docs/files/functions_vars_0x6e.html create mode 100644 docs/api_docs/files/functions_vars_0x6f.html create mode 100644 docs/api_docs/files/functions_vars_0x70.html create mode 100644 docs/api_docs/files/functions_vars_0x71.html create mode 100644 docs/api_docs/files/functions_vars_0x72.html create mode 100644 docs/api_docs/files/functions_vars_0x73.html create mode 100644 docs/api_docs/files/functions_vars_0x74.html create mode 100644 docs/api_docs/files/functions_vars_0x75.html create mode 100644 docs/api_docs/files/functions_vars_0x76.html create mode 100644 docs/api_docs/files/functions_vars_0x77.html create mode 100644 docs/api_docs/files/functions_vars_0x78.html create mode 100644 docs/api_docs/files/functions_vars_0x79.html create mode 100644 docs/api_docs/files/functions_vars_0x7a.html create mode 100644 docs/api_docs/files/globals.html create mode 100644 docs/api_docs/files/globals_defs.html create mode 100644 docs/api_docs/files/globals_func.html create mode 100644 docs/api_docs/files/globals_type.html create mode 100644 docs/api_docs/files/hierarchy.html create mode 100644 docs/api_docs/files/index.html create mode 100644 docs/api_docs/files/introduction_8txt.html create mode 100644 docs/api_docs/files/main.html create mode 100644 docs/api_docs/files/namespace_nv.html create mode 100644 docs/api_docs/files/namespace_nv_1_1_blast.html create mode 100644 docs/api_docs/files/namespace_nv_1_1_blast_1_1_apex_importer.html create mode 100644 docs/api_docs/files/namespace_nv_1_1_blast_1_1_vec_math.html create mode 100644 docs/api_docs/files/namespacemembers.html create mode 100644 docs/api_docs/files/namespacemembers_func.html create mode 100644 docs/api_docs/files/namespacemembers_type.html create mode 100644 docs/api_docs/files/namespacenvidia.html create mode 100644 docs/api_docs/files/namespacenvidia_1_1apex.html create mode 100644 docs/api_docs/files/namespacephysx.html create mode 100644 docs/api_docs/files/namespacephysx_1_1general___px_i_o_stream2.html create mode 100644 docs/api_docs/files/namespaces.html create mode 100644 docs/api_docs/files/pageauthoring.html create mode 100644 docs/api_docs/files/pageconverter.html create mode 100644 docs/api_docs/files/pagecopyrights.html create mode 100644 docs/api_docs/files/pagedefinitions.html create mode 100644 docs/api_docs/files/pageextapeximport.html create mode 100644 docs/api_docs/files/pageextapi.html create mode 100644 docs/api_docs/files/pageextauthoring.html create mode 100644 docs/api_docs/files/pageextconverterll.html create mode 100644 docs/api_docs/files/pageextphysx.html create mode 100644 docs/api_docs/files/pageextserialization.html create mode 100644 docs/api_docs/files/pageextshaders.html create mode 100644 docs/api_docs/files/pagehlapi.html create mode 100644 docs/api_docs/files/pageimporter.html create mode 100644 docs/api_docs/files/pageintroduction.html create mode 100644 docs/api_docs/files/pagellapi.html create mode 100644 docs/api_docs/files/pagereleasenotes.html create mode 100644 docs/api_docs/files/pages.html create mode 100644 docs/api_docs/files/pagesampleassetviewer.html create mode 100644 docs/api_docs/files/pagesamples.html create mode 100644 docs/api_docs/files/pagetools.html create mode 100644 docs/api_docs/files/pageusersguide.html create mode 100644 docs/api_docs/files/release__notes_8txt.html create mode 100644 docs/api_docs/files/sample__asset__viewer_8txt.html create mode 100644 docs/api_docs/files/samples_8txt.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_apex_importer_1_1_apex_importer_config-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_apex_importer_1_1_apex_importer_config.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull_1_1_hull_polygon-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull_1_1_hull_polygon.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_edge-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_edge.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.png create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event.png create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync.png create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture.png create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance.png create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync.png create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync_1_1_actor_data-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync_1_1_actor_data.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_type-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_type.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_facet-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_facet.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_less-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_less.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_slicing_configuration-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_slicing_configuration.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.png create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.png create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_event-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_event.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_stats-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_stats.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_split_event-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_split_event.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_type_index-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_type_index.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_vertex-members.html create mode 100644 docs/api_docs/files/struct_nv_1_1_blast_1_1_vertex.html create mode 100644 docs/api_docs/files/struct_nv_blast_actor.html create mode 100644 docs/api_docs/files/struct_nv_blast_actor_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_actor_desc.html create mode 100644 docs/api_docs/files/struct_nv_blast_actor_desc.png create mode 100644 docs/api_docs/files/struct_nv_blast_actor_split_event-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_actor_split_event.html create mode 100644 docs/api_docs/files/struct_nv_blast_asset.html create mode 100644 docs/api_docs/files/struct_nv_blast_asset_data_format-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_asset_data_format.html create mode 100644 docs/api_docs/files/struct_nv_blast_asset_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_asset_desc.html create mode 100644 docs/api_docs/files/struct_nv_blast_asset_desc.png create mode 100644 docs/api_docs/files/struct_nv_blast_bond-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_bond.html create mode 100644 docs/api_docs/files/struct_nv_blast_bond_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_bond_desc.html create mode 100644 docs/api_docs/files/struct_nv_blast_bond_fracture_data-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_bond_fracture_data.html create mode 100644 docs/api_docs/files/struct_nv_blast_chunk-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_chunk.html create mode 100644 docs/api_docs/files/struct_nv_blast_chunk_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_chunk_desc.html create mode 100644 docs/api_docs/files/struct_nv_blast_chunk_fracture_data-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_chunk_fracture_data.html create mode 100644 docs/api_docs/files/struct_nv_blast_damage_program-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_damage_program.html create mode 100644 docs/api_docs/files/struct_nv_blast_data_block-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_data_block.html create mode 100644 docs/api_docs/files/struct_nv_blast_ext_material-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_ext_material.html create mode 100644 docs/api_docs/files/struct_nv_blast_ext_radial_damage_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_ext_radial_damage_desc.html create mode 100644 docs/api_docs/files/struct_nv_blast_ext_shear_damage_desc-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_ext_shear_damage_desc.html create mode 100644 docs/api_docs/files/struct_nv_blast_family.html create mode 100644 docs/api_docs/files/struct_nv_blast_family_data_format-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_family_data_format.html create mode 100644 docs/api_docs/files/struct_nv_blast_fracture_buffers-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_fracture_buffers.html create mode 100644 docs/api_docs/files/struct_nv_blast_graph_shader_actor-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_graph_shader_actor.html create mode 100644 docs/api_docs/files/struct_nv_blast_i_d-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_i_d.html create mode 100644 docs/api_docs/files/struct_nv_blast_message-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_message.html create mode 100644 docs/api_docs/files/struct_nv_blast_profiler_detail-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_profiler_detail.html create mode 100644 docs/api_docs/files/struct_nv_blast_program_params-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_program_params.html create mode 100644 docs/api_docs/files/struct_nv_blast_subgraph_shader_actor-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_subgraph_shader_actor.html create mode 100644 docs/api_docs/files/struct_nv_blast_support_graph-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_support_graph.html create mode 100644 docs/api_docs/files/struct_nv_blast_timers-members.html create mode 100644 docs/api_docs/files/struct_nv_blast_timers.html create mode 100644 docs/api_docs/files/tab_b.gif create mode 100644 docs/api_docs/files/tab_l.gif create mode 100644 docs/api_docs/files/tab_r.gif create mode 100644 docs/api_docs/files/tabs.css create mode 100644 docs/api_docs/files/tools_8txt.html create mode 100644 docs/api_docs/files/tree.html create mode 100644 docs/api_docs/index.html (limited to 'docs/api_docs') diff --git a/docs/api_docs/files/NVIDIA.css b/docs/api_docs/files/NVIDIA.css new file mode 100644 index 0000000..59de635 --- /dev/null +++ b/docs/api_docs/files/NVIDIA.css @@ -0,0 +1,580 @@ +/* edited by Christian Knuchel 2011-09-22*/ + +body, table, div, p, dl { + font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; + font-size: 12px; +} + +/* @group Heading Levels */ + +h1 { + text-align: center; + font-size: 150%; +} + +h2 { + font-size: 120%; +} + +h3 { + font-size: 100%; +} + +/* @end */ + +caption { + font-weight: bold; +} + +div.qindex, div.navtab{ + background-color: #e0f0e1; + background-image: linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -ms-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -o-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0f0e1), to(#d0e0d1)); + background-image: -moz-linear-gradient(top, #e0f0e1, #d0e0d1); + border: 1px solid #cceecc; + text-align: center; + margin: 2px; + padding: 2px; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #216414; + font-weight: normal; + text-decoration: none; +} + +/* +.contents a:visited { + color: #28a028; +} +*/ + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code { +} + +a.codeRef { +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +.fragment { + font-family: monospace, fixed; + font-size: 105%; +} + +pre.fragment { + border: 1px solid #cceecc; + background-color: #e0f0e1; + background-image: linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -ms-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -o-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0f0e1), to(#d0e0d1)); + background-image: -moz-linear-gradient(top, #e0f0e1, #d0e0d1); + padding: 4px 6px; + margin: 4px 8px 4px 2px; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} + +td.indexkey { + background-color: #e0f0e1; + background-image: linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -ms-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -o-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0f0e1), to(#d0e0d1)); + background-image: -moz-linear-gradient(top, #e0f0e1, #d0e0d1); + font-weight: bold; + border: 0px solid #ffffff; + margin: 2px 0px 2px 0; + padding: 2px 10px; +} + +td.indexvalue { + background-color: #e0f0e1; + background-image: linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -ms-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -o-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0f0e1), to(#d0e0d1)); + background-image: -moz-linear-gradient(top, #e0f0e1, #d0e0d1); + border: 0px solid #ffffff; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #e0f0e1; + background-image: linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -ms-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -o-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0f0e1), to(#d0e0d1)); + background-image: -moz-linear-gradient(top, #e0f0e1, #d0e0d1); +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #002090 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +/* @end */ + +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e0f0e1; + background-image: linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -ms-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -o-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0f0e1), to(#d0e0d1)); + background-image: -moz-linear-gradient(top, #e0f0e1, #d0e0d1); +} + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #cceecc; +} + +th.dirtab { + background-color: #e0f0e1; + background-image: linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -ms-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -o-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0f0e1), to(#d0e0d1)); + background-image: -moz-linear-gradient(top, #e0f0e1, #d0e0d1); + font-weight: bold; +} + +hr { + color: FFFFFF; + height: 16; + border: none; +} + +/* @group Member Descriptions */ + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #d0e0d1; + margin: 8px; + padding: 6px 0 0 8px; + box-shadow: 2px 2px 4px 0px #666; + -moz-box-shadow: 4px 4px 2px 1px #aaa; + -webkit-box-shadow: 2px 2px 4px 0px #666; +} + +.mdescLeft, .mdescRight { + padding: 6px 8px 8px 8px; + color: #555; +} + +.memItemLeft, .memItemRight, .memTemplParams { + background-color: #e0f0e1; + background-image: linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -ms-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -o-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0f0e1), to(#d0e0d1)); + background-image: -moz-linear-gradient(top, #e0f0e1, #d0e0d1); + border-top: 1px solid #b0d1b1; +} + +.memTemplParams { + color: #606060; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #606060; + font-weight: normal; + margin-left: 3px; +} + +.memnav { + background-color: #e0f0e1; + background-image: linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -ms-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -o-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0f0e1), to(#d0e0d1)); + background-image: -moz-linear-gradient(top, #e0f0e1, #d0e0d1); + border: 1px solid #cceecc; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.memitem { + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + -moz-border-radius-topleft: 8px; + -moz-border-radius-topright: 8px; + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; + border: 1px solid #b0c0b1; + padding: 0; + margin: 14px 0px 0px 0px; + box-shadow: 2px 2px 4px 1px #666; + -moz-box-shadow: 2px 2px 4px 1px #666; + -webkit-box-shadow: 2px 2px 4px 1px #666; +} + +.memname { + white-space: nowrap; + font-weight: bold; +} + +.memproto, .memdoc { + border: 1px solid #b0c0b1; +} + +.memproto { + padding: 0; + background-color: #b0c0b1; + background-image: linear-gradient(top, #d0e0d1 0%, #b0c0b1 100%); + background-image: -ms-linear-gradient(top, #d0e0d1 0%, #b0c0b1 100%); + background-image: -o-linear-gradient(top, #d0e0d1 0%, #b0c0b1 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d0e0d1), to(#b0c0b1)); + background-image: -moz-linear-gradient(top, #e0f0e1, #b0c0b1); + font-weight: bold; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + -moz-border-radius-topleft: 8px; + -moz-border-radius-topright: 8px; + border: 1px solid #b0c0b1; +} + +.memdoc { + padding: 2px 5px; + background-color: #e0f0e1; + background-image: linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -ms-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -o-linear-gradient(top, #e0f0e1 0%, #d0e0d1 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0f0e1), to(#d0e0d1)); + background-image: -moz-linear-gradient(top, #e0f0e1, #d0e0d1); + border-top-width: 0; + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; + border: 1px solid #b0c0b1; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #B06000; /*#D08020;*/ + white-space: nowrap; +} +.paramname em { + font-style: normal; +} + +/* @end */ + +/* @group Directory (tree) */ + +/* for the tree view */ + +.ftvtree { + font-family: sans-serif; + margin: 0.5em; +} + +/* these are for tree view when used as main index */ + +.directory { + font-size: 9pt; + font-weight: bold; +} + +.directory h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +/* +The following two styles can be used to replace the root node title +with an image of your choice. Simply uncomment the next two styles, +specify the name of your image and be sure to set 'height' to the +proper pixel height of your image. +*/ + +/* +.directory h3.swap { + height: 61px; + background-repeat: no-repeat; + background-image: url("yourimage.gif"); +} +.directory h3.swap span { + display: none; +} +*/ + +.directory > h3 { + margin-top: 0; +} + +.directory p { + margin: 0px; + white-space: nowrap; +} + +.directory div { + display: none; + margin: 0px; +} + +.directory img { + vertical-align: -30%; +} + +/* these are for tree view when not used as main index */ + +.directory-alt { + font-size: 100%; + font-weight: bold; +} + +.directory-alt h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +.directory-alt > h3 { + margin-top: 0; +} + +.directory-alt p { + margin: 0px; + white-space: nowrap; +} + +.directory-alt div { + display: none; + margin: 0px; +} + +.directory-alt img { + vertical-align: -30%; +} + +/* @end */ + +address { + font-style: normal; + color: #333; +} + +/*custom header*/ + +#header{ + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + -moz-border-radius-topleft: 8px; + -moz-border-radius-topright: 8px; + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; + background-color: #313131; + background-image: linear-gradient(top, #666666 0%, #313131 100%); + background-image: -ms-linear-gradient(top, #666666 0%, #313131 100%); + background-image: -o-linear-gradient(top, #666666 0%, #313131 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#666), to(#313131)); + background-image: -moz-linear-gradient(top, #666, #313131); + box-shadow: 2px 2px 4px 2px #666; + -moz-box-shadow: 2px 2px 4px 2px #666; + -webkit-box-shadow: 2px 2px 4px 2px #666; +} + +#header img { + margin: 16px 0 0 48px; +} + +#header a{ + color: #FFFFFF; +} + +#header a:hover{ + color: #72cf3d; +} + +#header .first{ + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + -moz-border-radius-topleft: 8px; + -moz-border-radius-topright: 8px; + color: #313131; + background-image: linear-gradient(top, #aaaaaa 0%, #666666 100%); + background-image: -ms-linear-gradient(top, #aaaaaa 0%, #666666 100%); + background-image: -o-linear-gradient(top, #aaaaaa 0%, #666666 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#aaaaaa), to(#666666)); + background-image: -moz-linear-gradient(top, #aaaaaa, #666666); + height: 16px; +} + +#header .second{ + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; + color: #313131; + background-image: linear-gradient(top, #313131 0%, #11111 100%); + background-image: -ms-linear-gradient(top, #313131 0%, #111111 100%); + background-image: -o-linear-gradient(top, #313131 0%, #11111 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#313131), to(#111)); + background-image: -moz-linear-gradient(top, #313131, #111); + height: 16px; +} diff --git a/docs/api_docs/files/_nv_blast_8h-source.html b/docs/api_docs/files/_nv_blast_8h-source.html new file mode 100644 index 0000000..f71c021 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_8h-source.html @@ -0,0 +1,252 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/lowlevel/include/NvBlast.h Source File + + + + + + + +

sdk/lowlevel/include/NvBlast.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLAST_H
+00012 #define NVBLAST_H
+00013 
+00014 
+00015 #include "NvBlastTypes.h"
+00016 
+00017 
+00019 //  NvBlastAsset functions
+00022 
+00032 NVBLAST_API size_t NvBlastGetAssetMemorySize(const NvBlastAssetDesc* desc, NvBlastLog logFn);
+00033 
+00034 
+00044 NVBLAST_API size_t NvBlastGetRequiredScratchForCreateAsset(const NvBlastAssetDesc* desc, NvBlastLog logFn);
+00045 
+00046 
+00071 NVBLAST_API NvBlastAsset* NvBlastCreateAsset(void* mem, const NvBlastAssetDesc* desc, void* scratch, NvBlastLog logFn);
+00072 
+00073 
+00083 NVBLAST_API size_t NvBlastAssetGetFamilyMemorySize(const NvBlastAsset* asset, NvBlastLog logFn);
+00084 
+00085 
+00098 NVBLAST_API NvBlastFamily* NvBlastAssetCreateFamily(void* mem, const NvBlastAsset* asset, NvBlastLog logFn);
+00099 
+00100 
+00109 NVBLAST_API NvBlastID NvBlastAssetGetID(const NvBlastAsset* asset, NvBlastLog logFn);
+00110 
+00111 
+00121 NVBLAST_API bool NvBlastAssetSetID(NvBlastAsset* asset, const NvBlastID* id, NvBlastLog logFn);
+00122 
+00123 
+00132 NVBLAST_API uint32_t NvBlastAssetGetFormatVersion(const NvBlastAsset* asset, NvBlastLog logFn);
+00133 
+00134 
+00143 NVBLAST_API uint32_t NvBlastAssetGetSize(const NvBlastAsset* asset, NvBlastLog logFn);
+00144 
+00145 
+00154 NVBLAST_API uint32_t NvBlastAssetGetChunkCount(const NvBlastAsset* asset, NvBlastLog logFn);
+00155 
+00156 
+00165 NVBLAST_API uint32_t NvBlastAssetGetLeafChunkCount(const NvBlastAsset* asset, NvBlastLog logFn);
+00166 
+00167 
+00178 NVBLAST_API uint32_t NvBlastAssetGetFirstSubsupportChunkIndex(const NvBlastAsset* asset, NvBlastLog logFn);
+00179 
+00180 
+00189 NVBLAST_API uint32_t NvBlastAssetGetBondCount(const NvBlastAsset* asset, NvBlastLog logFn);
+00190 
+00191 
+00200 NVBLAST_API const NvBlastSupportGraph NvBlastAssetGetSupportGraph(const NvBlastAsset* asset, NvBlastLog logFn);
+00201 
+00202 
+00213 NVBLAST_API const uint32_t* NvBlastAssetGetChunkToGraphNodeMap(const NvBlastAsset* asset, NvBlastLog logFn);
+00214 
+00215 
+00224 NVBLAST_API const NvBlastChunk* NvBlastAssetGetChunks(const NvBlastAsset* asset, NvBlastLog logFn);
+00225 
+00226 
+00235 NVBLAST_API const NvBlastBond* NvBlastAssetGetBonds(const NvBlastAsset* asset, NvBlastLog logFn);
+00236 
+00237 
+00248 NVBLAST_API uint32_t NvBlastAssetGetActorSerializationSizeUpperBound(const NvBlastAsset* asset, NvBlastLog logFn);
+00249 
+00251 
+00252 
+00254 //  NvBlastAsset helper functions
+00257 
+00274 NVBLAST_API bool NvBlastEnsureAssetExactSupportCoverage(NvBlastChunkDesc* chunkDescs, uint32_t chunkCount, void* scratch, NvBlastLog logFn);
+00275 
+00276 
+00300 NVBLAST_API bool NvBlastBuildAssetDescChunkReorderMap(uint32_t* chunkReorderMap, const NvBlastChunkDesc* chunkDescs, uint32_t chunkCount, void* scratch, NvBlastLog logFn);
+00301 
+00302 
+00319 NVBLAST_API void NvBlastApplyAssetDescChunkReorderMap
+00320 (
+00321     NvBlastChunkDesc* reorderedChunkDescs,
+00322     const NvBlastChunkDesc* chunkDescs,
+00323     uint32_t chunkCount,
+00324     NvBlastBondDesc* bondDescs,
+00325     uint32_t bondCount,
+00326     const uint32_t* chunkReorderMap,
+00327     NvBlastLog logFn
+00328 );
+00329 
+00330 
+00349 NVBLAST_API void NvBlastApplyAssetDescChunkReorderMapInplace(NvBlastChunkDesc* chunkDescs, uint32_t chunkCount, NvBlastBondDesc* bondDescs, uint32_t bondCount, const uint32_t* chunkReorderMap, void* scratch, NvBlastLog logFn);
+00350 
+00351 
+00367 NVBLAST_API bool NvBlastReorderAssetDescChunks(NvBlastChunkDesc* chunkDescs, uint32_t chunkCount, NvBlastBondDesc* bondDescs, uint32_t bondCount, uint32_t* chunkReorderMap, void* scratch, NvBlastLog logFn);
+00368 
+00370 
+00371 
+00373 //  NvBlastFamily functions
+00376 
+00385 NVBLAST_API uint32_t NvBlastFamilyGetFormatVersion(const NvBlastFamily* family, NvBlastLog logFn);
+00386 
+00387 
+00395 NVBLAST_API void NvBlastFamilySetAsset(NvBlastFamily* family, const NvBlastAsset* asset, NvBlastLog logFn);
+00396 
+00397 
+00406 NVBLAST_API uint32_t NvBlastFamilyGetSize(const NvBlastFamily* family, NvBlastLog logFn);
+00407 
+00408 
+00417 NVBLAST_API NvBlastID NvBlastFamilyGetAssetID(const NvBlastFamily* family, NvBlastLog logFn);
+00418 
+00419 
+00428 NVBLAST_API size_t NvBlastFamilyGetRequiredScratchForCreateFirstActor(const NvBlastFamily* family, NvBlastLog logFn);
+00429 
+00430 
+00441 NVBLAST_API NvBlastActor* NvBlastFamilyCreateFirstActor(NvBlastFamily* family, const NvBlastActorDesc* desc, void* scratch, NvBlastLog logFn);
+00442 
+00443 
+00452 NVBLAST_API uint32_t NvBlastFamilyGetActorCount(const NvBlastFamily* family, NvBlastLog logFn);
+00453 
+00454 
+00466 NVBLAST_API NvBlastActor* NvBlastFamilyDeserializeActor(NvBlastFamily* family, const void* buffer, NvBlastLog logFn);
+00467 
+00468 
+00479 NVBLAST_API uint32_t NvBlastFamilyGetActors(NvBlastActor** actors, uint32_t actorsSize, const NvBlastFamily* family, NvBlastLog logFn);
+00480 
+00481 
+00491 NVBLAST_API NvBlastActor* NvBlastFamilyGetChunkActor(const NvBlastFamily* family, uint32_t chunkIndex, NvBlastLog logFn);
+00492 
+00493 
+00502 NVBLAST_API uint32_t NvBlastFamilyGetMaxActorCount(const NvBlastFamily* family, NvBlastLog logFn);
+00503 
+00505 
+00506 
+00508 //  NvBlastActor accessor, serialization, and deactivation functions
+00511 
+00520 NVBLAST_API uint32_t NvBlastActorGetVisibleChunkCount(const NvBlastActor* actor, NvBlastLog logFn);
+00521 
+00522 
+00533 NVBLAST_API uint32_t NvBlastActorGetVisibleChunkIndices(uint32_t* visibleChunkIndices, uint32_t visibleChunkIndicesSize, const NvBlastActor* actor, NvBlastLog logFn);
+00534 
+00535 
+00544 NVBLAST_API uint32_t NvBlastActorGetGraphNodeCount(const NvBlastActor* actor, NvBlastLog logFn);
+00545 
+00546 
+00557 NVBLAST_API uint32_t NvBlastActorGetGraphNodeIndices(uint32_t* graphNodeIndices, uint32_t graphNodeIndicesSize, const NvBlastActor* actor, NvBlastLog logFn);
+00558 
+00559 
+00580 NVBLAST_API const float* NvBlastActorGetBondHealths(const NvBlastActor* actor, NvBlastLog logFn);
+00581 
+00582 
+00592 NVBLAST_API uint32_t NvBlastActorGetSerializationSize(const NvBlastActor* actor, NvBlastLog logFn);
+00593 
+00594 
+00605 NVBLAST_API uint32_t NvBlastActorSerialize(void* buffer, uint32_t bufferSize, const NvBlastActor* actor, NvBlastLog logFn);
+00606 
+00607 
+00616 NVBLAST_API NvBlastFamily* NvBlastActorGetFamily(const NvBlastActor* actor, NvBlastLog logFn);
+00617 
+00618 
+00627 NVBLAST_API uint32_t NvBlastActorGetIndex(const NvBlastActor* actor, NvBlastLog logFn);
+00628 
+00629 
+00638 NVBLAST_API bool NvBlastActorDeactivate(NvBlastActor* actor, NvBlastLog logFn);
+00639 
+00641 
+00642 
+00644 //  NvBlastActor damage and fracturing functions
+00647 
+00670 NVBLAST_API void NvBlastActorGenerateFracture
+00671 (
+00672     NvBlastFractureBuffers* commandBuffers,
+00673     const NvBlastActor* actor,
+00674     const NvBlastDamageProgram program, 
+00675     const NvBlastProgramParams* programParams,
+00676     NvBlastLog logFn, 
+00677     NvBlastTimers* timers
+00678 );
+00679 
+00680 
+00711 NVBLAST_API void NvBlastActorApplyFracture
+00712 (
+00713     NvBlastFractureBuffers* eventBuffers,
+00714     NvBlastActor* actor,
+00715     const NvBlastFractureBuffers* commands,
+00716     NvBlastLog logFn,
+00717     NvBlastTimers* timers
+00718 );
+00719 
+00720 
+00734 NVBLAST_API uint32_t NvBlastActorSplit
+00735 (
+00736     NvBlastActorSplitEvent* result, 
+00737     NvBlastActor* actor,
+00738     uint32_t newActorsMaxCount,
+00739     void* scratch,
+00740     NvBlastLog logFn,
+00741     NvBlastTimers* timers
+00742 );
+00743 
+00744 
+00754 NVBLAST_API size_t NvBlastActorGetRequiredScratchForSplit(const NvBlastActor* actor, NvBlastLog logFn);
+00755 
+00756 
+00766 NVBLAST_API uint32_t NvBlastActorGetMaxActorCountForSplit(const NvBlastActor* actor, NvBlastLog logFn);
+00767 
+00768 
+00777 NVBLAST_API bool NvBlastActorCanFracture(const NvBlastActor* actor, NvBlastLog logFn);
+00778 
+00780 
+00781 
+00783 //  NvBlastTimers functions and helpers
+00786 
+00792 NVBLAST_API void NvBlastTimersReset(NvBlastTimers* timers);
+00793 
+00794 
+00802 NVBLAST_API double NvBlastTicksToSeconds(int64_t ticks);
+00803 
+00805 
+00806 
+00807 #endif // ifndef NVBLAST_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_8h.html b/docs/api_docs/files/_nv_blast_8h.html new file mode 100644 index 0000000..ef32328 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_8h.html @@ -0,0 +1,2408 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/lowlevel/include/NvBlast.h File Reference + + + + + + + +
+

sdk/lowlevel/include/NvBlast.h File Reference

#include "NvBlastTypes.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

void NvBlastActorApplyFracture (NvBlastFractureBuffers *eventBuffers, NvBlastActor *actor, const NvBlastFractureBuffers *commands, NvBlastLog logFn, NvBlastTimers *timers)
bool NvBlastActorCanFracture (const NvBlastActor *actor, NvBlastLog logFn)
void NvBlastActorGenerateFracture (NvBlastFractureBuffers *commandBuffers, const NvBlastActor *actor, const NvBlastDamageProgram program, const NvBlastProgramParams *programParams, NvBlastLog logFn, NvBlastTimers *timers)
uint32_t NvBlastActorGetMaxActorCountForSplit (const NvBlastActor *actor, NvBlastLog logFn)
size_t NvBlastActorGetRequiredScratchForSplit (const NvBlastActor *actor, NvBlastLog logFn)
uint32_t NvBlastActorSplit (NvBlastActorSplitEvent *result, NvBlastActor *actor, uint32_t newActorsMaxCount, void *scratch, NvBlastLog logFn, NvBlastTimers *timers)
bool NvBlastActorDeactivate (NvBlastActor *actor, NvBlastLog logFn)
const float * NvBlastActorGetBondHealths (const NvBlastActor *actor, NvBlastLog logFn)
NvBlastFamilyNvBlastActorGetFamily (const NvBlastActor *actor, NvBlastLog logFn)
uint32_t NvBlastActorGetGraphNodeCount (const NvBlastActor *actor, NvBlastLog logFn)
uint32_t NvBlastActorGetGraphNodeIndices (uint32_t *graphNodeIndices, uint32_t graphNodeIndicesSize, const NvBlastActor *actor, NvBlastLog logFn)
uint32_t NvBlastActorGetIndex (const NvBlastActor *actor, NvBlastLog logFn)
uint32_t NvBlastActorGetSerializationSize (const NvBlastActor *actor, NvBlastLog logFn)
uint32_t NvBlastActorGetVisibleChunkCount (const NvBlastActor *actor, NvBlastLog logFn)
uint32_t NvBlastActorGetVisibleChunkIndices (uint32_t *visibleChunkIndices, uint32_t visibleChunkIndicesSize, const NvBlastActor *actor, NvBlastLog logFn)
uint32_t NvBlastActorSerialize (void *buffer, uint32_t bufferSize, const NvBlastActor *actor, NvBlastLog logFn)
void NvBlastApplyAssetDescChunkReorderMap (NvBlastChunkDesc *reorderedChunkDescs, const NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, const uint32_t *chunkReorderMap, NvBlastLog logFn)
void NvBlastApplyAssetDescChunkReorderMapInplace (NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, const uint32_t *chunkReorderMap, void *scratch, NvBlastLog logFn)
bool NvBlastBuildAssetDescChunkReorderMap (uint32_t *chunkReorderMap, const NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, void *scratch, NvBlastLog logFn)
bool NvBlastEnsureAssetExactSupportCoverage (NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, void *scratch, NvBlastLog logFn)
bool NvBlastReorderAssetDescChunks (NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap, void *scratch, NvBlastLog logFn)
NvBlastFamilyNvBlastAssetCreateFamily (void *mem, const NvBlastAsset *asset, NvBlastLog logFn)
uint32_t NvBlastAssetGetActorSerializationSizeUpperBound (const NvBlastAsset *asset, NvBlastLog logFn)
uint32_t NvBlastAssetGetBondCount (const NvBlastAsset *asset, NvBlastLog logFn)
const NvBlastBondNvBlastAssetGetBonds (const NvBlastAsset *asset, NvBlastLog logFn)
uint32_t NvBlastAssetGetChunkCount (const NvBlastAsset *asset, NvBlastLog logFn)
const NvBlastChunkNvBlastAssetGetChunks (const NvBlastAsset *asset, NvBlastLog logFn)
const uint32_t * NvBlastAssetGetChunkToGraphNodeMap (const NvBlastAsset *asset, NvBlastLog logFn)
size_t NvBlastAssetGetFamilyMemorySize (const NvBlastAsset *asset, NvBlastLog logFn)
uint32_t NvBlastAssetGetFirstSubsupportChunkIndex (const NvBlastAsset *asset, NvBlastLog logFn)
uint32_t NvBlastAssetGetFormatVersion (const NvBlastAsset *asset, NvBlastLog logFn)
NvBlastID NvBlastAssetGetID (const NvBlastAsset *asset, NvBlastLog logFn)
uint32_t NvBlastAssetGetLeafChunkCount (const NvBlastAsset *asset, NvBlastLog logFn)
uint32_t NvBlastAssetGetSize (const NvBlastAsset *asset, NvBlastLog logFn)
const NvBlastSupportGraph NvBlastAssetGetSupportGraph (const NvBlastAsset *asset, NvBlastLog logFn)
bool NvBlastAssetSetID (NvBlastAsset *asset, const NvBlastID *id, NvBlastLog logFn)
NvBlastAssetNvBlastCreateAsset (void *mem, const NvBlastAssetDesc *desc, void *scratch, NvBlastLog logFn)
size_t NvBlastGetAssetMemorySize (const NvBlastAssetDesc *desc, NvBlastLog logFn)
size_t NvBlastGetRequiredScratchForCreateAsset (const NvBlastAssetDesc *desc, NvBlastLog logFn)
NvBlastActorNvBlastFamilyCreateFirstActor (NvBlastFamily *family, const NvBlastActorDesc *desc, void *scratch, NvBlastLog logFn)
NvBlastActorNvBlastFamilyDeserializeActor (NvBlastFamily *family, const void *buffer, NvBlastLog logFn)
uint32_t NvBlastFamilyGetActorCount (const NvBlastFamily *family, NvBlastLog logFn)
uint32_t NvBlastFamilyGetActors (NvBlastActor **actors, uint32_t actorsSize, const NvBlastFamily *family, NvBlastLog logFn)
NvBlastID NvBlastFamilyGetAssetID (const NvBlastFamily *family, NvBlastLog logFn)
NvBlastActorNvBlastFamilyGetChunkActor (const NvBlastFamily *family, uint32_t chunkIndex, NvBlastLog logFn)
uint32_t NvBlastFamilyGetFormatVersion (const NvBlastFamily *family, NvBlastLog logFn)
uint32_t NvBlastFamilyGetMaxActorCount (const NvBlastFamily *family, NvBlastLog logFn)
size_t NvBlastFamilyGetRequiredScratchForCreateFirstActor (const NvBlastFamily *family, NvBlastLog logFn)
uint32_t NvBlastFamilyGetSize (const NvBlastFamily *family, NvBlastLog logFn)
void NvBlastFamilySetAsset (NvBlastFamily *family, const NvBlastAsset *asset, NvBlastLog logFn)
double NvBlastTicksToSeconds (int64_t ticks)
void NvBlastTimersReset (NvBlastTimers *timers)
+


Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastActorApplyFracture (NvBlastFractureBuffers eventBuffers,
NvBlastActor actor,
const NvBlastFractureBuffers commands,
NvBlastLog  logFn,
NvBlastTimers timers 
)
+
+
+ +

+Applies the direct fracture and breaks graph bonds/edges as necessary. Chunks damaged beyond their respective health fracture their children recursively, creating a NvBlastChunkFractureData for each.

+

Parameters:
+ + + + + + +
[in,out] eventBuffers Target buffers to hold applied fracture events. May be NULL, in which case events are not reported. To avoid data loss, provide an entry for every lower-support chunk and every bond in the original actor.
[in,out] actor The NvBlastActor to apply fracture to.
[in] commands The fracture commands to process.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
[in,out] timers If non-NULL this struct will be filled out with profiling information for the step, in profile build configurations.
+
+Interpretation of NvBlastFractureBuffers: commands: Counters denote the number of command entries to process. Chunk and Bond userdata are not used. Health values denote the amount of damage to apply, as a positive value.

+eventBuffers as input: Counters denote available entries for FractureData. Chunk and Bond userdata are not used. Health values are not used.

+eventBuffers as output: Counters denote valid entires in FractureData arrays. Chunks and Bond userdata reflect the respective userdata set during asset initialization. Health values denote how much health is remaining for the damaged element. Broken elements report a negative value corresponding to the superfluous health damage.

+commands and eventBuffers may point to the same memory. +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool NvBlastActorCanFracture (const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Determines if the actor can fracture further.

+

Parameters:
+ + + +
[in] actor The actor potentially being fractured.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
true if any result can be expected from fracturing the actor. false if no further change to the actor is possible.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool NvBlastActorDeactivate (NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Deactivate an actor within its family. Conceptually this is "destroying" the actor, however memory will not be released until the family is released.

+

Parameters:
+ + + +
[in] actor Points to a user-supplied actor struct. May be NULL, in which case this function no-ops.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
true iff successful (actor was active).
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastActorGenerateFracture (NvBlastFractureBuffers commandBuffers,
const NvBlastActor actor,
const NvBlastDamageProgram  program,
const NvBlastProgramParams programParams,
NvBlastLog  logFn,
NvBlastTimers timers 
)
+
+
+ +

+Creates fracture commands for the actor using a damage program and program parameters (material and damage descriptions).

+

Parameters:
+ + + + + + + +
[in,out] commandBuffers Target buffers to hold generated commands. To avoid data loss, provide an entry for every support chunk and every bond in the original actor.
[in] actor The NvBlastActor to create fracture commands for.
[in] program A NvBlastDamageProgram containing damage shaders.
[in] programParams Parameters for the NvBlastDamageProgram.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
[in,out] timers If non-NULL this struct will be filled out with profiling information for the step, in profile build configurations.
+
+Interpretation of NvBlastFractureBuffers: As input: Counters denote available entries for FractureData. Chunk and Bond userdata are not used. Health values are not used.

+As output: Counters denote valid entires in FractureData arrays. Chunks and Bond userdata reflect the respective userdata set during asset initialization, where implemented by the material function. Health values denote how much damage is to be applied. +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
const float* NvBlastActorGetBondHealths (const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Access the bond health data for an actor.

+This function returns a pointer to the head of an array of bond healths (floats). This array is the same for any actor that has been created from repeated fracturing of the same original instance of an asset (in the same instance family).

+The indices obtained from NvBlastSupportGraph::adjacentBondIndices in the asset may be used to access this array.

+The size of the array returned is NvBlastAssetGetBondCount(asset, logFn), where 'asset' is the NvBlastAsset that was used to create the actor.

+This array is valid as long as any actor in the instance family for the input actor exists.

+If the input actor is invalid, NULL will be returned.

+

Parameters:
+ + + +
[in] actor The actor.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the array of bond healths for the actor's instance family, or NULL if the actor is invalid.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
NvBlastFamily* NvBlastActorGetFamily (const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Access to an actor's family.

+

Parameters:
+ + + +
[in] actor The actor.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the family with which the actor is associated.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastActorGetGraphNodeCount (const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Get the number of graph nodes for this actor. May be used in conjunction with NvBlastActorGetGraphNodeIndices.

+

Parameters:
+ + + +
[in] actor The actor.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of graph node indices for the actor.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uint32_t NvBlastActorGetGraphNodeIndices (uint32_t *  graphNodeIndices,
uint32_t  graphNodeIndicesSize,
const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve a list of graph node indices for the actor into the given array.

+

Parameters:
+ + + + + +
[in] graphNodeIndices User-supplied array to be filled in with indices of graph nodes for this actor.
[in] graphNodeIndicesSize The size of the graphNodeIndices array. To receive all graph node indices, the size must be at least that given by NvBlastActorGetGraphNodeCount(actor).
[in] actor The actor.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of indices written to graphNodeIndices. This will not exceed graphNodeIndicesSize.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastActorGetIndex (const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Access to an actor's internal index.

+

Parameters:
+ + + +
[in] actor The actor.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
actor's internal index in family.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastActorGetMaxActorCountForSplit (const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Returns the upper-bound number of actors which can be created by calling NvBlastActorSplit with that actor, this value can't exceed chunk count.

+

Parameters:
+ + + +
[in] actor The actor.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the upper-bound number of actors which can be created by calling NvBlastActorSplit with that actor.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
size_t NvBlastActorGetRequiredScratchForSplit (const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Returns the number of bytes of scratch memory that the user must supply to NvBlastActorSplit, based upon the actor that will be passed into that function.

+

Parameters:
+ + + +
[in] actor The actor that will be passed into NvBlastActorSplit.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of bytes of scratch memory required for a call to NvBlastActorSplit with that actor.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastActorGetSerializationSize (const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+The buffer size needed to serialize a single actor. This will give the exact size needed. For an upper bound on the buffer size needed for any actor instanced from an NvBlastAsset, use NvBlastAssetGetActorSerializationSizeUpperBound.

+

Parameters:
+ + + +
[in] actor The actor.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the required buffer size in bytes.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastActorGetVisibleChunkCount (const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Get the number of visible chunks for this actor. May be used in conjunction with NvBlastActorGetVisibleChunkIndices.

+

Parameters:
+ + + +
[in] actor The actor.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of visible chunk indices for the actor.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uint32_t NvBlastActorGetVisibleChunkIndices (uint32_t *  visibleChunkIndices,
uint32_t  visibleChunkIndicesSize,
const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve a list of visible chunk indices for the actor into the given array.

+

Parameters:
+ + + + + +
[in] visibleChunkIndices User-supplied array to be filled in with indices of visible chunks for this actor.
[in] visibleChunkIndicesSize The size of the visibleChunkIndices array. To receive all visible chunk indices, the size must be at least that given by NvBlastActorGetVisibleChunkCount(actor).
[in] actor The actor.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of indices written to visibleChunkIndices. This will not exceed visibleChunkIndicesSize.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uint32_t NvBlastActorSerialize (void *  buffer,
uint32_t  bufferSize,
const NvBlastActor actor,
NvBlastLog  logFn 
)
+
+
+ +

+Serialize a single actor to a buffer.

+

Parameters:
+ + + + + +
[out] buffer User-supplied buffer, must be at least of size given by NvBlastActorGetSerializationSize(actor).
[in] bufferSize The size of the user-supplied buffer.
[in] actor The actor.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of bytes written to the buffer, or 0 if there is an error (such as an under-sized buffer).
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uint32_t NvBlastActorSplit (NvBlastActorSplitEvent result,
NvBlastActor actor,
uint32_t  newActorsMaxCount,
void *  scratch,
NvBlastLog  logFn,
NvBlastTimers timers 
)
+
+
+ +

+Releases the oldActor and creates its children newActors if necessary.

+

Parameters:
+ + + + + + + +
[out] result The list of deleted and created NvBlastActor objects.
[in] actor The actor to split.
[in] newActorsMaxCount Number of available NvBlastActor slots. In the worst case, one NvBlastActor may be created for every chunk in the asset.
[in] scratch Scratch Memory used during processing. NvBlastActorGetRequiredScratchForSplit provides the necessary size.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
[in,out] timers If non-NULL this struct will be filled out with profiling information for the step, in profile build configurations
+
+
Returns:
1..n: new actors were created

+0: oldActor is unchanged

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastApplyAssetDescChunkReorderMap (NvBlastChunkDesc reorderedChunkDescs,
const NvBlastChunkDesc chunkDescs,
uint32_t  chunkCount,
NvBlastBondDesc bondDescs,
uint32_t  bondCount,
const uint32_t *  chunkReorderMap,
NvBlastLog  logFn 
)
+
+
+ +

+Apply chunk reorder map.

+Function applies reorder map on NvBlastChunkDesc and NvBlastBondDesc arrays. It reorders chunks, replaces their 'parentChunkIndex' field with new indices. Bonds are kept in the same order, but their 'chunkIndices' field is updated with proper indices.

+

See also:
NvBlastBuildAssetDescChunkReorderMap
+
Parameters:
+ + + + + + + + +
[out] reorderedChunkDescs User-supplied array of size chunkCount to fill with new reordered NvBlastChunkDesc's.
[in] chunkDescs Array of chunk descriptors of size chunkCount.
[in] chunkCount The number of chunk descriptors.
[in] bondDescs Array of bond descriptors of size chunkCount. It will be updated accordingly.
[in] bondCount The number of bond descriptors.
[in] chunkReorderMap Chunk reorder map to use, must be of size chunkCount.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastApplyAssetDescChunkReorderMapInplace (NvBlastChunkDesc chunkDescs,
uint32_t  chunkCount,
NvBlastBondDesc bondDescs,
uint32_t  bondCount,
const uint32_t *  chunkReorderMap,
void *  scratch,
NvBlastLog  logFn 
)
+
+
+ +

+Apply chunk reorder map.

+Function applies reorder map on NvBlastChunkDesc and NvBlastBondDesc arrays. It reorders chunks, replaces their 'parentChunkIndex' field with new indices. Bonds are kept in the same order, but their 'chunkIndices' field is updated with proper indices.

+This overload of function reorders chunks in place.

+

See also:
NvBlastBuildAssetDescChunkReorderMap
+
Parameters:
+ + + + + + + + +
[in] chunkDescs Array of chunk descriptors of size chunkCount. It will be updated accordingly.
[in] chunkCount The number of chunk descriptors.
[in] bondDescs Array of bond descriptors of size chunkCount. It will be updated accordingly.
[in] bondCount The number of bond descriptors.
[in] chunkReorderMap Chunk reorder map to use, must be of size chunkCount.
[in] scratch User-supplied scratch storage, must point to chunkCount * sizeof(NvBlastChunkDesc) valid bytes of memory.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
NvBlastFamily* NvBlastAssetCreateFamily (void *  mem,
const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Family-building function.

+Constructs an NvBlastFamily in-place at the address given by the user. The address must point to a block of memory of at least the size given by NvBlastAssetGetFamilyMemorySize(asset, logFn), and must be 16-byte aligned.

+

Parameters:
+ + + + +
[in] mem Pointer to block of memory of at least the size given by NvBlastAssetGetFamilyMemorySize(asset, logFn). Must be 16-byte aligned.
[in] asset Asset to instance.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the family.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastAssetGetActorSerializationSizeUpperBound (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+A buffer size sufficient to serialize an actor instanced from a given asset. This function is faster than NvBlastActorGetSerializationSize, and can be used to create a reusable buffer for actor serialization.

+

Parameters:
+ + + +
[in] asset The asset.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the required buffer size in bytes.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastAssetGetBondCount (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Get the number of bonds in the given asset.

+

Parameters:
+ + + +
[in] asset The asset.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of bonds in the asset.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
const NvBlastBond* NvBlastAssetGetBonds (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Access an array of bonds of the given asset.

+

Parameters:
+ + + +
[in] asset The asset.
[in] logFn User - supplied message function(see NvBlastLog definition).May be NULL.
+
+
Returns:
a pointer to an array of bonds of the asset.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastAssetGetChunkCount (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Get the number of chunks in the given asset.

+

Parameters:
+ + + +
[in] asset The asset.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of chunks in the asset.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
const NvBlastChunk* NvBlastAssetGetChunks (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Access an array of chunks of the given asset.

+

Parameters:
+ + + +
[in] asset The asset.
[in] logFn User - supplied message function(see NvBlastLog definition).May be NULL.
+
+
Returns:
a pointer to an array of chunks of the asset.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
const uint32_t* NvBlastAssetGetChunkToGraphNodeMap (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Access a map from chunk index to graph node index. Returned map is valid in the domain [0, NvBlastAssetGetChunkCount(asset, logFn)). Non-support chunks are mapped to the invalid index 0xFFFFFFFF.

+

Parameters:
+ + + +
[in] asset The asset.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
an array of uint32_t values defining the map, of size NvBlastAssetGetChunkCount(asset, logFn).
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
size_t NvBlastAssetGetFamilyMemorySize (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Calculates the memory requirements for a family based upon an asset. Use this function when building a family with NvBlastAssetCreateFamily.

+

Parameters:
+ + + +
[in] asset Asset used to build the family (see NvBlastAsset).
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the memory size (in bytes) required for the family, or zero if asset is invalid.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastAssetGetFirstSubsupportChunkIndex (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Get the first subsupport chunk index in the given asset. Chunks are sorted such that subsupport chunks come last. This is the first subsupport chunk index. Equals to total chunk count if there are no subsupport chunks.

+

Parameters:
+ + + +
[in] asset The asset.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the first subsupport chunk index in the asset.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastAssetGetFormatVersion (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve the data format version for the given asset

+

Parameters:
+ + + +
[in] asset The asset. Cannot be NULL.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the data format version (NvBlastAssetDataFormat).
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
NvBlastID NvBlastAssetGetID (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve the asset ID.

+

Parameters:
+ + + +
[in] asset The given asset.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the ID of the asset.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastAssetGetLeafChunkCount (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Get the number of leaf chunks in the given asset.

+

Parameters:
+ + + +
[in] asset The asset.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of leaf chunks in the asset.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastAssetGetSize (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve the memory size (in bytes) of the given data asset

+

Parameters:
+ + + +
[in] asset The asset. Cannot be NULL.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the memory size of the asset (in bytes).
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
const NvBlastSupportGraph NvBlastAssetGetSupportGraph (const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Access the support graph for the given asset.

+

Parameters:
+ + + +
[in] asset The asset.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
a struct of support graph for the given asset.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool NvBlastAssetSetID (NvBlastAsset asset,
const NvBlastID id,
NvBlastLog  logFn 
)
+
+
+ +

+Set an asset's ID

+

Parameters:
+ + + + +
[in] asset The given asset.
[in] id A pointer to the id to copy into the asset.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
true iff the id is successfully set.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool NvBlastBuildAssetDescChunkReorderMap (uint32_t *  chunkReorderMap,
const NvBlastChunkDesc chunkDescs,
uint32_t  chunkCount,
void *  scratch,
NvBlastLog  logFn 
)
+
+
+ +

+Build chunk reorder map.

+NvBlastCreateAsset function requires NvBlastChunkDesc array to be in correct oder:

+1. Root chunks (chunks with invalid parent index) must be first in the asset's chunk list. 2. Chunks in the asset should be arranged such that sibling chunks (chunks with the same parent) are contiguous. 3. Chunks are also should be arranged such that upper-support chunks (support chunks and their parent chunks) should go first in chunk list.

+This function builds chunk reorder map which can be used to order chunk descs. Reordering chunk's descriptors according to generated map places them in correct order for NvBlastCreateAsset to succeed.

+Iff chunks are already ordered correctly, function returns 'true' and identity chunk reorder map. Otherwise 'false' is returned.

+

Parameters:
+ + + + + + +
[out] chunkReorderMap User-supplied map of size chunkCount to fill. For every chunk index this array will contain new chunk position (index).
[in] chunkDescs Array of chunk descriptors of size chunkCount.
[in] chunkCount The number of chunk descriptors.
[in] scratch User-supplied scratch storage, must point to 2 * chunkCount * sizeof(uint32_t) valid bytes of memory.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
true iff the chunks did not require reordering (chunkReorderMap is the identity map).
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NvBlastAsset* NvBlastCreateAsset (void *  mem,
const NvBlastAssetDesc desc,
void *  scratch,
NvBlastLog  logFn 
)
+
+
+ +

+Asset-building function.

+Constructs an NvBlastAsset in-place at the address given by the user. The address must point to a block of memory of at least the size given by NvBlastGetAssetMemorySize(desc, logFn), and must be 16-byte aligned.

+Support chunks (marked in the NvBlastChunkDesc struct) must provide full coverage over the asset. This means that from any leaf chunk to the root node, exactly one chunk must be support. If this condition is not met the function fails to create an asset.

+Any bonds described by NvBlastBondDesc descriptors that reference non-support chunks will be removed. Duplicate bonds will be removed as well (bonds that are between the same chunk pairs).

+Chunks in the asset should be arranged such that sibling chunks (chunks with the same parent) are contiguous. Chunks are also should be arranged such that leaf chunks (chunks with no children) are at the end of the chunk list. If chunks aren't arranged properly the function fails to create an asset.

+

Parameters:
+ + + + + +
[in] mem Pointer to block of memory of at least the size given by NvBlastGetAssetMemorySize(desc, logFn). Must be 16-byte aligned.
[in] desc Asset descriptor (see NvBlastAssetDesc).
[in] scratch User-supplied scratch memory of size NvBlastGetRequiredScratchForCreateAsset(desc) bytes.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
pointer to new NvBlastAsset (will be the same address as mem), or NULL if unsuccessful.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool NvBlastEnsureAssetExactSupportCoverage (NvBlastChunkDesc chunkDescs,
uint32_t  chunkCount,
void *  scratch,
NvBlastLog  logFn 
)
+
+
+ +

+Function to ensure (check and update) support coverage of chunks.

+Support chunks (marked in the NvBlastChunkDesc struct) must provide full coverage over the asset. This means that from any leaf chunk to the root node, exactly one chunk must be support. If this condition is not met, the actual support chunks will be adjusted accordingly.

+Chunk order depends on support coverage, so this function should be called before chunk reordering.

+

Parameters:
+ + + + + +
[in] chunkDescs Array of chunk descriptors of size chunkCount. It will be updated accordingly.
[in] chunkCount The number of chunk descriptors.
[in] scratch User-supplied scratch storage, must point to chunkCount valid bytes of memory.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
true iff coverage was already exact.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NvBlastActor* NvBlastFamilyCreateFirstActor (NvBlastFamily family,
const NvBlastActorDesc desc,
void *  scratch,
NvBlastLog  logFn 
)
+
+
+ +

+Instance the family's asset into a new, unfractured actor.

+

Parameters:
+ + + + + +
[in] family Family in which to create a new actor. The family must have no other actors in it. (See NvBlastAssetCreateFamily.)
[in] desc Actor descriptor (see NvBlastActorDesc).
[in] scratch User-supplied scratch memory of size NvBlastFamilyGetRequiredScratchForCreateFirstActor(asset) bytes, where 'asset' is the NvBlastAsset from which the family was created.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
pointer to new NvBlastActor if successful (the actor was successfully inserted into the family), or NULL if unsuccessful.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
NvBlastActor* NvBlastFamilyDeserializeActor (NvBlastFamily family,
const void *  buffer,
NvBlastLog  logFn 
)
+
+
+ +

+Deserialize a single Actor from a buffer into the given family. The actor will be inserted if it is compatible with the current family state. That is, it must not share any chunks or internal IDs with the actors already present in the family.

+

Parameters:
+ + + + +
[in] family Family in which to deserialize the actor.
[in] buffer User-supplied buffer containing the actor to deserialize.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the deserialized actor if successful, NULL otherwise.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastFamilyGetActorCount (const NvBlastFamily family,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve the number of active actors associated with the given family.

+

Parameters:
+ + + +
[in] family The family.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of active actors in the family.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uint32_t NvBlastFamilyGetActors (NvBlastActor **  actors,
uint32_t  actorsSize,
const NvBlastFamily family,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve the active actors associated with the given family.

+

Parameters:
+ + + + + +
[out] actors User-supplied array to be filled with the returned actor pointers.
[out] actorsSize The size of the actors array. To receive all actor pointers, the size must be at least that given by NvBlastFamilyGetActorCount(family).
[in] family The family.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of actor pointers written to actors. This will not exceed actorsSize.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
NvBlastID NvBlastFamilyGetAssetID (const NvBlastFamily family,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve the asset ID of the given family.

+

Parameters:
+ + + +
[in] family The family.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the ID of the asset associated with the family.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
NvBlastActor* NvBlastFamilyGetChunkActor (const NvBlastFamily family,
uint32_t  chunkIndex,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve the actor associated with the given chunk.

+

Parameters:
+ + + + +
[in] family The family.
[in] chunkIndex The index of chunk.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
pointer to actor associated with given chunk. NULL if there is no such actor.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastFamilyGetFormatVersion (const NvBlastFamily family,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve the data format version for the given family.

+

Parameters:
+ + + +
[in] family The family.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the family format version.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastFamilyGetMaxActorCount (const NvBlastFamily family,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve the max active actor count family could have.

+

Parameters:
+ + + +
[in] family The family.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the max number of active actors family could have.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
size_t NvBlastFamilyGetRequiredScratchForCreateFirstActor (const NvBlastFamily family,
NvBlastLog  logFn 
)
+
+
+ +

+Returns the number of bytes of scratch memory that the user must supply to NvBlastFamilyCreateFirstActor.

+

Parameters:
+ + + +
[in] family The family from which the first actor will be instanced.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of bytes of scratch memory required for a call to NvBlastFamilyCreateFirstActor.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
uint32_t NvBlastFamilyGetSize (const NvBlastFamily family,
NvBlastLog  logFn 
)
+
+
+ +

+Retrieve the size (in bytes) of the given family.

+

Parameters:
+ + + +
[in] family The family.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the size of the family (in bytes).
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastFamilySetAsset (NvBlastFamily family,
const NvBlastAsset asset,
NvBlastLog  logFn 
)
+
+
+ +

+Set asset to the family. It should be the same asset as the one family was created from (same ID).

+

Parameters:
+ + + + +
[in] family The family.
[in] asset Asset to instance.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
size_t NvBlastGetAssetMemorySize (const NvBlastAssetDesc desc,
NvBlastLog  logFn 
)
+
+
+ +

+Calculates the memory requirements for an asset based upon its descriptor. Use this function when building an asset with NvBlastCreateAsset.

+

Parameters:
+ + + +
[in] desc Asset descriptor (see NvBlastAssetDesc).
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the memory size (in bytes) required for the asset, or zero if desc is invalid.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
size_t NvBlastGetRequiredScratchForCreateAsset (const NvBlastAssetDesc desc,
NvBlastLog  logFn 
)
+
+
+ +

+Returns the number of bytes of scratch memory that the user must supply to NvBlastCreateAsset, based upon the descriptor that will be passed into that function.

+

Parameters:
+ + + +
[in] desc The asset descriptor that will be passed into NvBlastCreateAsset.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
the number of bytes of scratch memory required for a call to NvBlastCreateAsset with that descriptor.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool NvBlastReorderAssetDescChunks (NvBlastChunkDesc chunkDescs,
uint32_t  chunkCount,
NvBlastBondDesc bondDescs,
uint32_t  bondCount,
uint32_t *  chunkReorderMap,
void *  scratch,
NvBlastLog  logFn 
)
+
+
+ +

+Build and apply chunk reorder map.

+Function basically calls NvBlastBuildAssetDescChunkReorderMap and NvBlastApplyAssetDescChunkReorderMap. Used for Convenience.

+

Parameters:
+ + + + + + + + +
[in] chunkDescs Array of chunk descriptors of size chunkCount. It will be updated accordingly.
[in] chunkCount The number of chunk descriptors.
[in] bondDescs Array of bond descriptors of size chunkCount. It will be updated accordingly.
[in] bondCount The number of bond descriptors.
[in] chunkReorderMap Chunk reorder map to fill, must be of size chunkCount.
[in] scratch User-supplied scratch storage, must point to chunkCount * sizeof(NvBlastChunkDesc) valid bytes of memory.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
+
+
Returns:
true iff the chunks did not require reordering (chunkReorderMap is the identity map).
+ +
+

+ +

+
+ + + + + + + + + +
double NvBlastTicksToSeconds (int64_t  ticks  ) 
+
+
+ +

+Convert a tick value from NvBlastTimers to seconds.

+

Parameters:
+ + +
[in] ticks The tick value.
+
+
Returns:
the seconds correposnding to the input tick value.
+ +
+

+ +

+
+ + + + + + + + + +
void NvBlastTimersReset (NvBlastTimers timers  ) 
+
+
+ +

+Resets all values in the given NvBlastTimers struct to zero.

+

Parameters:
+ + +
[in] timers The NvBlastTimers to set to zero.
+
+ +
+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_assert_8h-source.html b/docs/api_docs/files/_nv_blast_assert_8h-source.html new file mode 100644 index 0000000..dad9069 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_assert_8h-source.html @@ -0,0 +1,91 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastAssert.h Source File + + + + + + + +

sdk/common/NvBlastAssert.h

Go to the documentation of this file.
00001 /*
+00002  * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003  *
+00004  * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005  * and proprietary rights in and to this software, related documentation
+00006  * and any modifications thereto.  Any use, reproduction, disclosure or
+00007  * distribution of this software and related documentation without an express
+00008  * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009  */
+00010 
+00011 #ifndef NVBLASTASSERT_H
+00012 #define NVBLASTASSERT_H
+00013 
+00014 
+00015 #include "NvBlastPreprocessor.h"
+00016 
+00017 
+00018 #if !NV_ENABLE_ASSERTS
+00019 #define NVBLAST_ASSERT(exp) ((void)0)
+00020 #define NVBLAST_ALWAYS_ASSERT_MESSAGE(exp) ((void)0)
+00021 #define NVBLAST_ASSERT_WITH_MESSAGE(condition, message) ((void)0)
+00022 #else
+00023 #if NV_VC
+00024 #define NVBLAST_CODE_ANALYSIS_ASSUME(exp)                                                                     \
+00025     __analysis_assume(!!(exp)) // This macro will be used to get rid of analysis warning messages if a NVBLAST_ASSERT is used
+00026 // to "guard" illegal mem access, for example.
+00027 #else
+00028 #define NVBLAST_CODE_ANALYSIS_ASSUME(exp)
+00029 #endif
+00030 #define NVBLAST_ASSERT(exp)                                                                                   \
+00031 {                                                                                                             \
+00032     static bool _ignore = false;                                                                              \
+00033     if (!(exp) && !_ignore) NvBlastAssertHandler(#exp, __FILE__, __LINE__, _ignore);                          \
+00034     NVBLAST_CODE_ANALYSIS_ASSUME(exp);                                                                        \
+00035 } ((void)0)
+00036 #define NVBLAST_ALWAYS_ASSERT_MESSAGE(exp)                                                                    \
+00037 {                                                                                                             \
+00038     static bool _ignore = false;                                                                              \
+00039     if(!_ignore)                                                                                              \
+00040     {                                                                                                         \
+00041         NvBlastAssertHandler(exp, __FILE__, __LINE__, _ignore);                                               \
+00042     }                                                                                                         \
+00043 } ((void)0)
+00044 #define NVBLAST_ASSERT_WITH_MESSAGE(exp, message)                                                             \
+00045 {                                                                                                             \
+00046     static bool _ignore = false;                                                                              \
+00047     if (!(exp) && !_ignore) NvBlastAssertHandler(message, __FILE__, __LINE__, _ignore);                       \
+00048     NVBLAST_CODE_ANALYSIS_ASSUME(exp);                                                                        \
+00049 } ((void)0)
+00050 #endif
+00051 
+00052 #define NVBLAST_ALWAYS_ASSERT() NVBLAST_ASSERT(0)
+00053 
+00054 
+00055 extern "C"
+00056 {
+00057 
+00058 NVBLAST_API void NvBlastAssertHandler(const char* expr, const char* file, int line, bool& ignore);
+00059 
+00060 } // extern "C"
+00061 
+00062 
+00063 #endif // #ifndef NVBLASTASSERT_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_assert_8h.html b/docs/api_docs/files/_nv_blast_assert_8h.html new file mode 100644 index 0000000..9638315 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_assert_8h.html @@ -0,0 +1,173 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastAssert.h File Reference + + + + + + + +
+

sdk/common/NvBlastAssert.h File Reference

#include "NvBlastPreprocessor.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + +

Defines

#define NVBLAST_ALWAYS_ASSERT()   NVBLAST_ASSERT(0)
#define NVBLAST_ALWAYS_ASSERT_MESSAGE(exp)   ((void)0)
#define NVBLAST_ASSERT(exp)   ((void)0)
#define NVBLAST_ASSERT_WITH_MESSAGE(condition, message)   ((void)0)

Functions

void NvBlastAssertHandler (const char *expr, const char *file, int line, bool &ignore)
+


Define Documentation

+ +
+
+ + + + +  + + + + +
#define NVBLAST_ALWAYS_ASSERT (  )    NVBLAST_ASSERT(0)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define NVBLAST_ALWAYS_ASSERT_MESSAGE (exp   )    ((void)0)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define NVBLAST_ASSERT (exp   )    ((void)0)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + +
#define NVBLAST_ASSERT_WITH_MESSAGE (condition,
message   )    ((void)0)
+
+
+ +

+ +

+

+


Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastAssertHandler (const char *  expr,
const char *  file,
int  line,
bool &  ignore 
)
+
+
+ +

+ +

+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_atomic_8h-source.html b/docs/api_docs/files/_nv_blast_atomic_8h-source.html new file mode 100644 index 0000000..6ff139a --- /dev/null +++ b/docs/api_docs/files/_nv_blast_atomic_8h-source.html @@ -0,0 +1,60 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastAtomic.h Source File + + + + + + + +

sdk/common/NvBlastAtomic.h

Go to the documentation of this file.
00001 /*
+00002  * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003  *
+00004  * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005  * and proprietary rights in and to this software, related documentation
+00006  * and any modifications thereto.  Any use, reproduction, disclosure or
+00007  * distribution of this software and related documentation without an express
+00008  * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009  */
+00010 
+00011 #ifndef NVBLASTATOMIC_H
+00012 #define NVBLASTATOMIC_H
+00013 
+00014 #include "NvBlastTypes.h"
+00015 
+00016 
+00017 namespace Nv
+00018 {
+00019 namespace Blast
+00020 {
+00021 
+00022 /* increment the specified location. Return the incremented value */
+00023 int32_t atomicIncrement(volatile int32_t* val);
+00024 
+00025 
+00026 /* decrement the specified location. Return the decremented value */
+00027 int32_t atomicDecrement(volatile int32_t* val);
+00028 
+00029 } // namespace Blast
+00030 } // namespace Nv
+00031 
+00032 #endif // #ifndef NVBLASTATOMIC_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_atomic_8h.html b/docs/api_docs/files/_nv_blast_atomic_8h.html new file mode 100644 index 0000000..63fa0d2 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_atomic_8h.html @@ -0,0 +1,45 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastAtomic.h File Reference + + + + + + + +
+

sdk/common/NvBlastAtomic.h File Reference

#include "NvBlastTypes.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + +

Namespaces

namespace  Nv
namespace  Nv::Blast

Functions

int32_t Nv::Blast::atomicDecrement (volatile int32_t *val)
int32_t Nv::Blast::atomicIncrement (volatile int32_t *val)
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_d_link_8h-source.html b/docs/api_docs/files/_nv_blast_d_link_8h-source.html new file mode 100644 index 0000000..46e77d4 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_d_link_8h-source.html @@ -0,0 +1,309 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastDLink.h Source File + + + + + + + +

sdk/common/NvBlastDLink.h

Go to the documentation of this file.
00001 /*
+00002  * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003  *
+00004  * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005  * and proprietary rights in and to this software, related documentation
+00006  * and any modifications thereto.  Any use, reproduction, disclosure or
+00007  * distribution of this software and related documentation without an express
+00008  * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009  */
+00010 
+00011 #ifndef NVBLASTDLINK_H
+00012 #define NVBLASTDLINK_H
+00013 
+00014 
+00015 #include "NvBlastAssert.h"
+00016 #include "NvBlastIndexFns.h"
+00017 
+00018 
+00019 namespace Nv
+00020 {
+00021 namespace Blast
+00022 {
+00023 
+00024 template<typename IndexType>
+00025 struct IndexDLink
+00026 {
+00027     IndexType   m_adj[2];
+00028 };
+00029 
+00030 
+00031 template<typename IndexType>
+00032 class IndexDList
+00033 {
+00034 public:
+00035     void        initLinksSolitary(IndexDLink<IndexType>* links, IndexType linkCount)
+00036     {
+00037         for (IndexType i = 0; i < linkCount; ++i)
+00038         {
+00039             links[i].m_adj[0] = invalidIndex<IndexType>();
+00040             links[i].m_adj[1] = invalidIndex<IndexType>();
+00041         }
+00042     }
+00043 
+00044     void        initLinksChain(IndexDLink<IndexType>* links, IndexType linkCount)
+00045     {
+00046         if (linkCount > 0)
+00047         {
+00048             links[0].m_adj[0] = invalidIndex<IndexType>();
+00049             for (IndexType i = 1; i < linkCount; ++i)
+00050             {
+00051                 links[i - 1].m_adj[1] = i;
+00052                 links[i].m_adj[0] = i - 1;
+00053             }
+00054             links[linkCount - 1].m_adj[1] = invalidIndex<IndexType>();
+00055         }
+00056     }
+00057 
+00058     IndexType   getAdj(IndexDLink<IndexType>* links, IndexType linkIndex, int which)
+00059     {
+00060         return links[linkIndex].m_adj[which & 1];
+00061     }
+00062 
+00063     void        remove(IndexDLink<IndexType>* links, IndexType linkIndex)
+00064     {
+00065         IndexDLink<IndexType>& link = links[linkIndex];
+00066         const IndexType adj0 = link.m_adj[0];
+00067         const IndexType adj1 = link.m_adj[1];
+00068         if (!isInvalidIndex(adj1))
+00069         {
+00070             links[adj1].m_adj[0] = adj0;
+00071             link.m_adj[1] = invalidIndex<IndexType>();
+00072         }
+00073         if (!isInvalidIndex(adj0))
+00074         {
+00075             links[adj0].m_adj[1] = adj1;
+00076             link.m_adj[0] = invalidIndex<IndexType>();
+00077         }
+00078     }
+00079 
+00080     bool        isSolitary(IndexDLink<IndexType>* links, IndexType linkIndex)
+00081     {
+00082         const IndexDLink<IndexType>& link = links[linkIndex];
+00083         return isInvalidIndex(link.m_adj[0]) && isInvalidIndex(link.m_adj[1]);
+00084     }
+00085 
+00086     void        insertListHead(IndexType& listHead, IndexDLink<IndexType>* links, IndexType linkIndex)
+00087     {
+00088         NVBLAST_ASSERT(!isInvalidIndex(linkIndex));
+00089         if (!isInvalidIndex(listHead))
+00090         {
+00091             links[listHead].m_adj[0] = linkIndex;
+00092         }
+00093         links[linkIndex].m_adj[1] = listHead;
+00094         listHead = linkIndex;
+00095     }
+00096 
+00097     IndexType   removeListHead(IndexType& listHead, IndexDLink<IndexType>* links)
+00098     {
+00099         const IndexType linkIndex = listHead;
+00100         if (!isInvalidIndex(linkIndex))
+00101         {
+00102             listHead = links[linkIndex].m_adj[1];
+00103             if (!isInvalidIndex(listHead))
+00104             {
+00105                 links[listHead].m_adj[0] = invalidIndex<IndexType>();
+00106             }
+00107             links[linkIndex].m_adj[1] = invalidIndex<IndexType>();
+00108         }
+00109         return linkIndex;
+00110     }
+00111 
+00112     void        removeFromList(IndexType& listHead, IndexDLink<IndexType>* links, IndexType linkIndex)
+00113     {
+00114         NVBLAST_ASSERT(!isInvalidIndex(linkIndex));
+00115         if (listHead == linkIndex)
+00116         {
+00117             listHead = links[linkIndex].m_adj[1];
+00118         }
+00119         remove(links, linkIndex);
+00120     }
+00121 };
+00122 
+00123 
+00124 struct DLink
+00125 {
+00126     DLink() : m_prev(nullptr), m_next(nullptr) {}
+00127 
+00128     DLink*  getPrev() const
+00129     {
+00130         return m_prev;
+00131     }
+00132 
+00133     DLink*  getNext() const
+00134     {
+00135         return m_next;
+00136     }
+00137 
+00138 private:
+00139     DLink*  m_prev;
+00140     DLink*  m_next;
+00141 
+00142     friend class DList;
+00143 };
+00144 
+00145 
+00146 class DList
+00147 {
+00148 public:
+00149     DList() : m_head(nullptr), m_tail(nullptr) {}
+00150 
+00151     bool    isEmpty() const
+00152     {
+00153         NVBLAST_ASSERT((m_head == nullptr) == (m_tail == nullptr));
+00154         return m_head == nullptr;
+00155     }
+00156 
+00157     bool    isSolitary(const DLink& link) const
+00158     {
+00159         return link.m_prev == nullptr && link.m_next == nullptr && m_head != &link;
+00160     }
+00161 
+00162     DLink*  getHead() const
+00163     {
+00164         return m_head;
+00165     }
+00166 
+00167     DLink*  getTail() const
+00168     {
+00169         return m_tail;
+00170     }
+00171 
+00172     bool    insertHead(DLink& link)
+00173     {
+00174         NVBLAST_ASSERT(isSolitary(link));
+00175         if (!isSolitary(link))
+00176         {
+00177             return false;
+00178         }
+00179 
+00180         link.m_next = m_head;
+00181         if (m_head != nullptr)
+00182         {
+00183             m_head->m_prev = &link;
+00184         }
+00185         m_head = &link;
+00186         if (m_tail == nullptr)
+00187         {
+00188             m_tail = &link;
+00189         }
+00190 
+00191         return true;
+00192     }
+00193 
+00194     bool    insertTail(DLink& link)
+00195     {
+00196         NVBLAST_ASSERT(isSolitary(link));
+00197         if (!isSolitary(link))
+00198         {
+00199             return false;
+00200         }
+00201 
+00202         link.m_prev = m_tail;
+00203         if (m_tail != nullptr)
+00204         {
+00205             m_tail->m_next = &link;
+00206         }
+00207         m_tail = &link;
+00208         if (m_head == nullptr)
+00209         {
+00210             m_head = &link;
+00211         }
+00212 
+00213         return true;
+00214     }
+00215 
+00216     void    remove(DLink& link)
+00217     {
+00218         if (link.m_prev != nullptr)
+00219         {
+00220             link.m_prev->m_next = link.m_next;
+00221         }
+00222         else
+00223         if (m_head == &link)
+00224         {
+00225             m_head = link.m_next;
+00226         }
+00227 
+00228         if (link.m_next != nullptr)
+00229         {
+00230             link.m_next->m_prev = link.m_prev;
+00231         }
+00232         else
+00233         if (m_tail == &link)
+00234         {
+00235             m_tail = link.m_prev;
+00236         }
+00237 
+00238         link.m_next = link.m_prev = nullptr;
+00239     }
+00240 
+00241     class It
+00242     {
+00243     public:
+00244         enum Direction { Reverse, Forward };
+00245 
+00246         It(const DList& list, Direction dir = Forward) : m_curr(dir == Forward ? list.getHead() : list.getTail()) {}
+00247 
+00249         operator bool() const
+00250         {
+00251             return m_curr != nullptr;
+00252         }
+00253 
+00255         operator const DLink*() const
+00256         {
+00257             return m_curr;
+00258         }
+00259 
+00261         const DLink*    operator ++ ()
+00262         {
+00263             return m_curr = m_curr->getNext();
+00264         }
+00265 
+00267         const DLink*    operator -- ()
+00268         {
+00269             return m_curr = m_curr->getPrev();
+00270         }
+00271 
+00272     private:
+00273         const DLink*    m_curr;
+00274     };
+00275 
+00276 private:
+00277     DLink*  m_head;
+00278     DLink*  m_tail;
+00279 };
+00280 
+00281 } // end namespace Blast
+00282 } // end namespace Nv
+00283 
+00284 
+00285 #endif // #ifndef NVBLASTDLINK_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_d_link_8h.html b/docs/api_docs/files/_nv_blast_d_link_8h.html new file mode 100644 index 0000000..b40f8e9 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_d_link_8h.html @@ -0,0 +1,52 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastDLink.h File Reference + + + + + + + +
+

sdk/common/NvBlastDLink.h File Reference

#include "NvBlastAssert.h"
+#include "NvBlastIndexFns.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + +

Classes

struct  Nv::Blast::DLink
class  Nv::Blast::DList
class  Nv::Blast::DList::DList::It
struct  Nv::Blast::IndexDLink< IndexType >
class  Nv::Blast::IndexDList< IndexType >

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_apex_import_tool_8h-source.html b/docs/api_docs/files/_nv_blast_ext_apex_import_tool_8h-source.html new file mode 100644 index 0000000..07dab2d --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_apex_import_tool_8h-source.html @@ -0,0 +1,153 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/import/include/NvBlastExtApexImportTool.h Source File + + + + + + + +

sdk/extensions/import/include/NvBlastExtApexImportTool.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTAPEXIMPORTTOOL_H
+00012 #define NVBLASTEXTAPEXIMPORTTOOL_H
+00013 
+00014 #include "NvBlast.h"
+00015 #include <vector>
+00016 #include <string>
+00017 #include "NvBlastExtPxAsset.h"
+00018 
+00019 namespace physx
+00020 {
+00021 class PxErrorCallback;
+00022 class PxAllocatorCallback;
+00023 namespace general_PxIOStream2
+00024 {
+00025 class PxFileBuf;
+00026 }
+00027 }
+00028 
+00029 namespace nvidia
+00030 {
+00031 namespace apex
+00032 {
+00033 class ApexSDK;
+00034 class ModuleDestructible;
+00035 class DestructibleAsset;
+00036 }
+00037 using namespace physx::general_PxIOStream2;
+00038 }
+00039 
+00040 
+00041 namespace Nv
+00042 {
+00043 namespace Blast
+00044 {
+00045 
+00046 struct CollisionHull;
+00047 class TkFramework;
+00048 
+00049 namespace ApexImporter
+00050 {
+00051 
+00052 struct ApexImporterConfig
+00053 {
+00063     enum InterfaceSearchMode { EXACT, FORCED, MODE_COUNT };
+00064 
+00065     ApexImporterConfig()
+00066     {
+00067         setDefaults();
+00068     }
+00069 
+00070     void setDefaults()
+00071     {
+00072         infSearchMode               =   EXACT;
+00073     }
+00074     InterfaceSearchMode infSearchMode;
+00075 };
+00076 
+00077 
+00078 class ApexDestruction;
+00079 
+00080 
+00084 class ApexImportTool
+00085 {
+00086 public:
+00087 
+00092     ApexImportTool(NvBlastLog logFn = NULL);
+00093     ~ApexImportTool();
+00094 
+00096 
+00101     bool                                initialize();
+00102 
+00109     bool                                initialize(nvidia::apex::ApexSDK* apexSdk, nvidia::apex::ModuleDestructible* moduleDestructible);
+00110 
+00115     bool                                isValid();
+00116 
+00117 
+00123     nvidia::apex::DestructibleAsset*    loadAssetFromFile(nvidia::PxFileBuf* stream);
+00124 
+00125 
+00136     bool                                importApexAsset(std::vector<uint32_t>& chunkReorderInvMap, const nvidia::apex::DestructibleAsset* apexAsset,
+00137                                             std::vector<NvBlastChunkDesc>& chunkDescriptors, std::vector<NvBlastBondDesc>& bondDescriptors, std::vector<uint32_t>& flags);
+00138 
+00150     bool                                importApexAsset(std::vector<uint32_t>& chunkReorderInvMap, const nvidia::apex::DestructibleAsset* apexAsset,
+00151                                             std::vector<NvBlastChunkDesc>& chunkDescriptors, std::vector<NvBlastBondDesc>& bondDescriptors, std::vector<uint32_t>& flags,
+00152                                             const ApexImporterConfig& config);
+00153 
+00154 
+00161     bool                                saveAsset(const NvBlastAsset* asset, nvidia::PxFileBuf* stream);
+00162 
+00173     bool                                getCollisionGeometry(const nvidia::apex::DestructibleAsset* apexAsset, uint32_t chunkCount, std::vector<uint32_t>& chunkReorderInvMap,
+00174                                                 const std::vector<uint32_t>& apexChunkFlags, std::vector<ExtPxAssetDesc::ChunkDesc>& physicsChunks,
+00175                                                 std::vector<ExtPxAssetDesc::SubchunkDesc>& physicsSubchunks);
+00176 
+00177     ApexDestruction*                    m_apexDestruction;
+00179 
+00180 private:
+00181     bool                                importApexAssetInternal(std::vector<uint32_t>& chunkReorderInvMap, const nvidia::apex::DestructibleAsset* apexAsset,
+00182                                             std::vector<NvBlastChunkDesc>& chunkDescriptors, std::vector<NvBlastBondDesc>& bondDesc, std::vector<uint32_t>& flags,
+00183                                             const ApexImporterConfig& configDesc);
+00184     
+00185 
+00186 protected:
+00187     NvBlastLog  m_log;
+00188 
+00189 protected:
+00190     ApexImportTool(const ApexImportTool&);
+00191     ApexImportTool& operator=(const ApexImportTool&);
+00192 };
+00193 
+00194 } // namespace ApexImporter
+00195 
+00196 } // namespace Blast
+00197 } // namespace Nv
+00198 
+00199 #endif // NVBLASTEXTAPEXIMPORTTOOL_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_apex_import_tool_8h.html b/docs/api_docs/files/_nv_blast_ext_apex_import_tool_8h.html new file mode 100644 index 0000000..f62af98 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_apex_import_tool_8h.html @@ -0,0 +1,58 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/import/include/NvBlastExtApexImportTool.h File Reference + + + + + + + +
+

sdk/extensions/import/include/NvBlastExtApexImportTool.h File Reference

#include "NvBlast.h"
+#include <vector>
+#include <string>
+#include "NvBlastExtPxAsset.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + +

Classes

struct  Nv::Blast::ApexImporter::ApexImporterConfig
class  Nv::Blast::ApexImporter::ApexImportTool

Namespaces

namespace  Nv
namespace  Nv::Blast
namespace  Nv::Blast::ApexImporter
namespace  nvidia
namespace  nvidia::apex
namespace  physx
namespace  physx::general_PxIOStream2
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_bond_generator_8h-source.html b/docs/api_docs/files/_nv_blast_ext_authoring_bond_generator_8h-source.html new file mode 100644 index 0000000..2c7effb --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_authoring_bond_generator_8h-source.html @@ -0,0 +1,123 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringBondGenerator.h Source File + + + + + + + +

sdk/extensions/authoring/include/NvBlastExtAuthoringBondGenerator.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTAUTHORINGBONDGENERATOR_H
+00012 #define NVBLASTEXTAUTHORINGBONDGENERATOR_H
+00013 
+00014 #include "NvBlastExtAuthoringTypes.h"
+00015 #include "NvBlastExtAuthoringFractureTool.h"
+00016 #include "NvBlastTypes.h"
+00017 #include "../cooking/PxCooking.h"
+00018 #include <PxPlane.h>
+00019 #include <NvBlastExtAuthoringCollisionBuilder.h>
+00020 struct NvBlastBondDesc;
+00021 struct NvBlastChunkDesc;
+00022 struct NvBlastBond;
+00023 
+00024 using namespace physx;
+00025 
+00026 
+00027 namespace Nv
+00028 {
+00029 namespace Blast
+00030 {
+00031 
+00032 // Forward declarations
+00033 class TriangleProcessor;
+00034 struct PlaneChunkIndexer;
+00035 
+00041 struct BondGenerationConfig
+00042 {
+00043     enum BondGenMode { EXACT, AVERAGE };
+00044     BondGenMode bondMode;
+00045 };
+00046 
+00047 
+00048 struct PlaneChunkIndexer
+00049 {
+00050     PlaneChunkIndexer(int32_t chunkId, int32_t trId, physx::PxPlane pl) : chunkId(chunkId), trId(trId), plane(pl) {}
+00051     int32_t chunkId;
+00052     int32_t trId;
+00053     physx::PxPlane plane;
+00054 };
+00055 
+00056 
+00061 class BlastBondGenerator
+00062 {
+00063 public:
+00064                 
+00065     BlastBondGenerator(physx::PxCooking* cooking, physx::PxPhysicsInsertionCallback* insertionCallback) : mPxCooking(cooking), mPxInsertionCallback(insertionCallback){};
+00066 
+00075     int32_t buildDescFromInternalFracture(FractureTool* tool, const std::vector<bool>& chunkIsSupport, std::vector<NvBlastBondDesc>& resultBondDescs, std::vector<NvBlastChunkDesc>& resultChunkDescriptors);
+00076 
+00077 
+00086     int32_t createBondBetweenMeshes(const std::vector<Triangle>& meshA, const std::vector<Triangle>& meshB, NvBlastBond& resultBond, BondGenerationConfig conf = BondGenerationConfig());
+00087 
+00096     int32_t createBondBetweenMeshes(const std::vector<std::vector<Triangle> >& geometry, std::vector<NvBlastBondDesc>& resultBond, const std::vector<std::pair<uint32_t, uint32_t> >& overlaps, BondGenerationConfig cfg);
+00097 
+00098 
+00107     int32_t bondsFromPrefractured(const std::vector<std::vector<Triangle>>& geometry, const std::vector<bool>& chunkIsSupport, std::vector<NvBlastBondDesc>& resultBondDescs, BondGenerationConfig conf = BondGenerationConfig());
+00108                 
+00109 private:
+00110     float   processWithMidplanes(TriangleProcessor* trProcessor, const std::vector<physx::PxVec3>& chunk1Points, const std::vector<physx::PxVec3>& chunk2Points,
+00111                                  const std::vector<physx::PxVec3>& hull1p,const std::vector<physx::PxVec3>& hull2p, physx::PxVec3& normal, physx::PxVec3& centroid);
+00112 
+00113     int32_t createFullBondListAveraged(const std::vector<std::vector<Triangle>>& chunksGeometry, const std::vector<bool>& supportFlags, std::vector<NvBlastBondDesc>& mResultBondDescs, BondGenerationConfig conf);
+00114     int32_t createFullBondListExact(const std::vector<std::vector<Triangle>>& chunksGeometry, const std::vector<bool>& supportFlags, std::vector<NvBlastBondDesc>& mResultBondDescs, BondGenerationConfig conf);
+00115     int32_t createFullBondListExactInternal(const std::vector<std::vector<Triangle>>& chunksGeometry, std::vector < PlaneChunkIndexer >& planeTriangleMapping , std::vector<NvBlastBondDesc>& mResultBondDescs);
+00116     int32_t createBondForcedInternal(const std::vector<PxVec3>& hull0, const std::vector<PxVec3>& hull1,const CollisionHull& cHull0, const CollisionHull& cHull1,PxBounds3 bound0, PxBounds3 bound1, NvBlastBond& resultBond, float overlapping);
+00117 
+00118     void    buildGeometryCache(const std::vector<std::vector<Triangle> >& geometry);
+00119     void    resetGeometryCache();
+00120 
+00121     physx::PxCooking*                           mPxCooking;
+00122     physx::PxPhysicsInsertionCallback*          mPxInsertionCallback;
+00123 
+00124 
+00125     std::vector<std::vector<Triangle> >         mGeometryCache;
+00126 
+00127     std::vector<PlaneChunkIndexer>              mPlaneCache;
+00128     std::vector<CollisionHull>                  mCHullCache;
+00129     std::vector<std::vector<physx::PxVec3> >    mHullsPointsCache;
+00130     std::vector<physx::PxBounds3 >              mBoundsCache;
+00131 };
+00132 
+00133 }   // namespace Blast
+00134 }   // namespace Nv
+00135 
+00136 #endif // NVBLASTEXTAUTHORINGBONDGENERATOR_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_bond_generator_8h.html b/docs/api_docs/files/_nv_blast_ext_authoring_bond_generator_8h.html new file mode 100644 index 0000000..5c9e23d --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_authoring_bond_generator_8h.html @@ -0,0 +1,52 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringBondGenerator.h File Reference + + + + + + + +
+

sdk/extensions/authoring/include/NvBlastExtAuthoringBondGenerator.h File Reference

#include "NvBlastExtAuthoringTypes.h"
+#include "NvBlastExtAuthoringFractureTool.h"
+#include "NvBlastTypes.h"
+#include "../cooking/PxCooking.h"
+#include <PxPlane.h>
+#include <NvBlastExtAuthoringCollisionBuilder.h>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + +

Classes

class  Nv::Blast::BlastBondGenerator
struct  Nv::Blast::BondGenerationConfig
struct  Nv::Blast::PlaneChunkIndexer

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_collision_builder_8h-source.html b/docs/api_docs/files/_nv_blast_ext_authoring_collision_builder_8h-source.html new file mode 100644 index 0000000..7a7286d --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_authoring_collision_builder_8h-source.html @@ -0,0 +1,106 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringCollisionBuilder.h Source File + + + + + + + +

sdk/extensions/authoring/include/NvBlastExtAuthoringCollisionBuilder.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTAUTHORINGCOLLISIONBUILDER_H
+00012 #define NVBLASTEXTAUTHORINGCOLLISIONBUILDER_H
+00013 
+00014 #include "NvBlastTypes.h"
+00015 #include <vector>
+00016 #include <PxVec3.h>
+00017 
+00018 namespace physx
+00019 {
+00020     class PxCooking;
+00021     class PxPhysicsInsertionCallback;
+00022     class PxVec3;
+00023     class PxConvexMesh;
+00024 }
+00025 
+00026 
+00027 namespace Nv
+00028 {
+00029 namespace Blast
+00030 {
+00031 
+00035 struct CollisionHull
+00036 {
+00040     struct HullPolygon
+00041     {
+00042         // Polygon base plane
+00043         float       mPlane[4];
+00044         // Number vertices in polygon
+00045         uint16_t    mNbVerts;
+00046         // First index in CollisionHull.indices array for this polygon
+00047         uint16_t    mIndexBase;
+00048     };
+00050 
+00051     CollisionHull(){};
+00052 
+00053     std::vector<physx::PxVec3>  points;
+00054     std::vector<uint32_t>       indices;
+00055     std::vector<HullPolygon>    polygonData;
+00056 };
+00057 
+00058 
+00064 class ConvexMeshBuilder
+00065 {
+00066 public:
+00067 
+00071     ConvexMeshBuilder(physx::PxCooking* cooking, physx::PxPhysicsInsertionCallback* insertionCallback) : mInsertionCallback(insertionCallback), mCooking(cooking) {}
+00072 
+00078     void                    buildCollisionGeometry(const std::vector<physx::PxVec3>& vertexData, CollisionHull& output);
+00079 
+00086     physx::PxConvexMesh*    buildConvexMesh(std::vector<physx::PxVec3>& vertexData);
+00087 
+00088 
+00095     physx::PxConvexMesh*    buildConvexMesh(CollisionHull& hull);
+00096 
+00097 
+00111     void                    trimCollisionGeometry(std::vector<CollisionHull>& in, const std::vector<uint32_t>& chunkDepth);
+00112 
+00113 
+00114 private:
+00115     physx::PxPhysicsInsertionCallback*  mInsertionCallback;
+00116     physx::PxCooking*                   mCooking;
+00117 };
+00118 
+00119 } // namespace Blast
+00120 } // namespace Nv
+00121 
+00122 
+00123 #endif // ifndef NVBLASTEXTAUTHORINGCOLLISIONBUILDER_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_collision_builder_8h.html b/docs/api_docs/files/_nv_blast_ext_authoring_collision_builder_8h.html new file mode 100644 index 0000000..9777409 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_authoring_collision_builder_8h.html @@ -0,0 +1,51 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringCollisionBuilder.h File Reference + + + + + + + +
+

sdk/extensions/authoring/include/NvBlastExtAuthoringCollisionBuilder.h File Reference

#include "NvBlastTypes.h"
+#include <vector>
+#include <PxVec3.h>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + +

Classes

struct  Nv::Blast::CollisionHull
struct  Nv::Blast::CollisionHull::CollisionHull::HullPolygon
class  Nv::Blast::ConvexMeshBuilder

Namespaces

namespace  Nv
namespace  Nv::Blast
namespace  physx
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html b/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html new file mode 100644 index 0000000..bfab33c --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html @@ -0,0 +1,250 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h Source File + + + + + + + +

sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTAUTHORINGFRACTURETOOL_H
+00012 #define NVBLASTAUTHORINGFRACTURETOOL_H
+00013 
+00014 #include "NvBlastExtAuthoringMesh.h"
+00015 #include "NvBlastTypes.h"
+00016 
+00017 
+00018 namespace Nv
+00019 {
+00020 namespace Blast
+00021 {
+00022 
+00023 class SpatialAccelerator;
+00024 class ChunkPostProcessor;
+00025 
+00026 
+00027 /*
+00028     Chunk data, chunk with chunkId == 0 is always source mesh.
+00029 */
+00030 struct ChunkInfo
+00031 {
+00032     Mesh*   meshData;
+00033     int32_t parent;
+00034     int32_t chunkId;
+00035     bool    isLeaf;
+00036 };
+00037 
+00038 
+00039 /*
+00040     Slicing fracturing configuration
+00041 
+00042 
+00043     default:
+00044     x_slices = 1;
+00045     y_slices = 1;
+00046     z_slices = 1;
+00047 
+00048     offset_variations   = 0.f;
+00049     angle_variations    = 0.f;
+00050     noiseAmplitude      = 0.f;
+00051     noiseFrequency      = 1.f;
+00052     noiseOctaveNumber   = 1;
+00053     surfaceResolution   = 1;
+00054 */
+00055 struct SlicingConfiguration
+00056 {
+00060     int32_t x_slices, y_slices, z_slices;
+00061     
+00065     float   offset_variations;
+00069     float   angle_variations;
+00070 
+00071 
+00077     float noiseAmplitude;
+00081     float noiseFrequency;
+00085     uint32_t noiseOctaveNumber;
+00089     int32_t surfaceResolution;
+00090 
+00091 
+00092     SlicingConfiguration()
+00093     {
+00094         reset();
+00095     }
+00099     void reset()
+00100     {
+00101         x_slices = 1;
+00102         y_slices = 1;
+00103         z_slices = 1;
+00104 
+00105         offset_variations   = 0.f;
+00106         angle_variations    = 0.f;
+00107         noiseAmplitude      = 0.f;
+00108         noiseFrequency      = 1.f;
+00109         noiseOctaveNumber   = 1;
+00110         surfaceResolution   = 1;
+00111     }
+00112 
+00113 };
+00114 
+00115 
+00116 
+00120 class VoronoiSitesGenerator
+00121 {
+00122 public:
+00123     
+00131     VoronoiSitesGenerator(Mesh* mesh, RandomGeneratorBase* rnd);
+00132     ~VoronoiSitesGenerator();
+00133 
+00137     void                        setBaseMesh(Mesh* m);
+00138 
+00142     std::vector<physx::PxVec3>& getVoronoiSites();
+00143     
+00148     void                        addSite(const physx::PxVec3& site);
+00153     void                        uniformlyGenerateSitesInMesh(const uint32_t numberOfSites);
+00154 
+00161     void                        clusteredSitesGeneration(const uint32_t numberOfClusters, const uint32_t sitesPerCluster, float clusterRadius);
+00162 
+00173     void                        radialPattern(const physx::PxVec3& center, const physx::PxVec3& normal, float radius, int32_t angularSteps, int32_t radialSteps, float angleOffset = 0.0f, float variability = 0.0f);
+00174 
+00181     void                        generateInSphere(const uint32_t count, const float radius, const physx::PxVec3& center);
+00186     void                        setStencil(Mesh* stencil);
+00190     void                        clearStencil();
+00191 
+00198     void                        deleteInSphere(const float radius, const physx::PxVec3& center, const float eraserProbability = 1);
+00199 
+00200 private:
+00201     std::vector<physx::PxVec3>  mGeneratedSites;
+00202     Mesh*                       mMesh;
+00203     Mesh*                       mStencil;
+00204     RandomGeneratorBase*        mRnd;
+00205     SpatialAccelerator*         mAccelerator;
+00206 };
+00207 
+00208 
+00209 
+00213 class FractureTool
+00214 {
+00215 
+00216 public:
+00217 
+00221     FractureTool(NvBlastLog logCallback = nullptr)
+00222     {
+00223         mPlaneIndexerOffset = 1;
+00224         mChunkIdCounter = 0;
+00225         mRemoveIslands = false;
+00226         mLoggingCallback = logCallback;
+00227     }
+00228 
+00229     ~FractureTool()
+00230     {
+00231         reset();
+00232     }
+00233 
+00237     void                                    reset();
+00238     
+00239     
+00243     void                                    setSourceMesh(Mesh* mesh);
+00244 
+00248     Mesh                                    getChunkMesh(int32_t chunkId);
+00249 
+00254     void                                    getTransformation(physx::PxVec3& offset, float& scale);
+00255 
+00256 
+00265     int32_t                                 voronoiFracturing(uint32_t chunkId, const std::vector<physx::PxVec3>& cellPoints, bool replaceChunk);
+00266 
+00277     int32_t                                 voronoiFracturing(uint32_t chunkId, const std::vector<physx::PxVec3>& cellPoints, const physx::PxVec3& scale, bool replaceChunk);
+00278 
+00279 
+00290     int32_t                                 slicing(uint32_t chunkId, SlicingConfiguration conf, bool replaceChunk, RandomGeneratorBase* rnd);
+00291 
+00292 
+00296     void                                    finalizeFracturing();
+00297     
+00301     const std::vector<ChunkInfo>&           getChunkList();
+00302 
+00303 
+00308     void                                    tesselate(float averageEdgeLength);
+00309     
+00320     void                                    applyNoise(float amplitude, float frequency, int32_t octaves, float falloff, int32_t relaxIterations, float relaxFactor, int32_t seed = 0);
+00321 
+00329     static float                            getMeshOverlap(Mesh& meshA, Mesh& meshB);
+00330 
+00336     void                                    getBaseMesh(int32_t chunkIndex, std::vector<Triangle>& output);
+00337 
+00343     void                                    getNoisedMesh(int32_t chunkIndex, std::vector<Triangle>& output);
+00344 
+00345 
+00351     int32_t                                 getChunkIndex(int32_t chunkId);
+00352 
+00358     int32_t                                 getChunkId(int32_t chunkIndex);
+00359 
+00365     int32_t                                 getChunkDepth(int32_t chunkId);
+00366 
+00372     std::vector<int32_t>                    getChunksIdAtDepth(uint32_t depth);
+00373 
+00374 
+00381     void                                    getBufferedBaseMeshes(std::vector<Vertex>& vertexBuffer, std::vector<std::vector<uint32_t> >& indexBuffer);
+00382 
+00389     void                                    getBufferedNoiseMeshes(std::vector<Vertex>& vertexBuffer, std::vector<std::vector<uint32_t> >& indexBuffer);
+00390 
+00395     void                                    setRemoveIslands(bool isRemoveIslands);
+00396 
+00402     int32_t                                 islandDetectionAndRemoving(int32_t chunkId);
+00403 
+00404 private:    
+00405     void                                    eraseChunk(int32_t chunkId);    
+00406     bool                                    isAncestorForChunk(int32_t ancestorId, int32_t chunkId);
+00407     void                                    deleteAllChildsOfChunk(int32_t chunkId);
+00408     int32_t                                 slicingNoisy(uint32_t chunkId, SlicingConfiguration conf, bool replaceChunk, RandomGeneratorBase* rnd);
+00409 
+00410 protected:
+00414     float                               mScaleFactor;
+00415     physx::PxVec3                       mOffset;
+00416 
+00417     /* Chunk mesh wrappers */
+00418     std::vector<ChunkPostProcessor*>    mChunkPostprocessors;
+00419 
+00420 
+00421     
+00422     int32_t                             mPlaneIndexerOffset;
+00423     int32_t                             mChunkIdCounter;
+00424     std::vector<ChunkInfo>              mChunkData;
+00425 
+00426     bool                                mRemoveIslands;
+00427 
+00428     NvBlastLog                          mLoggingCallback;
+00429 };
+00430 
+00431 } // namespace Blast
+00432 } // namespace Nv
+00433 
+00434 
+00435 #endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h.html b/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h.html new file mode 100644 index 0000000..552de74 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h.html @@ -0,0 +1,50 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h File Reference + + + + + + + +
+

sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h File Reference

#include "NvBlastExtAuthoringMesh.h"
+#include "NvBlastTypes.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + +

Classes

struct  Nv::Blast::ChunkInfo
class  Nv::Blast::FractureTool
struct  Nv::Blast::SlicingConfiguration
class  Nv::Blast::VoronoiSitesGenerator

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_mesh_8h-source.html b/docs/api_docs/files/_nv_blast_ext_authoring_mesh_8h-source.html new file mode 100644 index 0000000..adbe6a5 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_authoring_mesh_8h-source.html @@ -0,0 +1,105 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringMesh.h Source File + + + + + + + +

sdk/extensions/authoring/include/NvBlastExtAuthoringMesh.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTAUTHORINGMESH_H
+00012 #define NVBLASTAUTHORINGMESH_H
+00013 
+00014 #include "NvBlastExtAuthoringTypes.h"
+00015 #include <vector>
+00016 
+00017 
+00018 namespace Nv
+00019 {
+00020 namespace Blast
+00021 {
+00022 
+00026 class Mesh
+00027 {
+00028 public:
+00029 
+00039     Mesh(physx::PxVec3* position, physx::PxVec3* normals, physx::PxVec2* uv, uint32_t verticesCount, uint32_t* indices, uint32_t indicesCount);
+00040 
+00050     Mesh(Vertex* vertices, Edge* edges, Facet* facets, uint32_t posCount, uint32_t edgesCount, uint32_t facetsCount);
+00051 
+00052     ~Mesh();
+00053 
+00057     bool                isValid();
+00058 
+00062     Vertex*             getVertices();
+00063 
+00067     Edge*               getEdges();
+00068 
+00072     Facet*              getFacetsBuffer();
+00073 
+00077     Facet*              getFacet(int32_t facet);
+00078 
+00082     uint32_t            getEdgesCount();
+00083 
+00087     uint32_t            getVerticesCount();
+00088 
+00092     uint32_t            getFacetCount();
+00093 
+00097     physx::PxBounds3&   getBoundingBox();
+00098 
+00102     void                recalculateBoundingBox();
+00103 
+00108     float               getMeshVolume();
+00109 
+00110 private:
+00111     std::vector<Vertex> mVertices;
+00112     std::vector<Edge>   mEdges;
+00113     std::vector<Facet>  mFacets;
+00114     physx::PxBounds3    mBounds;
+00115 };
+00116 
+00117 
+00130 void    setCuttingBox(const physx::PxVec3& point, const physx::PxVec3& normal, Mesh* mesh, float size, int32_t id);
+00138 Mesh*   getCuttingBox(const physx::PxVec3& point, const physx::PxVec3& normal, float size, int32_t id);
+00139 
+00145 Mesh*   getBigBox(const physx::PxVec3& point, float size);
+00146 
+00160 Mesh* getNoisyCuttingBoxPair(const physx::PxVec3& point, const physx::PxVec3& normal, float size, float jaggedPlaneSize, uint32_t resolution, int32_t id, float amplitude, float frequency, int32_t octaves, int32_t seed);
+00161 
+00162 
+00168 void inverseNormalAndSetIndices(Mesh* mesh, int32_t id);
+00169 
+00170 } // namespace Blast
+00171 } // namespace Nv
+00172 
+00173 
+00174 #endif // ifndef NVBLASTAUTHORINGMESH_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_mesh_8h.html b/docs/api_docs/files/_nv_blast_ext_authoring_mesh_8h.html new file mode 100644 index 0000000..64d83e6 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_authoring_mesh_8h.html @@ -0,0 +1,55 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringMesh.h File Reference + + + + + + + +
+

sdk/extensions/authoring/include/NvBlastExtAuthoringMesh.h File Reference

#include "NvBlastExtAuthoringTypes.h"
+#include <vector>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + +

Classes

class  Nv::Blast::Mesh

Namespaces

namespace  Nv
namespace  Nv::Blast

Functions

Mesh * Nv::Blast::getBigBox (const physx::PxVec3 &point, float size)
Mesh * Nv::Blast::getCuttingBox (const physx::PxVec3 &point, const physx::PxVec3 &normal, float size, int32_t id)
Mesh * Nv::Blast::getNoisyCuttingBoxPair (const physx::PxVec3 &point, const physx::PxVec3 &normal, float size, float jaggedPlaneSize, uint32_t resolution, int32_t id, float amplitude, float frequency, int32_t octaves, int32_t seed)
void Nv::Blast::inverseNormalAndSetIndices (Mesh *mesh, int32_t id)
void Nv::Blast::setCuttingBox (const physx::PxVec3 &point, const physx::PxVec3 &normal, Mesh *mesh, float size, int32_t id)
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_types_8h-source.html b/docs/api_docs/files/_nv_blast_ext_authoring_types_8h-source.html new file mode 100644 index 0000000..6787724 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_authoring_types_8h-source.html @@ -0,0 +1,138 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h Source File + + + + + + + +

sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTAUTHORINGTYPES_H
+00012 #define NVBLASTAUTHORINGTYPES_H
+00013 
+00014 #include <PxVec3.h>
+00015 #include <PxVec2.h>
+00016 #include <PxBounds3.h>
+00017 #include <algorithm>
+00018 #include "NvBlastTypes.h"
+00019 
+00020 #define NOT_VALID_VERTEX INT32_MAX
+00021 
+00022 namespace Nv
+00023 {
+00024 namespace Blast
+00025 {
+00026 
+00030 struct Edge
+00031 {
+00032     uint32_t s, e;
+00033     Edge() : s(NOT_VALID_VERTEX), e(NOT_VALID_VERTEX){}
+00034     Edge(int s, int e) : s(s), e(e) {}
+00035     bool operator<(const Edge& b) const
+00036     {
+00037         if (s == b.s)
+00038             return e < b.e;
+00039         else
+00040             return s < b.s;
+00041     }
+00042 };
+00043 
+00047 struct Vertex
+00048 {
+00049     physx::PxVec3 p; // Position
+00050     physx::PxVec3 n; // Normal
+00051     physx::PxVec2 uv[1]; // UV-coordinates array, currently supported only one UV coordinate.
+00052 };
+00053 
+00057 struct Triangle
+00058 {
+00059     Triangle() {};
+00060     Triangle(Vertex a, Vertex b, Vertex c) : a(a), b(b), c(c) {};
+00061     Vertex a, b, c;
+00062     int32_t userInfo;
+00063     physx::PxVec3 getNormal()
+00064     {
+00065         return ((b.p - a.p).cross(c.p - a.p));
+00066     }
+00067 };
+00068 
+00069 
+00073 struct TriangleIndexed
+00074 {
+00075     TriangleIndexed() {};
+00076     TriangleIndexed(uint32_t a, uint32_t b, uint32_t c) : ea(a), eb(b), ec(c) {};
+00077 
+00078     uint32_t getOpposite(uint32_t a, uint32_t b)
+00079     {
+00080         if (ea != a && ea != b)
+00081             return ea;
+00082         if (eb != a && eb != b)
+00083             return eb;
+00084         if (ec != a && ec != b)
+00085             return ec;
+00086         return NOT_VALID_VERTEX;
+00087     }
+00088 
+00089     bool isContainEdge(uint32_t a, uint32_t b)
+00090     {
+00091         return (a == ea || a == eb || a == ec) && (b == ea || b == eb || b == ec);
+00092     }
+00093 
+00094     uint32_t ea, eb, ec;
+00095     int32_t userInfo;
+00096 };
+00097 
+00101 struct Facet
+00102 {
+00103     int32_t     firstEdgeNumber;
+00104     uint32_t    edgesCount;
+00105     int32_t     userData;
+00106     Facet(int32_t fEdge = 0, uint32_t eCount = 0, int32_t userData = 0) : firstEdgeNumber(fEdge), edgesCount(eCount), userData(userData) {}
+00107 };
+00108 
+00112 class RandomGeneratorBase
+00113 {
+00114 public:
+00115     // Generates uniformly distributed value in [0, 1] range. 
+00116     virtual float   getRandomValue() = 0;
+00117     // Seeds random value generator
+00118     virtual void    seed(int32_t seed) = 0;
+00119     virtual ~RandomGeneratorBase() {};
+00120 };
+00121 
+00122 
+00123 
+00124 } // namespace Blast
+00125 } // namespace Nv
+00126 
+00127 
+00128 #endif // ifndef NVBLASTAUTHORINGTYPES_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_types_8h.html b/docs/api_docs/files/_nv_blast_ext_authoring_types_8h.html new file mode 100644 index 0000000..3fbc0a8 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_authoring_types_8h.html @@ -0,0 +1,76 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h File Reference + + + + + + + +
+

sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h File Reference

#include <PxVec3.h>
+#include <PxVec2.h>
+#include <PxBounds3.h>
+#include <algorithm>
+#include "NvBlastTypes.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + +

Classes

struct  Nv::Blast::Edge
struct  Nv::Blast::Facet
class  Nv::Blast::RandomGeneratorBase
struct  Nv::Blast::Triangle
struct  Nv::Blast::TriangleIndexed
struct  Nv::Blast::Vertex

Namespaces

namespace  Nv
namespace  Nv::Blast

Defines

#define NOT_VALID_VERTEX   INT32_MAX
+


Define Documentation

+ +
+
+ + + + +
#define NOT_VALID_VERTEX   INT32_MAX
+
+
+ +

+ +

+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_damage_shaders_8h-source.html b/docs/api_docs/files/_nv_blast_ext_damage_shaders_8h-source.html new file mode 100644 index 0000000..0e3a2ca --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_damage_shaders_8h-source.html @@ -0,0 +1,89 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/shaders/include/NvBlastExtDamageShaders.h Source File + + + + + + + +

sdk/extensions/shaders/include/NvBlastExtDamageShaders.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTDAMAGESHADERS_H
+00012 #define NVBLASTEXTDAMAGESHADERS_H
+00013 
+00014 #include "NvBlastTypes.h"
+00015 #include "NvBlastPreprocessor.h"
+00016 
+00022 
+00023 //  Common Material 
+00025 
+00031 struct NvBlastExtMaterial
+00032 {
+00033     float   singleChunkThreshold;       
+00034     float   graphChunkThreshold;        
+00035     float   bondTangentialThreshold;    
+00036     float   bondNormalThreshold;        
+00037     float   damageAttenuation;          
+00038 };
+00039 
+00040 
+00042 //  Radial Damage
+00044 
+00048 struct NvBlastExtRadialDamageDesc
+00049 {
+00050     float   compressive;    
+00051     float   position[3];    
+00052     float   minRadius;      
+00053     float   maxRadius;      
+00054 };
+00055 
+00063 NVBLAST_API void NvBlastExtFalloffGraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastGraphShaderActor* actor, const NvBlastProgramParams* params);
+00064 NVBLAST_API void NvBlastExtFalloffSubgraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastSubgraphShaderActor* actor, const NvBlastProgramParams* params);
+00065 NVBLAST_API void NvBlastExtCutterGraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastGraphShaderActor* actor, const NvBlastProgramParams* params);
+00066 NVBLAST_API void NvBlastExtCutterSubgraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastSubgraphShaderActor* actor, const NvBlastProgramParams* params);
+00067 
+00068 
+00084 NVBLAST_API bool NvBlastExtDamageActorRadialFalloff(NvBlastActor* actor, NvBlastFractureBuffers* buffers, const NvBlastExtRadialDamageDesc* damageDescBuffer, uint32_t damageDescCount, const NvBlastExtMaterial* material, NvBlastLog logFn, NvBlastTimers* timers);
+00085 
+00086 
+00088 //  Shear Damage
+00090 
+00094 struct NvBlastExtShearDamageDesc
+00095 {
+00096     float   shear[3];       
+00097     float   position[3];    
+00098 };
+00099 
+00107 NVBLAST_API void NvBlastExtShearGraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastGraphShaderActor* actor, const NvBlastProgramParams* params);
+00108 NVBLAST_API void NvBlastExtShearSubgraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastSubgraphShaderActor* actor, const NvBlastProgramParams* params);
+00109 
+00110 
+00111 #endif // NVBLASTEXTDAMAGESHADERS_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_damage_shaders_8h.html b/docs/api_docs/files/_nv_blast_ext_damage_shaders_8h.html new file mode 100644 index 0000000..6dbca6f --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_damage_shaders_8h.html @@ -0,0 +1,346 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/shaders/include/NvBlastExtDamageShaders.h File Reference + + + + + + + +
+

sdk/extensions/shaders/include/NvBlastExtDamageShaders.h File Reference

#include "NvBlastTypes.h"
+#include "NvBlastPreprocessor.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + +

Classes

struct  NvBlastExtMaterial
struct  NvBlastExtRadialDamageDesc
struct  NvBlastExtShearDamageDesc

Functions

void NvBlastExtCutterGraphShader (NvBlastFractureBuffers *commandBuffers, const NvBlastGraphShaderActor *actor, const NvBlastProgramParams *params)
void NvBlastExtCutterSubgraphShader (NvBlastFractureBuffers *commandBuffers, const NvBlastSubgraphShaderActor *actor, const NvBlastProgramParams *params)
bool NvBlastExtDamageActorRadialFalloff (NvBlastActor *actor, NvBlastFractureBuffers *buffers, const NvBlastExtRadialDamageDesc *damageDescBuffer, uint32_t damageDescCount, const NvBlastExtMaterial *material, NvBlastLog logFn, NvBlastTimers *timers)
void NvBlastExtFalloffGraphShader (NvBlastFractureBuffers *commandBuffers, const NvBlastGraphShaderActor *actor, const NvBlastProgramParams *params)
void NvBlastExtFalloffSubgraphShader (NvBlastFractureBuffers *commandBuffers, const NvBlastSubgraphShaderActor *actor, const NvBlastProgramParams *params)
void NvBlastExtShearGraphShader (NvBlastFractureBuffers *commandBuffers, const NvBlastGraphShaderActor *actor, const NvBlastProgramParams *params)
void NvBlastExtShearSubgraphShader (NvBlastFractureBuffers *commandBuffers, const NvBlastSubgraphShaderActor *actor, const NvBlastProgramParams *params)
+


Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastExtCutterGraphShader (NvBlastFractureBuffers commandBuffers,
const NvBlastGraphShaderActor actor,
const NvBlastProgramParams params 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastExtCutterSubgraphShader (NvBlastFractureBuffers commandBuffers,
const NvBlastSubgraphShaderActor actor,
const NvBlastProgramParams params 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool NvBlastExtDamageActorRadialFalloff (NvBlastActor actor,
NvBlastFractureBuffers buffers,
const NvBlastExtRadialDamageDesc damageDescBuffer,
uint32_t  damageDescCount,
const NvBlastExtMaterial material,
NvBlastLog  logFn,
NvBlastTimers timers 
)
+
+
+ +

+Helper Radial Falloff Damage function.

+Basically it calls NvBlastActorGenerateFracture and then NvBlastActorApplyFracture with Radial Falloff shader.

+

Parameters:
+ + + + + + + + +
[in,out] actor The NvBlastActor to apply fracture to.
[in,out] buffers Target buffers to hold applied command events.
[in] damageDescBuffer Damage descriptors array.
[in] damageDescCount Size of damage descriptors array.
[in] material Material to use.
[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
[in,out] timers If non-NULL this struct will be filled out with profiling information for the step, in profile build configurations.
+
+
Returns:
true iff any fracture was applied.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastExtFalloffGraphShader (NvBlastFractureBuffers commandBuffers,
const NvBlastGraphShaderActor actor,
const NvBlastProgramParams params 
)
+
+
+ +

+Radial Falloff and Radial Cutter damage for both graph and subgraph shaders.

+NOTE: The signature of shader functions are equal to NvBlastGraphShaderFunction and NvBlastSubgraphShaderFunction respectively. They are not expected to be called directly.

See also:
NvBlastGraphShaderFunction, NvBlastSubgraphShaderFunction
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastExtFalloffSubgraphShader (NvBlastFractureBuffers commandBuffers,
const NvBlastSubgraphShaderActor actor,
const NvBlastProgramParams params 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastExtShearGraphShader (NvBlastFractureBuffers commandBuffers,
const NvBlastGraphShaderActor actor,
const NvBlastProgramParams params 
)
+
+
+ +

+Shear Damage Shaders

+NOTE: The signature of shader functions are equal to NvBlastGraphShaderFunction and NvBlastSubgraphShaderFunction respectively. They are not expected to be called directly.

See also:
NvBlastGraphShaderFunction, NvBlastSubgraphShaderFunction
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NvBlastExtShearSubgraphShader (NvBlastFractureBuffers commandBuffers,
const NvBlastSubgraphShaderActor actor,
const NvBlastProgramParams params 
)
+
+
+ +

+ +

+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_data_converter_8h-source.html b/docs/api_docs/files/_nv_blast_ext_data_converter_8h-source.html new file mode 100644 index 0000000..b66a5db --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_data_converter_8h-source.html @@ -0,0 +1,57 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/converter/include/NvBlastExtDataConverter.h Source File + + + + + + + +

sdk/extensions/converter/include/NvBlastExtDataConverter.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTDATACONVERTER_H
+00012 #define NVBLASTEXTDATACONVERTER_H
+00013 
+00014 
+00015 #include "NvBlast.h"
+00016 #include <vector>
+00017 
+00018 namespace Nv
+00019 {
+00020 namespace Blast
+00021 {
+00033     NVBLAST_API bool convertDataBlock(std::vector<char>& outBlock, const std::vector<char>& inBlock, uint32_t* outBlockVersion = nullptr);
+00034 
+00035 
+00036 } // namespace Blast
+00037 } // namespace Nv
+00038 
+00039 
+00040 #endif // ifndef NVBLASTEXTDATACONVERTER_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_data_converter_8h.html b/docs/api_docs/files/_nv_blast_ext_data_converter_8h.html new file mode 100644 index 0000000..23eb6b3 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_data_converter_8h.html @@ -0,0 +1,44 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/converter/include/NvBlastExtDataConverter.h File Reference + + + + + + + +
+

sdk/extensions/converter/include/NvBlastExtDataConverter.h File Reference

#include "NvBlast.h"
+#include <vector>
+ +

+Go to the source code of this file. + + + + + + + + + +

Namespaces

namespace  Nv
namespace  Nv::Blast

Functions

bool Nv::Blast::convertDataBlock (std::vector< char > &outBlock, const std::vector< char > &inBlock, uint32_t *outBlockVersion=nullptr)
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_impact_damage_manager_8h-source.html b/docs/api_docs/files/_nv_blast_ext_impact_damage_manager_8h-source.html new file mode 100644 index 0000000..9c12af2 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_impact_damage_manager_8h-source.html @@ -0,0 +1,116 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h Source File + + + + + + + +

sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTIMPACTDAMAGEMANAGER_H
+00012 #define NVBLASTEXTIMPACTDAMAGEMANAGER_H
+00013 
+00014 #include "PxFiltering.h"
+00015 #include "NvPreprocessor.h"
+00016 
+00017 // Forward declarations
+00018 namespace physx
+00019 {
+00020 struct PxContactPair;
+00021 struct PxContactPairHeader;
+00022 }
+00023 
+00024 
+00025 namespace Nv
+00026 {
+00027 namespace Blast
+00028 {
+00029 
+00030 // Forward declarations
+00031 class ExtPxActor;
+00032 class ExtPxManager;
+00033 
+00034 
+00038 typedef bool(*ExtImpactDamageFunction)(void* data, ExtPxActor* actor, physx::PxShape* shape, physx::PxVec3 worldPos, physx::PxVec3 worldForce);
+00039 
+00040 
+00044 struct ExtImpactSettings
+00045 {
+00046     bool                    isSelfCollissionEnabled;    
+00047     float                   fragility;                  
+00048     ExtImpactDamageFunction damageFunction;             
+00049     void*                   damageFunctionData;         
+00050 
+00051 
+00052     ExtImpactSettings() :
+00053         isSelfCollissionEnabled(false),
+00054         fragility(1.0f),
+00055         damageFunction(nullptr)
+00056     {}
+00057 };
+00058 
+00059 
+00067 class NV_DLL_EXPORT ExtImpactDamageManager
+00068 {
+00069 public:
+00071 
+00080     static ExtImpactDamageManager*  create(ExtPxManager* pxManager, ExtImpactSettings settings = ExtImpactSettings());
+00081 
+00085     virtual void                    release() = 0;
+00086 
+00087 
+00089 
+00095     virtual void                    setSettings(const ExtImpactSettings& settings) = 0;
+00096 
+00110     virtual void                    onContact(const physx::PxContactPairHeader& pairHeader, const physx::PxContactPair* pairs, uint32_t nbPairs) = 0;
+00111 
+00112 
+00116     virtual void                    applyDamage() = 0;
+00117 
+00118 
+00120 
+00127     static physx::PxFilterFlags     FilterShader(
+00128         physx::PxFilterObjectAttributes attributes0,
+00129         physx::PxFilterData filterData0,
+00130         physx::PxFilterObjectAttributes attributes1,
+00131         physx::PxFilterData filterData1,
+00132         physx::PxPairFlags& pairFlags,
+00133         const void* constantBlock,
+00134         uint32_t constantBlockSize);
+00135 
+00136 };
+00137 
+00138 } // namespace Blast
+00139 } // namespace Nv
+00140 
+00141 
+00142 #endif // ifndef NVBLASTEXTIMPACTDAMAGEMANAGER_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_impact_damage_manager_8h.html b/docs/api_docs/files/_nv_blast_ext_impact_damage_manager_8h.html new file mode 100644 index 0000000..b8b2f46 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_impact_damage_manager_8h.html @@ -0,0 +1,51 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h File Reference + + + + + + + +
+

sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h File Reference

#include "PxFiltering.h"
+#include "NvPreprocessor.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + +

Classes

class  Nv::Blast::ExtImpactDamageManager
struct  Nv::Blast::ExtImpactSettings

Namespaces

namespace  Nv
namespace  Nv::Blast
namespace  physx

Typedefs

typedef bool(* Nv::Blast::ExtImpactDamageFunction )(void *data, ExtPxActor *actor, physx::PxShape *shape, physx::PxVec3 worldPos, physx::PxVec3 worldForce)
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_8h-source.html b/docs/api_docs/files/_nv_blast_ext_px_8h-source.html new file mode 100644 index 0000000..6c22e52 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_8h-source.html @@ -0,0 +1,50 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPx.h Source File + + + + + + + +

sdk/extensions/physx/include/NvBlastExtPx.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTPX_H
+00012 #define NVBLASTEXTPX_H
+00013 
+00014 
+00022 #include "NvBlastExtPxActor.h"
+00023 #include "NvBlastExtPxAsset.h"
+00024 #include "NvBlastExtPxFamily.h"
+00025 #include "NvBlastExtPxListener.h"
+00026 #include "NvBlastExtPxManager.h"
+00027 
+00028 
+00029 #endif // ifndef NVBLASTEXTPX_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_8h.html b/docs/api_docs/files/_nv_blast_ext_px_8h.html new file mode 100644 index 0000000..8d21d6a --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_8h.html @@ -0,0 +1,39 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPx.h File Reference + + + + + + + +
+

sdk/extensions/physx/include/NvBlastExtPx.h File Reference

#include "NvBlastExtPxActor.h"
+#include "NvBlastExtPxAsset.h"
+#include "NvBlastExtPxFamily.h"
+#include "NvBlastExtPxListener.h"
+#include "NvBlastExtPxManager.h"
+ +

+Go to the source code of this file. + +
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_actor_8h-source.html b/docs/api_docs/files/_nv_blast_ext_px_actor_8h-source.html new file mode 100644 index 0000000..fccc7b9 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_actor_8h-source.html @@ -0,0 +1,81 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPxActor.h Source File + + + + + + + +

sdk/extensions/physx/include/NvBlastExtPxActor.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTPXACTOR_H
+00012 #define NVBLASTEXTPXACTOR_H
+00013 
+00014 #include "NvBlastTypes.h"
+00015 
+00016 
+00017 // Forward declarations
+00018 namespace physx
+00019 {
+00020     class PxRigidDynamic;
+00021 }
+00022 
+00023 
+00024 namespace Nv
+00025 {
+00026 namespace Blast
+00027 {
+00028 
+00029 // Forward declarations
+00030 class ExtPxFamily;
+00031 class TkActor;
+00032 
+00033 
+00039 class ExtPxActor
+00040 {
+00041 public:
+00047     virtual uint32_t                getChunkCount() const = 0;
+00048 
+00054     virtual const uint32_t*         getChunkIndices() const = 0;
+00055 
+00061     virtual physx::PxRigidDynamic&  getPhysXActor() const = 0;
+00062 
+00068     virtual TkActor&                getTkActor() const = 0;
+00069 
+00075     virtual ExtPxFamily&            getFamily() const = 0;
+00076 };
+00077 
+00078 
+00079 } // namespace Blast
+00080 } // namespace Nv
+00081 
+00082 
+00083 #endif // ifndef NVBLASTEXTPXACTOR_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_actor_8h.html b/docs/api_docs/files/_nv_blast_ext_px_actor_8h.html new file mode 100644 index 0000000..25f2751 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_actor_8h.html @@ -0,0 +1,45 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPxActor.h File Reference + + + + + + + +
+

sdk/extensions/physx/include/NvBlastExtPxActor.h File Reference

#include "NvBlastTypes.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + +

Classes

class  Nv::Blast::ExtPxActor

Namespaces

namespace  Nv
namespace  Nv::Blast
namespace  physx
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_asset_8h-source.html b/docs/api_docs/files/_nv_blast_ext_px_asset_8h-source.html new file mode 100644 index 0000000..b2bb947 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_asset_8h-source.html @@ -0,0 +1,141 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPxAsset.h Source File + + + + + + + +

sdk/extensions/physx/include/NvBlastExtPxAsset.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTPXASSET_H
+00012 #define NVBLASTEXTPXASSET_H
+00013 
+00014 #include "NvBlastTkFramework.h"
+00015 #include "PxConvexMeshGeometry.h"
+00016 #include "PxTransform.h"
+00017 #include "NvBlastPreprocessor.h"
+00018 
+00019 
+00020 // Forward declarations
+00021 namespace physx
+00022 {
+00023 class PxCooking;
+00024 
+00025 namespace general_PxIOStream2
+00026 {
+00027 class PxFileBuf;
+00028 }
+00029 }
+00030 
+00031 
+00032 namespace Nv
+00033 {
+00034 namespace Blast
+00035 {
+00036 
+00037 
+00044 struct ExtPxAssetDesc : public TkAssetDesc
+00045 {
+00051     struct SubchunkDesc
+00052     {
+00053         physx::PxTransform          transform;          
+00054         physx::PxConvexMeshGeometry geometry;           
+00055     };
+00056 
+00062     struct ChunkDesc
+00063     {
+00064         SubchunkDesc*   subchunks;          
+00065         uint32_t        subchunkCount;      
+00066         bool            isStatic;           
+00067     };
+00068 
+00069     ChunkDesc*  pxChunks;       
+00070 };
+00071 
+00072 
+00078 struct ExtPxSubchunk
+00079 {
+00080     physx::PxTransform          transform;          
+00081     physx::PxConvexMeshGeometry geometry;           
+00082 };
+00083 
+00084 
+00090 struct ExtPxChunk
+00091 {
+00092     uint32_t    firstSubchunkIndex; 
+00093     uint32_t    subchunkCount;      
+00094     bool        isStatic;           
+00095 };
+00096 
+00097 
+00103 class NV_DLL_EXPORT ExtPxAsset
+00104 {
+00105 public:
+00106 
+00115     static ExtPxAsset*              create(const ExtPxAssetDesc& desc, TkFramework& framework);
+00116 
+00117 
+00118     /*
+00119         Factory method for deserialization
+00120 
+00121         Doesn't specify chunks or subchunks as they'll be fed in during deserialization to avoid copying stuff around.
+00122     
+00123     */
+00124     static ExtPxAsset*              create(TkAsset* asset);
+00125 
+00126 
+00136     static ExtPxAsset*              deserialize(physx::general_PxIOStream2::PxFileBuf& stream, TkFramework& framework, physx::PxPhysics& physics);
+00137 
+00141     virtual void                    release() = 0;
+00142 
+00151     virtual bool                    serialize(physx::general_PxIOStream2::PxFileBuf& stream, physx::PxCooking& cooking) const = 0;
+00152     
+00158     virtual const TkAsset&          getTkAsset() const = 0;
+00159 
+00165     virtual uint32_t                getChunkCount() const = 0;
+00166 
+00172     virtual const ExtPxChunk*       getChunks() const = 0;
+00173     
+00180     virtual uint32_t                getSubchunkCount() const = 0;
+00181     
+00187     virtual const ExtPxSubchunk*    getSubchunks() const = 0;
+00188 
+00192     void*   userData;
+00193 };
+00194 
+00195 
+00196 
+00197 } // namespace Blast
+00198 } // namespace Nv
+00199 
+00200 
+00201 #endif // ifndef NVBLASTEXTPXASSET_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_asset_8h.html b/docs/api_docs/files/_nv_blast_ext_px_asset_8h.html new file mode 100644 index 0000000..62a7192 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_asset_8h.html @@ -0,0 +1,60 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPxAsset.h File Reference + + + + + + + +
+

sdk/extensions/physx/include/NvBlastExtPxAsset.h File Reference

#include "NvBlastTkFramework.h"
+#include "PxConvexMeshGeometry.h"
+#include "PxTransform.h"
+#include "NvBlastPreprocessor.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + +

Classes

class  Nv::Blast::ExtPxAsset
struct  Nv::Blast::ExtPxAssetDesc
struct  Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc
struct  Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc
struct  Nv::Blast::ExtPxChunk
struct  Nv::Blast::ExtPxSubchunk

Namespaces

namespace  Nv
namespace  Nv::Blast
namespace  physx
namespace  physx::general_PxIOStream2
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_family_8h-source.html b/docs/api_docs/files/_nv_blast_ext_px_family_8h-source.html new file mode 100644 index 0000000..595be4b --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_family_8h-source.html @@ -0,0 +1,149 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPxFamily.h Source File + + + + + + + +

sdk/extensions/physx/include/NvBlastExtPxFamily.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTPXFAMILY_H
+00012 #define NVBLASTEXTPXFAMILY_H
+00013 
+00014 #include "PxFiltering.h"
+00015 
+00016 
+00017 // Forward declarations
+00018 namespace physx
+00019 {
+00020 class PxRigidDynamic;
+00021 class PxMaterial;
+00022 class PxScene;
+00023 class PxTransform;
+00024 }
+00025 
+00026 
+00027 namespace Nv
+00028 {
+00029 namespace Blast
+00030 {
+00031 
+00032 // Forward declarations
+00033 class ExtPxActor;
+00034 class ExtPxAsset;
+00035 class ExtPxListener;
+00036 class TkFamily;
+00037 
+00038 
+00046 struct ExtPxShapeDescTemplate
+00047 {
+00048     uint8_t             flags;                  
+00049     physx::PxFilterData simulationFilterData;   
+00050     physx::PxFilterData queryFilterData;        
+00051     float               contactOffset;          
+00052     float               restOffset;             
+00053 };
+00054 
+00055 
+00061 struct ExtPxActorDescTemplate
+00062 {
+00063     uint8_t             flags;                      
+00064 };
+00065 
+00066 
+00072 struct ExtPxSpawnSettings
+00073 {
+00074     physx::PxScene*     scene;          
+00075     physx::PxMaterial*  material;       
+00076     float               density;        
+00077 };
+00078 
+00079 
+00085 class ExtPxFamily
+00086 {
+00087 public:
+00097     virtual bool                            spawn(const physx::PxTransform& pose, const physx::PxVec3& scale, const ExtPxSpawnSettings& settings) = 0;
+00098 
+00099     
+00108     virtual bool                            despawn() = 0;
+00109 
+00110 
+00116     virtual uint32_t                        getActorCount() const = 0;
+00117 
+00126     virtual uint32_t                        getActors(ExtPxActor** buffer, uint32_t bufferSize) const = 0;
+00127 
+00133     virtual TkFamily&                       getTkFamily() const = 0;
+00134 
+00141     virtual const physx::PxShape* const*    getSubchunkShapes() const = 0;
+00142 
+00148     virtual const ExtPxAsset&               getPxAsset() const = 0;
+00149 
+00155     virtual void                            setMaterial(physx::PxMaterial& material) = 0;
+00156 
+00157     /*
+00158     Set ExtPxPxShapeDesc to be used on all newly created PxShapes.
+00159 
+00160     NOTE: Using it will override marking LEAF_CHUNK in simulationFilterData.word3 now.
+00161 
+00162     \param[in] pxShapeDesc      The PxShape desc to be the new default. Can be nullptr.
+00163     */
+00164     virtual void                            setPxShapeDescTemplate(const ExtPxShapeDescTemplate* pxShapeDesc) = 0;
+00165 
+00171     virtual const ExtPxShapeDescTemplate*   getPxShapeDescTemplate() const = 0;
+00172 
+00173     /*
+00174     Set ExtPxPxActorDesc to be used on all newly created PxActors.
+00175     
+00176     \param[in] pxActorDesc      The PxActor desc to be the new default. Can be nullptr.
+00177     */
+00178     virtual void                            setPxActorDesc(const ExtPxActorDescTemplate* pxActorDesc) = 0;
+00179 
+00185     virtual const ExtPxActorDescTemplate*   getPxActorDesc() const = 0;
+00186 
+00192     virtual void                            subscribe(ExtPxListener& listener) = 0;
+00193 
+00199     virtual void                            unsubscribe(ExtPxListener& listener) = 0;
+00200 
+00204     virtual void                            postSplitUpdate() = 0;
+00205 
+00209     virtual void                            release() = 0;
+00210 
+00214     void* userData;
+00215 };
+00216 
+00217 
+00218 
+00219 } // namespace Blast
+00220 } // namespace Nv
+00221 
+00222 
+00223 #endif // ifndef NVBLASTEXTPXFAMILY_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_family_8h.html b/docs/api_docs/files/_nv_blast_ext_px_family_8h.html new file mode 100644 index 0000000..accd82d --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_family_8h.html @@ -0,0 +1,51 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPxFamily.h File Reference + + + + + + + +
+

sdk/extensions/physx/include/NvBlastExtPxFamily.h File Reference

#include "PxFiltering.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + +

Classes

struct  Nv::Blast::ExtPxActorDescTemplate
class  Nv::Blast::ExtPxFamily
struct  Nv::Blast::ExtPxShapeDescTemplate
struct  Nv::Blast::ExtPxSpawnSettings

Namespaces

namespace  Nv
namespace  Nv::Blast
namespace  physx
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_listener_8h-source.html b/docs/api_docs/files/_nv_blast_ext_px_listener_8h-source.html new file mode 100644 index 0000000..b3f2070 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_listener_8h-source.html @@ -0,0 +1,66 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPxListener.h Source File + + + + + + + +

sdk/extensions/physx/include/NvBlastExtPxListener.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTPXLISTENER_H
+00012 #define NVBLASTEXTPXLISTENER_H
+00013 
+00014 
+00015 namespace Nv
+00016 {
+00017 namespace Blast
+00018 {
+00019 
+00020 // Forward declarations
+00021 class ExtPxFamily;
+00022 class ExtPxActor;
+00023 
+00024 
+00030 class ExtPxListener
+00031 {
+00032 public:
+00039     virtual void    onActorCreated(ExtPxFamily& family, ExtPxActor& actor) = 0;
+00040 
+00047     virtual void    onActorDestroyed(ExtPxFamily& family, ExtPxActor& actor) = 0;
+00048 };
+00049 
+00050 
+00051 } // namespace Blast
+00052 } // namespace Nv
+00053 
+00054 
+00055 #endif // ifndef NVBLASTEXTPXLISTENER_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_listener_8h.html b/docs/api_docs/files/_nv_blast_ext_px_listener_8h.html new file mode 100644 index 0000000..8ba2a30 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_listener_8h.html @@ -0,0 +1,42 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPxListener.h File Reference + + + + + + + +
+

sdk/extensions/physx/include/NvBlastExtPxListener.h File Reference

+

+Go to the source code of this file. + + + + + + + + + +

Classes

class  Nv::Blast::ExtPxListener

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_manager_8h-source.html b/docs/api_docs/files/_nv_blast_ext_px_manager_8h-source.html new file mode 100644 index 0000000..2b308a1 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_manager_8h-source.html @@ -0,0 +1,144 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPxManager.h Source File + + + + + + + +

sdk/extensions/physx/include/NvBlastExtPxManager.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTPXMANAGER_H
+00012 #define NVBLASTEXTPXMANAGER_H
+00013 
+00014 #include "NvBlastTypes.h"
+00015 #include "PxConvexMeshGeometry.h"
+00016 #include "PxTransform.h"
+00017 #include "NvPreprocessor.h"
+00018 
+00019 
+00020 // Forward declarations
+00021 namespace physx
+00022 {
+00023 class PxPhysics;
+00024 class PxRigidDynamic;
+00025 class PxJoint;
+00026 
+00027 namespace general_PxIOStream2
+00028 {
+00029 class PxFileBuf;
+00030 }
+00031 }
+00032 
+00033 
+00034 namespace Nv
+00035 {
+00036 namespace Blast
+00037 {
+00038 
+00039 // Forward declarations
+00040 class ExtPxActor;
+00041 class ExtPxAsset;
+00042 class ExtPxFamily;
+00043 class ExtPxListener;
+00044 class TkFamily;
+00045 class TkFramework;
+00046 class TkGroup;
+00047 class TkJoint;
+00048 
+00049 
+00055 struct ExtPxFamilyDesc
+00056 {
+00057     const ExtPxAsset*   pxAsset;        
+00058     NvBlastActorDesc    actorDesc;      
+00059     TkGroup*            group;          
+00060 };
+00061 
+00062 
+00068 typedef physx::PxJoint*(*ExtPxCreateJointFunction)(ExtPxActor* actor0, const physx::PxTransform& localFrame0, ExtPxActor* actor1, const physx::PxTransform& localFrame1, physx::PxPhysics& physics, TkJoint& joint);
+00069 
+00070 
+00076 class NV_DLL_EXPORT ExtPxManager
+00077 {
+00078 public:
+00080 
+00092     static ExtPxManager*        create(physx::PxPhysics& physics, TkFramework& framework, ExtPxCreateJointFunction createFn = nullptr, bool useUserData = true);
+00093 
+00097     virtual void                release() = 0;
+00098 
+00099 
+00101 
+00105     enum FilterDataAttributes
+00106     {
+00107         LEAF_CHUNK = 1,
+00108     };
+00109 
+00110 
+00112 
+00120     virtual ExtPxFamily*        createFamily(const ExtPxFamilyDesc& desc) = 0;
+00121 
+00132     virtual bool                createJoint(TkJoint& joint) = 0;
+00133 
+00139     virtual void                destroyJoint(TkJoint& joint) = 0;
+00140 
+00146     virtual void                setCreateJointFunction(ExtPxCreateJointFunction createFn) = 0;
+00147 
+00153     virtual uint32_t            getFamilyCount() const = 0;
+00154 
+00163     virtual uint32_t            getFamilies(ExtPxFamily** buffer, uint32_t bufferSize) const = 0;
+00164 
+00172     virtual ExtPxFamily*        getFamilyFromTkFamily(TkFamily& family) const = 0;
+00173 
+00181     virtual ExtPxActor*         getActorFromPhysXActor(const physx::PxRigidDynamic& pxActor) const = 0;
+00182 
+00188     virtual physx::PxPhysics&   getPhysics() const = 0;
+00189 
+00195     virtual TkFramework&        getFramework() const = 0;
+00196 
+00202     virtual bool                isPxUserDataUsed() const = 0;
+00203 
+00209     virtual void                setActorCountLimit(uint32_t limit) = 0;
+00210 
+00216     virtual uint32_t            getActorCountLimit() = 0;
+00217 
+00223     virtual uint32_t            getPxActorCount() const = 0;
+00224 
+00230     virtual void                subscribe(ExtPxListener& listener) = 0;
+00231 
+00237     virtual void                unsubscribe(ExtPxListener& listener) = 0;
+00238 };
+00239 
+00240 
+00241 } // namespace Blast
+00242 } // namespace Nv
+00243 
+00244 
+00245 #endif // ifndef NVBLASTEXTPXMANAGER_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_px_manager_8h.html b/docs/api_docs/files/_nv_blast_ext_px_manager_8h.html new file mode 100644 index 0000000..cdcaab2 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_px_manager_8h.html @@ -0,0 +1,55 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtPxManager.h File Reference + + + + + + + +
+

sdk/extensions/physx/include/NvBlastExtPxManager.h File Reference

#include "NvBlastTypes.h"
+#include "PxConvexMeshGeometry.h"
+#include "PxTransform.h"
+#include "NvPreprocessor.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + +

Classes

struct  Nv::Blast::ExtPxFamilyDesc
class  Nv::Blast::ExtPxManager

Namespaces

namespace  Nv
namespace  Nv::Blast
namespace  physx
namespace  physx::general_PxIOStream2

Typedefs

typedef physx::PxJoint *(* Nv::Blast::ExtPxCreateJointFunction )(ExtPxActor *actor0, const physx::PxTransform &localFrame0, ExtPxActor *actor1, const physx::PxTransform &localFrame1, physx::PxPhysics &physics, TkJoint &joint)
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_serialization_interface_8h-source.html b/docs/api_docs/files/_nv_blast_ext_serialization_interface_8h-source.html new file mode 100644 index 0000000..ab03b9e --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_serialization_interface_8h-source.html @@ -0,0 +1,66 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/serialization/include/NvBlastExtSerializationInterface.h Source File + + + + + + + +

sdk/extensions/serialization/include/NvBlastExtSerializationInterface.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 /*
+00012     Include this file to get the C interface to serialization for all asset types (LL, Tk and Ext)
+00013 */
+00014 #pragma once
+00015 #include <ostream>
+00016 #include "NvBlastTkAsset.h"
+00017 #include "NvBlastExtPxAsset.h"
+00018 
+00019 #include "NvBlastExtSerializationLLInterface.h"
+00020 
+00021 namespace physx
+00022 {
+00023     class PxPhysics;
+00024 }
+00025 
+00026 NVBLAST_API void setPhysXSDK(physx::PxPhysics* physXSDK);
+00027 
+00028 NVBLAST_API Nv::Blast::TkAsset* deserializeTkAsset(const unsigned char* input, uint32_t size);
+00029 NVBLAST_API Nv::Blast::TkAsset* deserializeTkAssetFromStream(std::istream &inputStream);
+00030 NVBLAST_API bool serializeTkAssetIntoStream(const Nv::Blast::TkAsset *asset, std::ostream &outputStream);
+00031 NVBLAST_API bool serializeTkAssetIntoNewBuffer(const Nv::Blast::TkAsset *asset, unsigned char **outBuffer, uint32_t &outSize);
+00032 NVBLAST_API bool serializeTkAssetIntoExistingBuffer(const Nv::Blast::TkAsset *asset, unsigned char *buffer, uint32_t maxSize, uint32_t &usedSize);
+00033 
+00034 NVBLAST_API Nv::Blast::ExtPxAsset* deserializeExtPxAsset(const unsigned char* input, uint32_t size);
+00035 NVBLAST_API Nv::Blast::ExtPxAsset* deserializeExtPxAssetFromStream(std::istream &inputStream);
+00036 NVBLAST_API bool serializeExtPxAssetIntoStream(const Nv::Blast::ExtPxAsset *asset, std::ostream &outputStream);
+00037 NVBLAST_API bool serializeExtPxAssetIntoNewBuffer(const Nv::Blast::ExtPxAsset *asset, unsigned char **outBuffer, uint32_t &outSize);
+00038 NVBLAST_API bool serializeExtPxAssetIntoExistingBuffer(const Nv::Blast::ExtPxAsset *asset, unsigned char *buffer, uint32_t maxSize, uint32_t &usedSize);
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_serialization_interface_8h.html b/docs/api_docs/files/_nv_blast_ext_serialization_interface_8h.html new file mode 100644 index 0000000..bf7ae40 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_serialization_interface_8h.html @@ -0,0 +1,393 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/serialization/include/NvBlastExtSerializationInterface.h File Reference + + + + + + + +
+

sdk/extensions/serialization/include/NvBlastExtSerializationInterface.h File Reference

#include <ostream>
+#include "NvBlastTkAsset.h"
+#include "NvBlastExtPxAsset.h"
+#include "NvBlastExtSerializationLLInterface.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Namespaces

namespace  physx

Functions

Nv::Blast::ExtPxAssetdeserializeExtPxAsset (const unsigned char *input, uint32_t size)
Nv::Blast::ExtPxAssetdeserializeExtPxAssetFromStream (std::istream &inputStream)
Nv::Blast::TkAssetdeserializeTkAsset (const unsigned char *input, uint32_t size)
Nv::Blast::TkAssetdeserializeTkAssetFromStream (std::istream &inputStream)
bool serializeExtPxAssetIntoExistingBuffer (const Nv::Blast::ExtPxAsset *asset, unsigned char *buffer, uint32_t maxSize, uint32_t &usedSize)
bool serializeExtPxAssetIntoNewBuffer (const Nv::Blast::ExtPxAsset *asset, unsigned char **outBuffer, uint32_t &outSize)
bool serializeExtPxAssetIntoStream (const Nv::Blast::ExtPxAsset *asset, std::ostream &outputStream)
bool serializeTkAssetIntoExistingBuffer (const Nv::Blast::TkAsset *asset, unsigned char *buffer, uint32_t maxSize, uint32_t &usedSize)
bool serializeTkAssetIntoNewBuffer (const Nv::Blast::TkAsset *asset, unsigned char **outBuffer, uint32_t &outSize)
bool serializeTkAssetIntoStream (const Nv::Blast::TkAsset *asset, std::ostream &outputStream)
void setPhysXSDK (physx::PxPhysics *physXSDK)
+


Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
Nv::Blast::ExtPxAsset* deserializeExtPxAsset (const unsigned char *  input,
uint32_t  size 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
Nv::Blast::ExtPxAsset* deserializeExtPxAssetFromStream (std::istream &  inputStream  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
Nv::Blast::TkAsset* deserializeTkAsset (const unsigned char *  input,
uint32_t  size 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
Nv::Blast::TkAsset* deserializeTkAssetFromStream (std::istream &  inputStream  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool serializeExtPxAssetIntoExistingBuffer (const Nv::Blast::ExtPxAsset asset,
unsigned char *  buffer,
uint32_t  maxSize,
uint32_t &  usedSize 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool serializeExtPxAssetIntoNewBuffer (const Nv::Blast::ExtPxAsset asset,
unsigned char **  outBuffer,
uint32_t &  outSize 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool serializeExtPxAssetIntoStream (const Nv::Blast::ExtPxAsset asset,
std::ostream &  outputStream 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool serializeTkAssetIntoExistingBuffer (const Nv::Blast::TkAsset asset,
unsigned char *  buffer,
uint32_t  maxSize,
uint32_t &  usedSize 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool serializeTkAssetIntoNewBuffer (const Nv::Blast::TkAsset asset,
unsigned char **  outBuffer,
uint32_t &  outSize 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool serializeTkAssetIntoStream (const Nv::Blast::TkAsset asset,
std::ostream &  outputStream 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void setPhysXSDK (physx::PxPhysics *  physXSDK  ) 
+
+
+ +

+ +

+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_serialization_l_l_interface_8h-source.html b/docs/api_docs/files/_nv_blast_ext_serialization_l_l_interface_8h-source.html new file mode 100644 index 0000000..740411b --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_serialization_l_l_interface_8h-source.html @@ -0,0 +1,71 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/serialization/include/NvBlastExtSerializationLLInterface.h Source File + + + + + + + +

sdk/extensions/serialization/include/NvBlastExtSerializationLLInterface.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 /*
+00012 Include this file to access the C API for serialization, for Low Level assets only.
+00013 
+00014 For Serialization of Tk and Ext assets, include only NvBlastExtSerializationInterface.h, which will include this file as well.
+00015 
+00016 */
+00017 #pragma once
+00018 #include <ostream>
+00019 #include "NvBlastPreprocessor.h"
+00020 #include "NvBlastTypes.h"
+00021 
+00022 #include "NvBlastExtGlobals.h"
+00023 
+00024 /*
+00025     Set a global NvBlastAlloc signature allocation function that the deserialization will use when required.
+00026 
+00027     NOTE: This will NOT be used when using the combined serialization library, as it will use the TkFramework's allocation and logging
+00028 */
+00029 NVBLAST_API void setAllocator(NvBlastExtAlloc alloc);
+00030 
+00031 /*
+00032     Set a global NvBlastLog signature allocation function that the library will use when required.
+00033 
+00034     NOTE: This will NOT be used when using the combined serialization library, as it will use the TkFramework's allocation and logging
+00035 */
+00036 NVBLAST_API void setLog(NvBlastLog log);
+00037 
+00038 
+00039 NVBLAST_API NvBlastAsset* deserializeAsset(const unsigned char* input, uint32_t size);
+00040 NVBLAST_API NvBlastAsset* deserializeAssetFromStream(std::istream &inputStream);
+00041 NVBLAST_API bool serializeAssetIntoStream(const NvBlastAsset *asset, std::ostream &outputStream);
+00042 NVBLAST_API bool serializeAssetIntoNewBuffer(const NvBlastAsset *asset, unsigned char **outBuffer, uint32_t &outSize);
+00043 NVBLAST_API bool serializeAssetIntoExistingBuffer(const NvBlastAsset *asset, unsigned char *buffer, uint32_t maxSize, uint32_t &usedSize);
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_serialization_l_l_interface_8h.html b/docs/api_docs/files/_nv_blast_ext_serialization_l_l_interface_8h.html new file mode 100644 index 0000000..2a09966 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_serialization_l_l_interface_8h.html @@ -0,0 +1,248 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/serialization/include/NvBlastExtSerializationLLInterface.h File Reference + + + + + + + +
+

sdk/extensions/serialization/include/NvBlastExtSerializationLLInterface.h File Reference

#include <ostream>
+#include "NvBlastPreprocessor.h"
+#include "NvBlastTypes.h"
+#include "NvBlastExtGlobals.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + +

Functions

NvBlastAssetdeserializeAsset (const unsigned char *input, uint32_t size)
NvBlastAssetdeserializeAssetFromStream (std::istream &inputStream)
bool serializeAssetIntoExistingBuffer (const NvBlastAsset *asset, unsigned char *buffer, uint32_t maxSize, uint32_t &usedSize)
bool serializeAssetIntoNewBuffer (const NvBlastAsset *asset, unsigned char **outBuffer, uint32_t &outSize)
bool serializeAssetIntoStream (const NvBlastAsset *asset, std::ostream &outputStream)
void setAllocator (NvBlastExtAlloc alloc)
void setLog (NvBlastLog log)
+


Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
NvBlastAsset* deserializeAsset (const unsigned char *  input,
uint32_t  size 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
NvBlastAsset* deserializeAssetFromStream (std::istream &  inputStream  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool serializeAssetIntoExistingBuffer (const NvBlastAsset asset,
unsigned char *  buffer,
uint32_t  maxSize,
uint32_t &  usedSize 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool serializeAssetIntoNewBuffer (const NvBlastAsset asset,
unsigned char **  outBuffer,
uint32_t &  outSize 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool serializeAssetIntoStream (const NvBlastAsset asset,
std::ostream &  outputStream 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void setAllocator (NvBlastExtAlloc  alloc  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void setLog (NvBlastLog  log  ) 
+
+
+ +

+ +

+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_stress_solver_8h-source.html b/docs/api_docs/files/_nv_blast_ext_stress_solver_8h-source.html new file mode 100644 index 0000000..1b81482 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_stress_solver_8h-source.html @@ -0,0 +1,124 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtStressSolver.h Source File + + + + + + + +

sdk/extensions/physx/include/NvBlastExtStressSolver.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTSTRESSSOLVER_H
+00012 #define NVBLASTEXTSTRESSSOLVER_H
+00013 
+00014 #include "common/PxRenderBuffer.h"
+00015 #include <vector>
+00016 #include "NvPreprocessor.h"
+00017 
+00018 
+00019 namespace Nv
+00020 {
+00021 namespace Blast
+00022 {
+00023 
+00024 // forward declarations
+00025 class ExtPxFamily;
+00026 class ExtPxActor;
+00027 
+00042 struct ExtStressSolverSettings
+00043 {
+00044     float       stressLinearFactor;         
+00045     float       stressAngularFactor;        
+00046     uint32_t    bondIterationsPerFrame;     
+00047     uint32_t    graphReductionLevel;        
+00048 
+00049     ExtStressSolverSettings() :
+00050         stressLinearFactor(0.00004f),
+00051         stressAngularFactor(0.00007f),
+00052         bondIterationsPerFrame(18000),
+00053         graphReductionLevel(3)
+00054     {}
+00055 };
+00056 
+00057 
+00068 class NV_DLL_EXPORT ExtStressSolver
+00069 {
+00070 public:
+00072 
+00081     static ExtStressSolver*                 create(ExtPxFamily& family, ExtStressSolverSettings settings = ExtStressSolverSettings());
+00082 
+00083 
+00085 
+00089     virtual void                            release() = 0;
+00090 
+00098     virtual void                            setSettings(const ExtStressSolverSettings& settings) = 0;
+00099 
+00105     virtual const ExtStressSolverSettings&  getSettings() const = 0;
+00106 
+00114     virtual void                            applyImpulse(ExtPxActor& actor, physx::PxVec3 position, physx::PxVec3 force) = 0;
+00115 
+00123     virtual void                            update(bool doDamage = true) = 0;
+00124 
+00131     virtual void                            reset() = 0;
+00132 
+00136     enum DebugRenderMode
+00137     {
+00138         STRESS_GRAPH = 0,                   
+00139         STRESS_GRAPH_NODES_IMPULSES = 1,    
+00140         STRESS_GRAPH_BONDS_IMPULSES = 2     
+00141     };
+00142 
+00151     virtual void                            fillDebugRender(const std::vector<uint32_t>& nodes, std::vector<physx::PxDebugLine>& lines, DebugRenderMode mode, float scale = 1.0f) = 0;
+00152 
+00158     virtual float                           getStressErrorLinear() const = 0;
+00159 
+00165     virtual float                           getStressErrorAngular() const = 0;
+00166 
+00172     virtual uint32_t                        getIterationCount() const = 0;
+00173 
+00179     virtual uint32_t                        getFrameCount() const = 0;
+00180 
+00186     virtual uint32_t                        getBondCount() const = 0;
+00187 
+00188 
+00190 
+00198     uint32_t                                getIterationsPerFrame() const
+00199     {
+00200         uint32_t perFrame = getSettings().bondIterationsPerFrame / (getBondCount() + 1);
+00201         return perFrame > 0 ? perFrame : 1;
+00202     }
+00203 };
+00204 
+00205 } // namespace Blast
+00206 } // namespace Nv
+00207 
+00208 
+00209 #endif // ifndef NVBLASTEXTSTRESSSOLVER_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_stress_solver_8h.html b/docs/api_docs/files/_nv_blast_ext_stress_solver_8h.html new file mode 100644 index 0000000..d085778 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_stress_solver_8h.html @@ -0,0 +1,47 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtStressSolver.h File Reference + + + + + + + +
+

sdk/extensions/physx/include/NvBlastExtStressSolver.h File Reference

#include "common/PxRenderBuffer.h"
+#include <vector>
+#include "NvPreprocessor.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + +

Classes

class  Nv::Blast::ExtStressSolver
struct  Nv::Blast::ExtStressSolverSettings

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_sync_8h-source.html b/docs/api_docs/files/_nv_blast_ext_sync_8h-source.html new file mode 100644 index 0000000..798e217 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_sync_8h-source.html @@ -0,0 +1,161 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtSync.h Source File + + + + + + + +

sdk/extensions/physx/include/NvBlastExtSync.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTEXTSYNC_H
+00012 #define NVBLASTEXTSYNC_H
+00013 
+00014 #include "NvBlastTk.h"
+00015 #include "foundation/PxTransform.h"
+00016 #include "foundation/PxAllocatorCallback.h"
+00017 #include "NvPreprocessor.h"
+00018 
+00019 
+00020 namespace Nv
+00021 {
+00022 namespace Blast
+00023 {
+00024 
+00025 class ExtPxFamily;
+00026 class ExtPxManager;
+00027 
+00028 
+00032 struct ExtSyncEventType
+00033 {
+00034     enum Enum
+00035     {
+00036         Fracture = 0, 
+00037         FamilySync,   
+00038         Physics,      
+00039 
+00040         Count
+00041     };
+00042 };
+00043 
+00044 
+00048 struct NV_DLL_EXPORT ExtSyncEvent
+00049 {
+00050     ExtSyncEvent(ExtSyncEventType::Enum t) : type(t) {}
+00051     virtual ~ExtSyncEvent() {}
+00052 
+00053     template<class T>
+00054     const T* getEvent() const { return reinterpret_cast<const T*>(this); }
+00055 
+00061     virtual ExtSyncEvent* clone() const = 0;
+00062 
+00063     void release();
+00064 
+00065     ExtSyncEventType::Enum  type;       
+00066     uint64_t                timestamp;  
+00067     NvBlastID               familyID;   
+00068 };
+00069 
+00070 
+00074 template <class T, ExtSyncEventType::Enum eventType>
+00075 struct ExtSyncEventInstance : public ExtSyncEvent
+00076 {
+00077     ExtSyncEventInstance() : ExtSyncEvent(eventType) {}
+00078 
+00079     static const ExtSyncEventType::Enum EVENT_TYPE = eventType;
+00080 
+00081     ExtSyncEvent* clone() const override
+00082     {
+00083         return new (NvBlastTkFrameworkGet()->getAllocatorCallback().allocate(sizeof(T), nullptr, __FILE__, __LINE__)) T(*(T*)this);
+00084     }
+00085 };
+00086 
+00087 
+00091 struct ExtSyncEventFracture : public ExtSyncEventInstance<ExtSyncEventFracture, ExtSyncEventType::Fracture>
+00092 {
+00093     std::vector<NvBlastBondFractureData>    bondFractures;  
+00094     std::vector<NvBlastChunkFractureData>   chunkFractures; 
+00095 };
+00096 
+00097 
+00101 struct ExtSyncEventFamilySync : public ExtSyncEventInstance<ExtSyncEventFamilySync, ExtSyncEventType::FamilySync>
+00102 {
+00103     std::vector<char> family;   
+00104 };
+00105 
+00106 
+00110 struct ExtSyncEventPhysicsSync : public ExtSyncEventInstance<ExtSyncEventPhysicsSync, ExtSyncEventType::Physics>
+00111 {
+00112     struct ActorData
+00113     {
+00114         uint32_t            actorIndex; 
+00115         physx::PxTransform  transform;  
+00116     };
+00117 
+00118     std::vector<ActorData> data;        
+00119 };
+00120 
+00121 
+00127 class NV_DLL_EXPORT ExtSync : public TkEventListener
+00128 {
+00129 public:
+00131 
+00137     static ExtSync*     create();
+00138 
+00139 
+00141 
+00145     virtual void        release() = 0;
+00146 
+00147 
+00149 
+00156     virtual void        receive(const TkEvent* events, uint32_t eventCount)  = 0;
+00157 
+00163     virtual void        syncFamily(const TkFamily& family) = 0;
+00164 
+00170     virtual void        syncFamily(const ExtPxFamily& family) = 0;
+00171 
+00177     virtual uint32_t    getSyncBufferSize() const = 0;
+00178 
+00185     virtual void        acquireSyncBuffer(const ExtSyncEvent*const*& buffer, uint32_t& size) const = 0;
+00186 
+00190     virtual void        releaseSyncBuffer() = 0;
+00191 
+00192 
+00194 
+00205     virtual void        applySyncBuffer(TkFramework& framework, const ExtSyncEvent** buffer, uint32_t size, TkGroup* groupForNewActors, ExtPxManager* manager = nullptr) = 0;
+00206 
+00207 };
+00208 
+00209 } // namespace Blast
+00210 } // namespace Nv
+00211 
+00212 
+00213 #endif // ifndef NVBLASTEXTSYNC_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_ext_sync_8h.html b/docs/api_docs/files/_nv_blast_ext_sync_8h.html new file mode 100644 index 0000000..6481e08 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_ext_sync_8h.html @@ -0,0 +1,60 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/extensions/physx/include/NvBlastExtSync.h File Reference + + + + + + + +
+

sdk/extensions/physx/include/NvBlastExtSync.h File Reference

#include "NvBlastTk.h"
+#include "foundation/PxTransform.h"
+#include "foundation/PxAllocatorCallback.h"
+#include "NvPreprocessor.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + +

Classes

class  Nv::Blast::ExtSync
struct  Nv::Blast::ExtSyncEvent
struct  Nv::Blast::ExtSyncEventFamilySync
struct  Nv::Blast::ExtSyncEventFracture
struct  Nv::Blast::ExtSyncEventInstance< T, eventType >
struct  Nv::Blast::ExtSyncEventPhysicsSync
struct  Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData
struct  Nv::Blast::ExtSyncEventType

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_fixed_array_8h-source.html b/docs/api_docs/files/_nv_blast_fixed_array_8h-source.html new file mode 100644 index 0000000..81fb650 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_fixed_array_8h-source.html @@ -0,0 +1,133 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastFixedArray.h Source File + + + + + + + +

sdk/common/NvBlastFixedArray.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTFIXEDARRAY_H
+00012 #define NVBLASTFIXEDARRAY_H
+00013 
+00014 #include "NvBlastAssert.h"
+00015 #include "NvBlastMemory.h"
+00016 
+00017 namespace Nv
+00018 {
+00019 namespace Blast
+00020 {
+00021 
+00045 template <class T>
+00046 class FixedArray
+00047 {
+00048 public:
+00049     explicit FixedArray() : m_size(0)
+00050     {
+00051     }
+00052 
+00053     static size_t requiredMemorySize(uint32_t capacity)
+00054     {
+00055         return align16(sizeof(FixedArray<T>)) + align16(capacity * sizeof(T));
+00056     }
+00057 
+00058     NV_FORCE_INLINE T& pushBack(T& t)
+00059     {
+00060         new (data() + m_size) T(t);
+00061         return data()[m_size++];
+00062     }
+00063 
+00064     T popBack()
+00065     {
+00066         NVBLAST_ASSERT(m_size);
+00067         T t = data()[m_size - 1];
+00068         data()[--m_size].~T();
+00069         return t;
+00070     }
+00071 
+00072     void clear()
+00073     {
+00074         for(T* first = data(); first < data() + m_size; ++first)
+00075             first->~T();
+00076         m_size = 0;
+00077     }
+00078 
+00079     NV_FORCE_INLINE void forceSize_Unsafe(uint32_t s)
+00080     {
+00081         m_size = s;
+00082     }
+00083 
+00084     NV_FORCE_INLINE T& operator[](uint32_t idx)
+00085     {
+00086         NVBLAST_ASSERT(idx < m_size);
+00087         return data()[idx];
+00088     }
+00089 
+00090     NV_FORCE_INLINE const T& operator[](uint32_t idx) const
+00091     {
+00092         NVBLAST_ASSERT(idx < m_size);
+00093         return data()[idx];
+00094     }
+00095 
+00096     NV_FORCE_INLINE T& at(uint32_t idx)
+00097     {
+00098         NVBLAST_ASSERT(idx < m_size);
+00099         return data()[idx];
+00100     }
+00101 
+00102     NV_FORCE_INLINE const T& at(uint32_t idx) const
+00103     {
+00104         NVBLAST_ASSERT(idx < m_size);
+00105         return data()[idx];
+00106     }
+00107 
+00108     NV_FORCE_INLINE uint32_t size() const
+00109     {
+00110         return m_size;
+00111     }
+00112 
+00113 private:
+00114     uint32_t m_size;
+00115 
+00116     NV_FORCE_INLINE T* data()
+00117     {
+00118         return (T*)((char*)this + sizeof(FixedArray<T>));
+00119     }
+00120 
+00121 private:
+00122     FixedArray(const FixedArray& that);
+00123 };
+00124 
+00125 } // namespace Blast
+00126 } // namespace Nv
+00127 
+00128 #endif // ifndef NVBLASTFIXEDARRAY_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_fixed_array_8h.html b/docs/api_docs/files/_nv_blast_fixed_array_8h.html new file mode 100644 index 0000000..140b119 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_fixed_array_8h.html @@ -0,0 +1,44 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastFixedArray.h File Reference + + + + + + + +
+

sdk/common/NvBlastFixedArray.h File Reference

#include "NvBlastAssert.h"
+#include "NvBlastMemory.h"
+ +

+Go to the source code of this file. + + + + + + + + + +

Classes

class  Nv::Blast::FixedArray< T >

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_fixed_bitmap_8h-source.html b/docs/api_docs/files/_nv_blast_fixed_bitmap_8h-source.html new file mode 100644 index 0000000..123430a --- /dev/null +++ b/docs/api_docs/files/_nv_blast_fixed_bitmap_8h-source.html @@ -0,0 +1,124 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastFixedBitmap.h Source File + + + + + + + +

sdk/common/NvBlastFixedBitmap.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTFIXEDBITMAP_H
+00012 #define NVBLASTFIXEDBITMAP_H
+00013 
+00014 #include "NvBlastAssert.h"
+00015 #include "NvBlastMemory.h"
+00016 #include <cstring>
+00017 
+00018 namespace Nv
+00019 {
+00020 namespace Blast
+00021 {
+00022 
+00045 class FixedBitmap
+00046 {
+00047 public:
+00048     explicit FixedBitmap(uint32_t bitsCount)
+00049     {
+00050         m_bitsCount = bitsCount;
+00051     }
+00052 
+00053     static uint32_t getWordsCount(uint32_t bitsCount)
+00054     {
+00055         return (bitsCount + 31) >> 5;
+00056     }
+00057 
+00058     static size_t requiredMemorySize(uint32_t bitsCount)
+00059     {
+00060         return align16(sizeof(FixedBitmap)) + align16(getWordsCount(bitsCount) * sizeof(uint32_t));
+00061     }
+00062 
+00063     void clear()
+00064     {
+00065         memset(data(), 0, getWordsCount(m_bitsCount) * sizeof(uint32_t));
+00066     }
+00067 
+00068     void fill()
+00069     {
+00070         const uint32_t wordCount = getWordsCount(m_bitsCount);
+00071         uint32_t* mem = data();
+00072         memset(mem, 0xFF, wordCount * sizeof(uint32_t));
+00073         const uint32_t bitsRemainder = m_bitsCount & 31;
+00074         if (bitsRemainder > 0)
+00075         {
+00076             mem[wordCount - 1] &= ~(0xFFFFFFFF << bitsRemainder);
+00077         }
+00078     }
+00079 
+00080     int test(uint32_t index) const
+00081     {
+00082         NVBLAST_ASSERT(index < m_bitsCount);
+00083         return data()[index >> 5] & (1 << (index & 31));
+00084     }
+00085 
+00086     void set(uint32_t index)
+00087     {
+00088         NVBLAST_ASSERT(index < m_bitsCount);
+00089         data()[index >> 5] |= 1 << (index & 31);
+00090     }
+00091 
+00092     void reset(uint32_t index)
+00093     {
+00094         NVBLAST_ASSERT(index < m_bitsCount);
+00095         data()[index >> 5] &= ~(1 << (index & 31));
+00096     }
+00097 
+00098 private:
+00099     uint32_t m_bitsCount;
+00100 
+00101     NV_FORCE_INLINE uint32_t* data()
+00102     {
+00103         return (uint32_t*)((char*)this + sizeof(FixedBitmap));
+00104     }
+00105 
+00106     NV_FORCE_INLINE const uint32_t* data() const
+00107     {
+00108         return (uint32_t*)((char*)this + sizeof(FixedBitmap));
+00109     }
+00110 
+00111 private:
+00112     FixedBitmap(const FixedBitmap& that);
+00113 };
+00114 
+00115 } // namespace Blast
+00116 } // namespace Nv
+00117 
+00118 #endif // ifndef NVBLASTFIXEDBITMAP_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_fixed_bitmap_8h.html b/docs/api_docs/files/_nv_blast_fixed_bitmap_8h.html new file mode 100644 index 0000000..3af3a64 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_fixed_bitmap_8h.html @@ -0,0 +1,45 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastFixedBitmap.h File Reference + + + + + + + +
+

sdk/common/NvBlastFixedBitmap.h File Reference

#include "NvBlastAssert.h"
+#include "NvBlastMemory.h"
+#include <cstring>
+ +

+Go to the source code of this file. + + + + + + + + + +

Classes

class  Nv::Blast::FixedBitmap

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_fixed_bool_array_8h-source.html b/docs/api_docs/files/_nv_blast_fixed_bool_array_8h-source.html new file mode 100644 index 0000000..b9e04d3 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_fixed_bool_array_8h-source.html @@ -0,0 +1,112 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastFixedBoolArray.h Source File + + + + + + + +

sdk/common/NvBlastFixedBoolArray.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTFIXEDBOOLARRAY_H
+00012 #define NVBLASTFIXEDBOOLARRAY_H
+00013 
+00014 #include "NvBlastAssert.h"
+00015 #include "NvBlastMemory.h"
+00016 #include <cstring>
+00017 
+00018 namespace Nv
+00019 {
+00020 namespace Blast
+00021 {
+00022 
+00045 class FixedBoolArray
+00046 {
+00047 public:
+00048     explicit FixedBoolArray(uint32_t size)
+00049     {
+00050         m_size = size;
+00051     }
+00052 
+00053     static size_t requiredMemorySize(uint32_t size)
+00054     {
+00055         return align16(sizeof(FixedBoolArray)) + align16(size);
+00056     }
+00057 
+00058     void clear()
+00059     {
+00060         memset(data(), 0, m_size);
+00061     }
+00062 
+00063     void fill()
+00064     {
+00065         memset(data(), 1, m_size);
+00066     }
+00067 
+00068     int test(uint32_t index) const
+00069     {
+00070         NVBLAST_ASSERT(index < m_size);
+00071         return data()[index];
+00072     }
+00073 
+00074     void set(uint32_t index)
+00075     {
+00076         NVBLAST_ASSERT(index < m_size);
+00077         data()[index] = 1;
+00078     }
+00079 
+00080     void reset(uint32_t index)
+00081     {
+00082         NVBLAST_ASSERT(index < m_size);
+00083         data()[index] = 0;
+00084     }
+00085 
+00086 private:
+00087     uint32_t m_size;
+00088 
+00089     NV_FORCE_INLINE char* data()
+00090     {
+00091         return ((char*)this + sizeof(FixedBoolArray));
+00092     }
+00093 
+00094     NV_FORCE_INLINE const char* data() const
+00095     {
+00096         return ((char*)this + sizeof(FixedBoolArray));
+00097     }
+00098 
+00099 private:
+00100     FixedBoolArray(const FixedBoolArray& that);
+00101 };
+00102 
+00103 } // namespace Blast
+00104 } // namespace Nv
+00105 
+00106 #endif // ifndef NVBLASTFIXEDBOOLARRAY_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_fixed_bool_array_8h.html b/docs/api_docs/files/_nv_blast_fixed_bool_array_8h.html new file mode 100644 index 0000000..966493b --- /dev/null +++ b/docs/api_docs/files/_nv_blast_fixed_bool_array_8h.html @@ -0,0 +1,45 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastFixedBoolArray.h File Reference + + + + + + + +
+

sdk/common/NvBlastFixedBoolArray.h File Reference

#include "NvBlastAssert.h"
+#include "NvBlastMemory.h"
+#include <cstring>
+ +

+Go to the source code of this file. + + + + + + + + + +

Classes

class  Nv::Blast::FixedBoolArray

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h-source.html b/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h-source.html new file mode 100644 index 0000000..8b456c2 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h-source.html @@ -0,0 +1,191 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastFixedPriorityQueue.h Source File + + + + + + + +

sdk/common/NvBlastFixedPriorityQueue.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTFIXEDPRIORITYQUEUE_H
+00012 #define NVBLASTFIXEDPRIORITYQUEUE_H
+00013 
+00014 #include "NvBlastAssert.h"
+00015 #include "NvBlastMemory.h"
+00016 
+00017 namespace Nv
+00018 {
+00019 
+00020 namespace Blast
+00021 {
+00022 
+00044 template <typename A>
+00045 struct Less
+00046 {
+00047     bool operator()(const A& a, const A& b) const
+00048     {
+00049         return a < b;
+00050     }
+00051 };
+00052 
+00053 
+00054 template<class Element, class Comparator = Less<Element> >
+00055 class FixedPriorityQueue : protected Comparator // inherit so that stateless comparators take no space
+00056 {
+00057 public:
+00058     FixedPriorityQueue(const Comparator& less = Comparator()) : Comparator(less), mHeapSize(0)
+00059     {
+00060     }
+00061         
+00062     ~FixedPriorityQueue()
+00063     {
+00064     }
+00065 
+00066     static size_t requiredMemorySize(uint32_t capacity)
+00067     {
+00068         return align16(sizeof(FixedPriorityQueue<Element, Comparator>)) + align16(capacity * sizeof(Element));
+00069     }
+00070         
+00072     const Element top() const
+00073     {
+00074         return data()[0];
+00075     }
+00076 
+00078     Element top()
+00079     {
+00080         return data()[0];
+00081     }
+00082         
+00084     bool empty() const
+00085     {
+00086         return (mHeapSize == 0);
+00087     }
+00088         
+00090     void clear()
+00091     {
+00092         mHeapSize = 0;
+00093     }  
+00094 
+00096     void push(const Element& value)
+00097     {
+00098         uint32_t newIndex;
+00099         uint32_t parentIndex = parent(mHeapSize);
+00100 
+00101         for (newIndex = mHeapSize; newIndex > 0 && compare(value, data()[parentIndex]); newIndex = parentIndex, parentIndex= parent(newIndex)) 
+00102         {
+00103             data()[ newIndex ] = data()[parentIndex];
+00104         }
+00105         data()[newIndex] = value; 
+00106         mHeapSize++;
+00107         NVBLAST_ASSERT(valid());
+00108     }
+00109 
+00111     Element pop()
+00112     {
+00113         NVBLAST_ASSERT(mHeapSize > 0);
+00114         uint32_t i, child;
+00115         //try to avoid LHS
+00116         uint32_t tempHs = mHeapSize-1;
+00117         mHeapSize = tempHs;
+00118         Element min = data()[0];
+00119         Element last = data()[tempHs];
+00120             
+00121         for (i = 0; (child = left(i)) < tempHs; i = child) 
+00122         {
+00123             /* Find highest priority child */
+00124             const uint32_t rightChild = child + 1;
+00125             
+00126             child += ((rightChild < tempHs) & compare((data()[rightChild]), (data()[child]))) ? 1 : 0;
+00127 
+00128             if(compare(last, data()[child]))
+00129                 break;
+00130 
+00131             data()[i] = data()[child];
+00132         }
+00133         data()[ i ] = last;
+00134             
+00135         NVBLAST_ASSERT(valid());
+00136         return min;
+00137     } 
+00138 
+00140     bool valid() const
+00141     {
+00142         const Element& min = data()[0];
+00143         for(uint32_t i=1; i<mHeapSize; ++i)
+00144         {
+00145             if(compare(data()[i], min))
+00146                 return false;
+00147         }
+00148 
+00149         return true;
+00150     }
+00151 
+00153     uint32_t size() const
+00154     {
+00155         return mHeapSize;
+00156     }
+00157 
+00158 private:
+00159     uint32_t mHeapSize;
+00160 
+00161     NV_FORCE_INLINE Element* data()
+00162     {
+00163         return (Element*)((char*)this + sizeof(FixedPriorityQueue<Element, Comparator>));
+00164     }
+00165 
+00166     NV_FORCE_INLINE Element* data() const
+00167     {
+00168         return (Element*)((char*)this + sizeof(FixedPriorityQueue<Element, Comparator>));
+00169     }
+00170 
+00171     bool compare(const Element& a, const Element& b) const
+00172     {
+00173         return Comparator::operator()(a,b);
+00174     }
+00175 
+00176     static uint32_t left(uint32_t nodeIndex) 
+00177     {
+00178         return (nodeIndex << 1) + 1;
+00179     }
+00180         
+00181     static uint32_t parent(uint32_t nodeIndex) 
+00182     {
+00183         return (nodeIndex - 1) >> 1;
+00184     }
+00185 
+00186     FixedPriorityQueue<Element, Comparator>& operator = (const FixedPriorityQueue<Element, Comparator>);
+00187 };
+00188 
+00189 } // namespace Blast
+00190 } // namespace Nv
+00191 
+00192 #endif // ifndef NVBLASTFIXEDPRIORITYQUEUE_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h.html b/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h.html new file mode 100644 index 0000000..68b3e89 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h.html @@ -0,0 +1,46 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastFixedPriorityQueue.h File Reference + + + + + + + +
+

sdk/common/NvBlastFixedPriorityQueue.h File Reference

#include "NvBlastAssert.h"
+#include "NvBlastMemory.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + +

Classes

class  Nv::Blast::FixedPriorityQueue< Element, Comparator >
struct  Nv::Blast::Less< A >

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_geometry_8h-source.html b/docs/api_docs/files/_nv_blast_geometry_8h-source.html new file mode 100644 index 0000000..0256ba7 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_geometry_8h-source.html @@ -0,0 +1,150 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastGeometry.h Source File + + + + + + + +

sdk/common/NvBlastGeometry.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 
+00012 #ifndef NVBLASTGEOMETRY_H
+00013 #define NVBLASTGEOMETRY_H
+00014 
+00015 #include "NvBlastTypes.h"
+00016 #include "NvBlastMath.h"
+00017 
+00018 #include<limits>
+00019 
+00020 
+00021 namespace Nv {
+00022 namespace Blast{
+00023 
+00024 NV_FORCE_INLINE uint32_t findNodeByPositionLinked(const float point[4],
+00025     const uint32_t firstGraphNodeIndex, const uint32_t* familyGraphNodeIndexLinks,
+00026     const uint32_t* adjacencyPartition, const uint32_t* adjacentNodeIndices, const uint32_t* adjacentBondIndices,
+00027     const NvBlastBond* bonds, const float* bondHealths)
+00028 {
+00029     uint32_t nodeIndex = firstGraphNodeIndex;
+00030     uint32_t closestNode = nodeIndex;
+00031     float minDist = std::numeric_limits<float>().max();
+00032 
+00033     while (!Nv::Blast::isInvalidIndex(nodeIndex))
+00034     {
+00035         const uint32_t startIndex = adjacencyPartition[nodeIndex];
+00036         const uint32_t stopIndex = adjacencyPartition[nodeIndex + 1];
+00037 
+00038         for (uint32_t adjacentIndex = startIndex; adjacentIndex < stopIndex; adjacentIndex++)
+00039         {
+00040             const uint32_t neighbourIndex = adjacentNodeIndices[adjacentIndex];
+00041             if (nodeIndex < neighbourIndex)
+00042             {
+00043                 const uint32_t bondIndex = adjacentBondIndices[adjacentIndex];
+00044                 if (bondHealths[bondIndex] > 0.0f)
+00045                 {
+00046                     const NvBlastBond& bond = bonds[bondIndex];
+00047 
+00048                     const float* centroid = bond.centroid;
+00049                     float d[3]; VecMath::sub(point, centroid, d);
+00050                     float dist = VecMath::dot(d, d);
+00051 
+00052                     if (dist < minDist)
+00053                     {
+00054                         minDist = dist;
+00055                         float s = VecMath::dot(d, bond.normal);
+00056                         closestNode = s < 0 ? nodeIndex : neighbourIndex;
+00057                     }
+00058                 }
+00059             }
+00060         }
+00061         nodeIndex = familyGraphNodeIndexLinks[nodeIndex];
+00062     }
+00063 
+00064     return closestNode;
+00065 }
+00066 
+00067 
+00068 NV_FORCE_INLINE uint32_t findNodeByPosition(const float point[4],
+00069     const uint32_t graphNodesCount, const uint32_t* graphNodeIndices,
+00070     const uint32_t* adjacencyPartition, const uint32_t* adjacentNodeIndices, const uint32_t* adjacentBondIndices,
+00071     const NvBlastBond* bonds, const float* bondHealths)
+00072 {
+00073     uint32_t closestNode = graphNodesCount > 2 ? invalidIndex<uint32_t>() : graphNodeIndices[0];
+00074     float minDist = std::numeric_limits<float>().max();
+00075 
+00076     for (uint32_t i = 0; i < graphNodesCount; i++)
+00077     {
+00078         const uint32_t nodeIndex = graphNodeIndices[i];
+00079         const uint32_t startIndex = adjacencyPartition[nodeIndex];
+00080         const uint32_t stopIndex = adjacencyPartition[nodeIndex + 1];
+00081 
+00082         for (uint32_t adjacentIndex = startIndex; adjacentIndex < stopIndex; adjacentIndex++)
+00083         {
+00084             const uint32_t bondIndex = adjacentBondIndices[adjacentIndex];
+00085             if (bondHealths[bondIndex] > 0.0f)
+00086             {
+00087                 const uint32_t neighbourIndex = adjacentNodeIndices[adjacentIndex];
+00088                 if (nodeIndex < neighbourIndex)
+00089                 {
+00090                     const NvBlastBond& bond = bonds[bondIndex];
+00091 
+00092                     const float* centroid = bond.centroid;
+00093                     float d[3]; VecMath::sub(point, centroid, d);
+00094                     float dist = VecMath::dot(d, d);
+00095 
+00096                     if (dist < minDist)
+00097                     {
+00098                         minDist = dist;
+00099                         float s = VecMath::dot(d, bond.normal);
+00100                         closestNode = s < 0 ? nodeIndex : neighbourIndex;
+00101                     }
+00102                 }
+00103             }
+00104         }
+00105     }
+00106     return closestNode;
+00107 }
+00108 
+00109 
+00110 NV_FORCE_INLINE uint32_t findNodeByPosition(const float point[4],
+00111     const uint32_t graphNodesCount, const uint32_t* graphNodeIndices,
+00112     const NvBlastSupportGraph& graph,
+00113     const NvBlastBond* bonds, const float* bondHealths)
+00114 {
+00115     return findNodeByPosition(point, graphNodesCount, graphNodeIndices, graph.adjacencyPartition, graph.adjacentNodeIndices, graph.adjacentBondIndices, bonds, bondHealths);
+00116 }
+00117 
+00118 } // namespace Blast
+00119 } // namespace Nv
+00120 
+00121 
+00122 #endif // NVBLASTGEOMETRY_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_geometry_8h.html b/docs/api_docs/files/_nv_blast_geometry_8h.html new file mode 100644 index 0000000..8899c63 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_geometry_8h.html @@ -0,0 +1,49 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastGeometry.h File Reference + + + + + + + +
+

sdk/common/NvBlastGeometry.h File Reference

#include "NvBlastTypes.h"
+#include "NvBlastMath.h"
+#include <limits>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + +

Namespaces

namespace  Nv
namespace  Nv::Blast

Functions

NV_FORCE_INLINE uint32_t Nv::Blast::findNodeByPosition (const float point[4], const uint32_t graphNodesCount, const uint32_t *graphNodeIndices, const NvBlastSupportGraph &graph, const NvBlastBond *bonds, const float *bondHealths)
NV_FORCE_INLINE uint32_t Nv::Blast::findNodeByPosition (const float point[4], const uint32_t graphNodesCount, const uint32_t *graphNodeIndices, const uint32_t *adjacencyPartition, const uint32_t *adjacentNodeIndices, const uint32_t *adjacentBondIndices, const NvBlastBond *bonds, const float *bondHealths)
NV_FORCE_INLINE uint32_t Nv::Blast::findNodeByPositionLinked (const float point[4], const uint32_t firstGraphNodeIndex, const uint32_t *familyGraphNodeIndexLinks, const uint32_t *adjacencyPartition, const uint32_t *adjacentNodeIndices, const uint32_t *adjacentBondIndices, const NvBlastBond *bonds, const float *bondHealths)
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_include_windows_8h-source.html b/docs/api_docs/files/_nv_blast_include_windows_8h-source.html new file mode 100644 index 0000000..e7bf29e --- /dev/null +++ b/docs/api_docs/files/_nv_blast_include_windows_8h-source.html @@ -0,0 +1,118 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastIncludeWindows.h Source File + + + + + + + +

sdk/common/NvBlastIncludeWindows.h

Go to the documentation of this file.
00001 // This code contains NVIDIA Confidential Information and is disclosed to you
+00002 // under a form of NVIDIA software license agreement provided separately to you.
+00003 //
+00004 // Notice
+00005 // NVIDIA Corporation and its licensors retain all intellectual property and
+00006 /*
+00007 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00008 *
+00009 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00010 * and proprietary rights in and to this software, related documentation
+00011 * and any modifications thereto.  Any use, reproduction, disclosure or
+00012 * distribution of this software and related documentation without an express
+00013 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00014 */
+00015 
+00016 #ifndef NVBLASTINCLUDEWINDOWS_H
+00017 #define NVBLASTINCLUDEWINDOWS_H
+00018 
+00019 #ifndef _WINDOWS_ // windows already included if this is defined
+00020 
+00021 #include "NvBlastPreprocessor.h"
+00022 
+00023 #ifndef _WIN32
+00024 #error "This file should only be included by Windows builds!!"
+00025 #endif
+00026 
+00027 // We only support >= Windows XP, and we need this for critical section and
+00028 #if !NV_WINRT
+00029 #define _WIN32_WINNT 0x0501
+00030 #else
+00031 #define _WIN32_WINNT 0x0602
+00032 #endif
+00033 
+00034 // turn off as much as we can for windows. All we really need is the thread functions(critical sections/Interlocked*
+00035 // etc)
+00036 #define NOGDICAPMASKS
+00037 #define NOVIRTUALKEYCODES
+00038 #define NOWINMESSAGES
+00039 #define NOWINSTYLES
+00040 #define NOSYSMETRICS
+00041 #define NOMENUS
+00042 #define NOICONS
+00043 #define NOKEYSTATES
+00044 #define NOSYSCOMMANDS
+00045 #define NORASTEROPS
+00046 #define NOSHOWWINDOW
+00047 #define NOATOM
+00048 #define NOCLIPBOARD
+00049 #define NOCOLOR
+00050 #define NOCTLMGR
+00051 #define NODRAWTEXT
+00052 #define NOGDI
+00053 #define NOMB
+00054 #define NOMEMMGR
+00055 #define NOMETAFILE
+00056 #define NOMINMAX
+00057 #define NOOPENFILE
+00058 #define NOSCROLL
+00059 #define NOSERVICE
+00060 #define NOSOUND
+00061 #define NOTEXTMETRIC
+00062 #define NOWH
+00063 #define NOWINOFFSETS
+00064 #define NOCOMM
+00065 #define NOKANJI
+00066 #define NOHELP
+00067 #define NOPROFILER
+00068 #define NODEFERWINDOWPOS
+00069 #define NOMCX
+00070 #ifndef WIN32_LEAN_AND_MEAN
+00071 #define WIN32_LEAN_AND_MEAN
+00072 #endif
+00073 #if !NV_WINRT
+00074 #define NOUSER
+00075 #define NONLS
+00076 #define NOMSG
+00077 #endif
+00078 
+00079 #pragma warning(push)
+00080 #pragma warning(disable : 4668) //'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directives'
+00081 #include <windows.h>
+00082 #pragma warning(pop)
+00083 
+00084 #if NV_SSE2
+00085 #include <xmmintrin.h>
+00086 #endif
+00087 
+00088 #endif // #ifndef _WINDOWS_
+00089 
+00090 #endif // #ifndef NVBLASTINCLUDEWINDOWS_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_include_windows_8h.html b/docs/api_docs/files/_nv_blast_include_windows_8h.html new file mode 100644 index 0000000..dbe1ee1 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_include_windows_8h.html @@ -0,0 +1,684 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastIncludeWindows.h File Reference + + + + + + + +
+

sdk/common/NvBlastIncludeWindows.h File Reference

#include "NvBlastPreprocessor.h"
+#include <windows.h>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Defines

#define _WIN32_WINNT   0x0501
#define NOATOM
#define NOCLIPBOARD
#define NOCOLOR
#define NOCOMM
#define NOCTLMGR
#define NODEFERWINDOWPOS
#define NODRAWTEXT
#define NOGDI
#define NOGDICAPMASKS
#define NOHELP
#define NOICONS
#define NOKANJI
#define NOKEYSTATES
#define NOMB
#define NOMCX
#define NOMEMMGR
#define NOMENUS
#define NOMETAFILE
#define NOMINMAX
#define NOMSG
#define NONLS
#define NOOPENFILE
#define NOPROFILER
#define NORASTEROPS
#define NOSCROLL
#define NOSERVICE
#define NOSHOWWINDOW
#define NOSOUND
#define NOSYSCOMMANDS
#define NOSYSMETRICS
#define NOTEXTMETRIC
#define NOUSER
#define NOVIRTUALKEYCODES
#define NOWH
#define NOWINMESSAGES
#define NOWINOFFSETS
#define NOWINSTYLES
+


Define Documentation

+ +
+
+ + + + +
#define _WIN32_WINNT   0x0501
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOATOM
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOCLIPBOARD
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOCOLOR
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOCOMM
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOCTLMGR
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NODEFERWINDOWPOS
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NODRAWTEXT
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOGDI
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOGDICAPMASKS
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOHELP
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOICONS
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOKANJI
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOKEYSTATES
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOMB
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOMCX
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOMEMMGR
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOMENUS
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOMETAFILE
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOMINMAX
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOMSG
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NONLS
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOOPENFILE
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOPROFILER
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NORASTEROPS
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOSCROLL
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOSERVICE
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOSHOWWINDOW
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOSOUND
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOSYSCOMMANDS
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOSYSMETRICS
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOTEXTMETRIC
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOUSER
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOVIRTUALKEYCODES
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOWH
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOWINMESSAGES
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOWINOFFSETS
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NOWINSTYLES
+
+
+ +

+ +

+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_index_fns_8h-source.html b/docs/api_docs/files/_nv_blast_index_fns_8h-source.html new file mode 100644 index 0000000..af21004 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_index_fns_8h-source.html @@ -0,0 +1,109 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastIndexFns.h Source File + + + + + + + +

sdk/common/NvBlastIndexFns.h

Go to the documentation of this file.
00001 /*
+00002  * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.
+00003  *
+00004  * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005  * and proprietary rights in and to this software, related documentation
+00006  * and any modifications thereto.  Any use, reproduction, disclosure or
+00007  * distribution of this software and related documentation without an express
+00008  * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009  */
+00010 
+00011 #ifndef NVBLASTINDEXFNS_H
+00012 #define NVBLASTINDEXFNS_H
+00013 
+00014 
+00015 #include "NvBlastTypes.h"
+00016 
+00017 #include <cstring>
+00018 
+00019 
+00020 namespace Nv
+00021 {
+00022 namespace Blast
+00023 {
+00024 
+00028 template<typename T>
+00029 NV_INLINE T invalidIndex()
+00030 {
+00031     return ~(T)0;
+00032 }
+00033 
+00034 
+00038 template<typename T>
+00039 NV_INLINE bool isInvalidIndex(T index)
+00040 {
+00041     return index == invalidIndex<T>();
+00042 }
+00043 
+00044 
+00077 template<typename T>
+00078 void createIndexStartLookup(T* lookup, T indexBase, T indexRange, T* indexSource, T indexCount, T indexByteStride)
+00079 {
+00080     ++indexBase;    // Ordering invalidIndex<T>() as lowest value
+00081     T indexPos = 0;
+00082     for (T i = 0; i <= indexRange; ++i)
+00083     {
+00084         for (; indexPos < indexCount; ++indexPos, indexSource = (T*)((uintptr_t)indexSource + indexByteStride))
+00085         {
+00086             if (*indexSource + 1 >= i + indexBase)  // +1 to order invalidIndex<T>() as lowest value
+00087             {
+00088                 lookup[i] = indexPos;
+00089                 break;
+00090             }
+00091         }
+00092         if (indexPos == indexCount)
+00093         {
+00094             lookup[i] = indexPos;
+00095         }
+00096     }
+00097     lookup[indexRange + 1] = indexCount;
+00098 }
+00099 
+00100 
+00109 template<typename T>
+00110 void invertMap(T* inverseMap, const T* map, const T size)
+00111 {
+00112     memset(inverseMap, invalidIndex<T>(), size*sizeof(T));
+00113 
+00114     for (T i = 0; i < size; i++)
+00115     {
+00116         if (!isInvalidIndex(map[i]))
+00117         {
+00118             inverseMap[map[i]] = i;
+00119         }
+00120     }
+00121 }
+00122 
+00123 } // end namespace Blast
+00124 } // end namespace Nv
+00125 
+00126 
+00127 #endif // #ifndef NVBLASTINDEXFNS_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_index_fns_8h.html b/docs/api_docs/files/_nv_blast_index_fns_8h.html new file mode 100644 index 0000000..69d25d5 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_index_fns_8h.html @@ -0,0 +1,54 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastIndexFns.h File Reference + + + + + + + +
+

sdk/common/NvBlastIndexFns.h File Reference

#include "NvBlastTypes.h"
+#include <cstring>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + +

Namespaces

namespace  Nv
namespace  Nv::Blast

Functions

template<typename T >
void Nv::Blast::createIndexStartLookup (T *lookup, T indexBase, T indexRange, T *indexSource, T indexCount, T indexByteStride)
template<typename T >
NV_INLINE T Nv::Blast::invalidIndex ()
template<typename T >
void Nv::Blast::invertMap (T *inverseMap, const T *map, const T size)
template<typename T >
NV_INLINE bool Nv::Blast::isInvalidIndex (T index)
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_iterator_base_8h-source.html b/docs/api_docs/files/_nv_blast_iterator_base_8h-source.html new file mode 100644 index 0000000..a1bf813 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_iterator_base_8h-source.html @@ -0,0 +1,145 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastIteratorBase.h Source File + + + + + + + +

sdk/common/NvBlastIteratorBase.h

Go to the documentation of this file.
00001 /*
+00002  * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003  *
+00004  * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005  * and proprietary rights in and to this software, related documentation
+00006  * and any modifications thereto.  Any use, reproduction, disclosure or
+00007  * distribution of this software and related documentation without an express
+00008  * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009  */
+00010 
+00011 #ifndef NVBLASTITERATORBASE_H
+00012 #define NVBLASTITERATORBASE_H
+00013 
+00014 
+00015 #include "NvBlastIndexFns.h"
+00016 
+00017 namespace Nv
+00018 {
+00019 namespace Blast
+00020 {
+00021 
+00026 template<typename T>
+00027 class IteratorBase
+00028 {
+00029 public:
+00031     IteratorBase(T curr);
+00032 
+00034     operator    bool() const;
+00035 
+00037     operator    T() const;
+00038 
+00039 protected:
+00040     T   m_curr;
+00041 };
+00042 
+00043 
+00045 
+00046 template<typename T>
+00047 NV_INLINE IteratorBase<T>::IteratorBase(T curr) : m_curr(curr)
+00048 {
+00049 }
+00050 
+00051 
+00052 template<typename T>
+00053 NV_INLINE IteratorBase<T>::operator bool() const
+00054 {
+00055     return !isInvalidIndex<T>(m_curr);
+00056 }
+00057 
+00058 
+00059 template<typename T>
+00060 NV_INLINE IteratorBase<T>::operator T() const
+00061 {
+00062     return m_curr;
+00063 }
+00064 
+00065 
+00069 template<typename IndexType>
+00070 class LListIt : public IteratorBase<IndexType>
+00071 {
+00072 public:
+00073     LListIt(IndexType curr, IndexType* links);
+00074 
+00076     uint32_t    operator ++ ();
+00077 
+00078 protected:
+00079     IndexType*  m_links;
+00080 };
+00081 
+00082 
+00084 
+00085 template<typename IndexType>
+00086 NV_INLINE LListIt<IndexType>::LListIt(IndexType curr, IndexType* links) : IteratorBase<IndexType>(curr), m_links(links)
+00087 {
+00088 }
+00089 
+00090 
+00091 template<typename IndexType>
+00092 NV_INLINE uint32_t LListIt<IndexType>::operator ++ ()
+00093 {
+00094     NVBLAST_ASSERT((bool)(*this));
+00095     return (this->m_curr = m_links[this->m_curr]);
+00096 }
+00097 
+00098 
+00102 template<typename IndexType>
+00103 class DListIt : public IteratorBase<IndexType>
+00104 {
+00105 public:
+00106     DListIt(IndexType curr, IndexDLink<IndexType>* links);
+00107 
+00109     uint32_t    operator ++ ();
+00110 
+00111 protected:
+00112     IndexDLink<IndexType>*  m_links;
+00113 };
+00114 
+00115 
+00117 
+00118 template<typename IndexType>
+00119 NV_INLINE DListIt<IndexType>::DListIt(IndexType curr, IndexDLink<IndexType>* links) : IteratorBase<IndexType>(curr), m_links(links)
+00120 {
+00121 }
+00122 
+00123 
+00124 template<typename IndexType>
+00125 NV_INLINE uint32_t DListIt<IndexType>::operator ++ ()
+00126 {
+00127     NVBLAST_ASSERT((bool)(*this));
+00128     return (this->m_curr = m_links[this->m_curr].m_adj[1]);
+00129 }
+00130 
+00131 } // end namespace Blast
+00132 } // end namespace Nv
+00133 
+00134 
+00135 #endif // #ifndef NVBLASTITERATORBASE_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_iterator_base_8h.html b/docs/api_docs/files/_nv_blast_iterator_base_8h.html new file mode 100644 index 0000000..3776d65 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_iterator_base_8h.html @@ -0,0 +1,47 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastIteratorBase.h File Reference + + + + + + + +
+

sdk/common/NvBlastIteratorBase.h File Reference

#include "NvBlastIndexFns.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + +

Classes

class  Nv::Blast::DListIt< IndexType >
class  Nv::Blast::IteratorBase< T >
class  Nv::Blast::LListIt< IndexType >

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_math_8h-source.html b/docs/api_docs/files/_nv_blast_math_8h-source.html new file mode 100644 index 0000000..bb67183 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_math_8h-source.html @@ -0,0 +1,107 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastMath.h Source File + + + + + + + +

sdk/common/NvBlastMath.h

Go to the documentation of this file.
00001 /*
+00002  * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003  *
+00004  * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005  * and proprietary rights in and to this software, related documentation
+00006  * and any modifications thereto.  Any use, reproduction, disclosure or
+00007  * distribution of this software and related documentation without an express
+00008  * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009  */
+00010 
+00011 #ifndef NVBLASTMATH_H
+00012 #define NVBLASTMATH_H
+00013 
+00014 #include <math.h>
+00015 
+00016 namespace Nv
+00017 {
+00018 namespace Blast
+00019 {
+00020 
+00021 namespace VecMath
+00022 {
+00023 
+00024 
+00025 NV_INLINE void div(float a[3], float divisor)
+00026 {
+00027     for (int i = 0; i < 3; i++)
+00028         a[i] /= divisor;
+00029 }
+00030 
+00031 NV_INLINE void mul(float a[3], float multiplier)
+00032 {
+00033     for (int i = 0; i < 3; i++)
+00034         a[i] *= multiplier;
+00035 }
+00036 
+00037 NV_INLINE void add(const float a[3], float b[3])
+00038 {
+00039     for (int i = 0; i < 3; i++)
+00040         b[i] = a[i] + b[i];
+00041 }
+00042     
+00043 NV_INLINE void add(const float a[3], const float b[3], float r[3])
+00044 {
+00045     for (int i = 0; i < 3; i++)
+00046         r[i] = a[i] + b[i];
+00047 }
+00048 
+00049 NV_INLINE void sub(const float a[3], const float b[3], float r[3])
+00050 {
+00051     for (int i = 0; i < 3; i++)
+00052         r[i] = a[i] - b[i];
+00053 }
+00054 
+00055 NV_INLINE float dot(const float a[3], const float b[3])
+00056 {
+00057     float r = 0;
+00058     for (int i = 0; i < 3; i++)
+00059         r += a[i] * b[i];
+00060     return r;
+00061 }
+00062 
+00063 NV_INLINE float normal(const float a[3], float r[3])
+00064 {
+00065     float length = sqrtf(dot(a, a));
+00066     for (int i = 0; i < 3; i++)
+00067         r[i] = a[i] / length;
+00068 
+00069     return length;
+00070 }
+00071 
+00072 
+00073 } // namespace VecMath
+00074 
+00075 } // namespace Blast
+00076 } // namespace Nv
+00077 
+00078 
+00079 #endif // #ifndef NVBLASTMATH_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_math_8h.html b/docs/api_docs/files/_nv_blast_math_8h.html new file mode 100644 index 0000000..0be8150 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_math_8h.html @@ -0,0 +1,57 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastMath.h File Reference + + + + + + + +
+

sdk/common/NvBlastMath.h File Reference

#include <math.h>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + +

Namespaces

namespace  Nv
namespace  Nv::Blast
namespace  Nv::Blast::VecMath

Functions

NV_INLINE void Nv::Blast::VecMath::add (const float a[3], const float b[3], float r[3])
NV_INLINE void Nv::Blast::VecMath::add (const float a[3], float b[3])
NV_INLINE void Nv::Blast::VecMath::div (float a[3], float divisor)
NV_INLINE float Nv::Blast::VecMath::dot (const float a[3], const float b[3])
NV_INLINE void Nv::Blast::VecMath::mul (float a[3], float multiplier)
NV_INLINE float Nv::Blast::VecMath::normal (const float a[3], float r[3])
NV_INLINE void Nv::Blast::VecMath::sub (const float a[3], const float b[3], float r[3])
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_memory_8h-source.html b/docs/api_docs/files/_nv_blast_memory_8h-source.html new file mode 100644 index 0000000..ef634f1 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_memory_8h-source.html @@ -0,0 +1,136 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastMemory.h Source File + + + + + + + +

sdk/common/NvBlastMemory.h

Go to the documentation of this file.
00001 /*
+00002  * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003  *
+00004  * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005  * and proprietary rights in and to this software, related documentation
+00006  * and any modifications thereto.  Any use, reproduction, disclosure or
+00007  * distribution of this software and related documentation without an express
+00008  * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009  */
+00010 
+00011 #ifndef NVBLASTMEMORY_H
+00012 #define NVBLASTMEMORY_H
+00013 
+00014 #include <math.h>
+00015 
+00016 namespace Nv
+00017 {
+00018 namespace Blast
+00019 {
+00020 
+00021 
+00027 template<typename T>
+00028 NV_INLINE T align16(T value)
+00029 {
+00030     return (value + 0xF)&~(T)0xF;
+00031 }
+00032 
+00033 
+00036 template <typename T>
+00037 NV_INLINE T pointerOffset(void* p, ptrdiff_t offset)
+00038 {
+00039     return reinterpret_cast<T>(reinterpret_cast<char*>(p)+offset);
+00040 }
+00041 
+00042 template <typename T>
+00043 NV_INLINE T pointerOffset(const void* p, ptrdiff_t offset)
+00044 {
+00045     return reinterpret_cast<T>(reinterpret_cast<const char*>(p)+offset);
+00046 }
+00047 
+00048 NV_INLINE const void* pointerOffset(const void* p, ptrdiff_t offset)
+00049 {
+00050     return pointerOffset<const void*>(p, offset);
+00051 }
+00052 
+00053 NV_INLINE void* pointerOffset(void* p, ptrdiff_t offset)
+00054 {
+00055     return pointerOffset<void*>(p, offset);
+00056 }
+00057 
+00058 } // namespace Blast
+00059 } // namespace Nv
+00060 
+00061 
+00063 #define NvBlastBlockData(_dataType, _name, _accessor) \
+00064 _dataType* _accessor() const \
+00065 { \
+00066     return (_dataType*)((uintptr_t)this + _name); \
+00067 } \
+00068 uint32_t _name
+00069 
+00070 
+00072 #define NvBlastBlockArrayData(_dataType, _name, _accessor, _sizeExpr) \
+00073 _dataType* _accessor() const \
+00074 { \
+00075     return (_dataType*)((uintptr_t)this + _name); \
+00076 } \
+00077 uint32_t _accessor##ArraySize() const \
+00078 { \
+00079     return _sizeExpr; \
+00080 } \
+00081 uint32_t _name
+00082 
+00083 
+00087 #define NvBlastCreateOffsetStart(_baseOffset) \
+00088 size_t _lastOffset = _baseOffset; \
+00089 size_t _lastSize = 0
+00090 
+00092 #define NvBlastCreateOffsetAlign16(_name, _size) \
+00093 _name = align16(_lastOffset + _lastSize); \
+00094 _lastOffset = _name; \
+00095 _lastSize = _size
+00096 
+00098 #define NvBlastCreateOffsetEndAlign16() \
+00099 align16(_lastOffset + _lastSize)
+00100 
+00101 
+00103 #if NV_WINDOWS_FAMILY
+00104 #include <malloc.h>
+00105 #define NvBlastAlloca(x) _alloca(x)
+00106 #elif NV_LINUX || NV_ANDROID
+00107 #include <malloc.h>
+00108 #define NvBlastAlloca(x) alloca(x)
+00109 #elif NV_APPLE_FAMILY
+00110 #include <alloca.h>
+00111 #define NvBlastAlloca(x) alloca(x)
+00112 #elif NV_PS4
+00113 #include <memory.h>
+00114 #define NvBlastAlloca(x) alloca(x)
+00115 #elif NV_XBOXONE
+00116 #include <malloc.h>
+00117 #define NvBlastAlloca(x) alloca(x)
+00118 #endif
+00119 
+00120 #define NvBlastAllocaAligned16(x) (void*)(((uintptr_t)PxAlloca(x + 0xF) + 0xF) & ~(uintptr_t)0xF)
+00121 
+00122 
+00123 #endif // #ifndef NVBLASTMEMORY_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_memory_8h.html b/docs/api_docs/files/_nv_blast_memory_8h.html new file mode 100644 index 0000000..8dcfeff --- /dev/null +++ b/docs/api_docs/files/_nv_blast_memory_8h.html @@ -0,0 +1,221 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastMemory.h File Reference + + + + + + + +
+

sdk/common/NvBlastMemory.h File Reference

#include <math.h>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Namespaces

namespace  Nv
namespace  Nv::Blast

Defines

#define NvBlastAllocaAligned16(x)   (void*)(((uintptr_t)PxAlloca(x + 0xF) + 0xF) & ~(uintptr_t)0xF)
#define NvBlastBlockArrayData(_dataType, _name, _accessor, _sizeExpr)
#define NvBlastBlockData(_dataType, _name, _accessor)
#define NvBlastCreateOffsetAlign16(_name, _size)
#define NvBlastCreateOffsetEndAlign16()   align16(_lastOffset + _lastSize)
#define NvBlastCreateOffsetStart(_baseOffset)

Functions

template<typename T >
NV_INLINE T Nv::Blast::align16 (T value)
template<typename T >
NV_INLINE T Nv::Blast::pointerOffset (const void *p, ptrdiff_t offset)
template<typename T >
NV_INLINE T Nv::Blast::pointerOffset (void *p, ptrdiff_t offset)
+


Define Documentation

+ +
+
+ + + + + + + + + +
#define NvBlastAllocaAligned16 (  )    (void*)(((uintptr_t)PxAlloca(x + 0xF) + 0xF) & ~(uintptr_t)0xF)
+
+
+ +

+Stack allocation +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
#define NvBlastBlockArrayData (_dataType,
_name,
_accessor,
_sizeExpr   ) 
+
+
+ +

+Value:

_dataType* _accessor() const \
+{ \
+    return (_dataType*)((uintptr_t)this + _name); \
+} \
+uint32_t _accessor##ArraySize() const \
+{ \
+    return _sizeExpr; \
+} \
+uint32_t _name
+
Block data offset and accessor macro for an array (includes an _accessor#ArraySize() function which returns the last expression). +
+

+ +

+
+ + + + + + + + + + + + + + + +
#define NvBlastBlockData (_dataType,
_name,
_accessor   ) 
+
+
+ +

+Value:

_dataType* _accessor() const \
+{ \
+    return (_dataType*)((uintptr_t)this + _name); \
+} \
+uint32_t _name
+
Block data offset and accessor macro. +
+

+ +

+
+ + + + + + + + + + + + +
#define NvBlastCreateOffsetAlign16 (_name,
_size   ) 
+
+
+ +

+Value:

_name = align16(_lastOffset + _lastSize); \
+_lastOffset = _name; \
+_lastSize = _size
+
Create the next offset generation with this. The value will be aligned to a 16-byte boundary. +
+

+ +

+
+ + + + +  + + + + +
#define NvBlastCreateOffsetEndAlign16 (  )    align16(_lastOffset + _lastSize)
+
+
+ +

+End offset generation with this. It evaluates to the (16-byte aligned) total size of the data block. +

+

+ +

+
+ + + + + + + + + +
#define NvBlastCreateOffsetStart (_baseOffset   ) 
+
+
+ +

+Value:

size_t _lastOffset = _baseOffset; \
+size_t _lastSize = 0
+
Block data offset generation macros. Start offset generation with this. +
+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_preprocessor_8h-source.html b/docs/api_docs/files/_nv_blast_preprocessor_8h-source.html new file mode 100644 index 0000000..4f9cd1e --- /dev/null +++ b/docs/api_docs/files/_nv_blast_preprocessor_8h-source.html @@ -0,0 +1,55 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/lowlevel/include/NvBlastPreprocessor.h Source File + + + + + + + +

sdk/lowlevel/include/NvBlastPreprocessor.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTPREPROCESSOR_H
+00012 #define NVBLASTPREPROCESSOR_H
+00013 
+00014 
+00015 #include "NvPreprocessor.h"
+00016 
+00017 
+00019 #define NVBLAST_API NV_C_EXPORT NV_DLL_EXPORT
+00020 
+00021 
+00025 #define NVBLAST_LOG_ERROR(_logFn, _msg)     if (_logFn != nullptr) { _logFn(NvBlastMessage::Error, _msg, __FILE__, __LINE__); } ((void)0)
+00026 #define NVBLAST_LOG_WARNING(_logFn, _msg)   if (_logFn != nullptr) { _logFn(NvBlastMessage::Warning, _msg, __FILE__, __LINE__); } ((void)0)
+00027 #define NVBLAST_LOG_INFO(_logFn, _msg)      if (_logFn != nullptr) { _logFn(NvBlastMessage::Info, _msg, __FILE__, __LINE__); } ((void)0)
+00028 #define NVBLAST_LOG_DEBUG(_logFn, _msg)     if (_logFn != nullptr) { _logFn(NvBlastMessage::Debug, _msg, __FILE__, __LINE__); } ((void)0)
+00029 
+00030 
+00031 #endif // ifndef NVBLASTPREPROCESSOR_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_preprocessor_8h.html b/docs/api_docs/files/_nv_blast_preprocessor_8h.html new file mode 100644 index 0000000..1fdd24d --- /dev/null +++ b/docs/api_docs/files/_nv_blast_preprocessor_8h.html @@ -0,0 +1,154 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/lowlevel/include/NvBlastPreprocessor.h File Reference + + + + + + + +
+

sdk/lowlevel/include/NvBlastPreprocessor.h File Reference

#include "NvPreprocessor.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + +

Defines

#define NVBLAST_API   NV_C_EXPORT NV_DLL_EXPORT
#define NVBLAST_LOG_DEBUG(_logFn, _msg)   if (_logFn != nullptr) { _logFn(NvBlastMessage::Debug, _msg, __FILE__, __LINE__); } ((void)0)
#define NVBLAST_LOG_ERROR(_logFn, _msg)   if (_logFn != nullptr) { _logFn(NvBlastMessage::Error, _msg, __FILE__, __LINE__); } ((void)0)
#define NVBLAST_LOG_INFO(_logFn, _msg)   if (_logFn != nullptr) { _logFn(NvBlastMessage::Info, _msg, __FILE__, __LINE__); } ((void)0)
#define NVBLAST_LOG_WARNING(_logFn, _msg)   if (_logFn != nullptr) { _logFn(NvBlastMessage::Warning, _msg, __FILE__, __LINE__); } ((void)0)
+


Define Documentation

+ +
+
+ + + + +
#define NVBLAST_API   NV_C_EXPORT NV_DLL_EXPORT
+
+
+ +

+Blast API declaration +

+

+ +

+
+ + + + + + + + + + + + +
#define NVBLAST_LOG_DEBUG (_logFn,
_msg   )    if (_logFn != nullptr) { _logFn(NvBlastMessage::Debug, _msg, __FILE__, __LINE__); } ((void)0)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + +
#define NVBLAST_LOG_ERROR (_logFn,
_msg   )    if (_logFn != nullptr) { _logFn(NvBlastMessage::Error, _msg, __FILE__, __LINE__); } ((void)0)
+
+
+ +

+Macros for more convenient logging +

+

+ +

+
+ + + + + + + + + + + + +
#define NVBLAST_LOG_INFO (_logFn,
_msg   )    if (_logFn != nullptr) { _logFn(NvBlastMessage::Info, _msg, __FILE__, __LINE__); } ((void)0)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + +
#define NVBLAST_LOG_WARNING (_logFn,
_msg   )    if (_logFn != nullptr) { _logFn(NvBlastMessage::Warning, _msg, __FILE__, __LINE__); } ((void)0)
+
+
+ +

+ +

+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_preprocessor_internal_8h-source.html b/docs/api_docs/files/_nv_blast_preprocessor_internal_8h-source.html new file mode 100644 index 0000000..a4e8be9 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_preprocessor_internal_8h-source.html @@ -0,0 +1,63 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastPreprocessorInternal.h Source File + + + + + + + +

sdk/common/NvBlastPreprocessorInternal.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTPREPROCESSORINTERNAL_H
+00012 #define NVBLASTPREPROCESSORINTERNAL_H
+00013 
+00014 
+00015 #include "NvPreprocessor.h"
+00016 
+00017 
+00019 #define NVBLAST_CHECK_PARAMS (NV_DEBUG || NV_CHECKED)
+00020 
+00021 
+00022 #if NVBLAST_CHECK_PARAMS
+00023 #define NVBLAST_CHECK(_expr, _logFn, _msg, _onFail)                                                                     \
+00024     {                                                                                                                   \
+00025         if(!(_expr))                                                                                                    \
+00026         {                                                                                                               \
+00027             if (_logFn) { _logFn(NvBlastMessage::Error, _msg, __FILE__, __LINE__); }                                    \
+00028             { _onFail; };                                                                                               \
+00029         }                                                                                                               \
+00030     }                                                                                                                   
+00031 #else
+00032 #define NVBLAST_CHECK(_expr, _logFn, _msg, _onFail) NV_UNUSED(_logFn)
+00033 #endif
+00034 
+00035 
+00036 #endif // ifndef NVBLASTPREPROCESSORINTERNAL_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_preprocessor_internal_8h.html b/docs/api_docs/files/_nv_blast_preprocessor_internal_8h.html new file mode 100644 index 0000000..293304e --- /dev/null +++ b/docs/api_docs/files/_nv_blast_preprocessor_internal_8h.html @@ -0,0 +1,85 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastPreprocessorInternal.h File Reference + + + + + + + +
+

sdk/common/NvBlastPreprocessorInternal.h File Reference

#include "NvPreprocessor.h"
+ +

+Go to the source code of this file. + + + + + + +

Defines

#define NVBLAST_CHECK(_expr, _logFn, _msg, _onFail)   NV_UNUSED(_logFn)
#define NVBLAST_CHECK_PARAMS   (NV_DEBUG || NV_CHECKED)
+


Define Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define NVBLAST_CHECK (_expr,
_logFn,
_msg,
_onFail   )    NV_UNUSED(_logFn)
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define NVBLAST_CHECK_PARAMS   (NV_DEBUG || NV_CHECKED)
+
+
+ +

+Blast will check function parameters for debug and checked builds. +

+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_profiler_8h-source.html b/docs/api_docs/files/_nv_blast_profiler_8h-source.html new file mode 100644 index 0000000..a4b132a --- /dev/null +++ b/docs/api_docs/files/_nv_blast_profiler_8h-source.html @@ -0,0 +1,64 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/lowlevel/include/NvBlastProfiler.h Source File + + + + + + + +

sdk/lowlevel/include/NvBlastProfiler.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTPROFILER_H
+00012 #define NVBLASTPROFILER_H
+00013 
+00014 #include "NvBlastPreprocessor.h"
+00015 
+00016 namespace physx {
+00017     class PxProfilerCallback;
+00018 }
+00019 
+00020 struct NvBlastProfilerDetail
+00021 {
+00022     enum Level
+00023     {
+00024         LOW,
+00025         MEDIUM,
+00026         HIGH
+00027     };
+00028 };
+00029 
+00037 NVBLAST_API void NvBlastProfilerSetCallback(physx::PxProfilerCallback* pcb);
+00038 
+00043 NVBLAST_API void NvBlastProfilerEnablePlatform(bool);
+00044 
+00050 NVBLAST_API void NvBlastProfilerSetDetail(NvBlastProfilerDetail::Level);
+00051 
+00052 #endif
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_profiler_8h.html b/docs/api_docs/files/_nv_blast_profiler_8h.html new file mode 100644 index 0000000..01a0c47 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_profiler_8h.html @@ -0,0 +1,109 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/lowlevel/include/NvBlastProfiler.h File Reference + + + + + + + +
+

sdk/lowlevel/include/NvBlastProfiler.h File Reference

#include "NvBlastPreprocessor.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + +

Classes

struct  NvBlastProfilerDetail

Namespaces

namespace  physx

Functions

void NvBlastProfilerEnablePlatform (bool)
void NvBlastProfilerSetCallback (physx::PxProfilerCallback *pcb)
void NvBlastProfilerSetDetail (NvBlastProfilerDetail::Level)
+


Function Documentation

+ +
+
+ + + + + + + + + +
void NvBlastProfilerEnablePlatform (bool   ) 
+
+
+ +

+Enable events for platform specific profiler tools. Currently supported: Nsight, PS4, Xbox One +

+

+ +

+
+ + + + + + + + + +
void NvBlastProfilerSetCallback (physx::PxProfilerCallback *  pcb  ) 
+
+
+ +

+Profiler features are only active in checked, debug and profile builds. Set a callback to PVD or another PxProfilerCallback based profiler. +

+

+ +

+
+ + + + + + + + + +
void NvBlastProfilerSetDetail (NvBlastProfilerDetail::Level   ) 
+
+
+ +

+Sets the depth of reported profile zones. Higher levels (more nesting) of instrumentation can have a significant impact. Defaults to NvBlastProfilerDetail::Level::LOW. +

+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_profiler_internal_8h-source.html b/docs/api_docs/files/_nv_blast_profiler_internal_8h-source.html new file mode 100644 index 0000000..91cb20c --- /dev/null +++ b/docs/api_docs/files/_nv_blast_profiler_internal_8h-source.html @@ -0,0 +1,86 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/profiler/NvBlastProfilerInternal.h Source File + + + + + + + +

sdk/profiler/NvBlastProfilerInternal.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTPROFILERINTERNAL_H
+00012 #define NVBLASTPROFILERINTERNAL_H
+00013 
+00014 #include "NvBlastPreprocessor.h"
+00015 #include "NvBlastProfiler.h"
+00016 
+00017 #if NV_PROFILE || NV_CHECKED || NV_DEBUG
+00018 
+00019 void NvBlastProfilerBegin(const char* name, NvBlastProfilerDetail::Level);
+00020 void NvBlastProfilerEnd(const char* name, NvBlastProfilerDetail::Level);
+00021 
+00022 class ProfileScope
+00023 {
+00024 public:
+00025     ProfileScope(const char* name, NvBlastProfilerDetail::Level level) :m_name(name), m_level(level)
+00026     {
+00027         NvBlastProfilerBegin(m_name, m_level);
+00028     }
+00029 
+00030     ~ProfileScope() 
+00031     {
+00032         NvBlastProfilerEnd(m_name, m_level);
+00033     }
+00034 
+00035 private:
+00036     const char* m_name;
+00037     NvBlastProfilerDetail::Level m_level;
+00038 };
+00039 
+00040 #define PERF_BLAST_PREFIX           "Blast: "
+00041 #define PERF_ZONE_BEGIN(name)       NvBlastProfilerBegin(PERF_BLAST_PREFIX name, NvBlastProfilerDetail::HIGH)
+00042 #define PERF_ZONE_END(name)         NvBlastProfilerEnd(PERF_BLAST_PREFIX name, NvBlastProfilerDetail::HIGH)
+00043 #define PERF_SCOPE(name, detail)    ProfileScope PX_CONCAT(_scope,__LINE__) (PERF_BLAST_PREFIX name, detail)
+00044 #define PERF_SCOPE_L(name)          PERF_SCOPE(name, NvBlastProfilerDetail::LOW)
+00045 #define PERF_SCOPE_M(name)          PERF_SCOPE(name, NvBlastProfilerDetail::MEDIUM)
+00046 #define PERF_SCOPE_H(name)          PERF_SCOPE(name, NvBlastProfilerDetail::HIGH)
+00047 
+00048 #else
+00049 
+00050 #define PERF_ZONE_BEGIN(name)   
+00051 #define PERF_ZONE_END(name)
+00052 #define PERF_SCOPE_L(name)
+00053 #define PERF_SCOPE_M(name)
+00054 #define PERF_SCOPE_H(name)
+00055 
+00056 #endif
+00057 
+00058 #endif
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_profiler_internal_8h.html b/docs/api_docs/files/_nv_blast_profiler_internal_8h.html new file mode 100644 index 0000000..c3f2265 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_profiler_internal_8h.html @@ -0,0 +1,148 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/profiler/NvBlastProfilerInternal.h File Reference + + + + + + + +
+

sdk/profiler/NvBlastProfilerInternal.h File Reference

#include "NvBlastPreprocessor.h"
+#include "NvBlastProfiler.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + +

Defines

#define PERF_SCOPE_H(name)
#define PERF_SCOPE_L(name)
#define PERF_SCOPE_M(name)
#define PERF_ZONE_BEGIN(name)
#define PERF_ZONE_END(name)
+


Define Documentation

+ +
+
+ + + + + + + + + +
#define PERF_SCOPE_H (name   ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define PERF_SCOPE_L (name   ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define PERF_SCOPE_M (name   ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define PERF_ZONE_BEGIN (name   ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define PERF_ZONE_END (name   ) 
+
+
+ +

+ +

+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_time_8h-source.html b/docs/api_docs/files/_nv_blast_time_8h-source.html new file mode 100644 index 0000000..24d7450 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_time_8h-source.html @@ -0,0 +1,135 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastTime.h Source File + + + + + + + +

sdk/common/NvBlastTime.h

Go to the documentation of this file.
00001 // This code contains NVIDIA Confidential Information and is disclosed to you
+00002 // under a form of NVIDIA software license agreement provided separately to you.
+00003 //
+00004 // Notice
+00005 // NVIDIA Corporation and its licensors retain all intellectual property and
+00006 /*
+00007 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00008 *
+00009 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00010 * and proprietary rights in and to this software, related documentation
+00011 * and any modifications thereto.  Any use, reproduction, disclosure or
+00012 * distribution of this software and related documentation without an express
+00013 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00014 */
+00015 
+00016 #ifndef NVBLASTTIME_H
+00017 #define NVBLASTTIME_H
+00018 
+00019 #include "NvBlastTypes.h"
+00020 
+00021 
+00022 namespace Nv
+00023 {
+00024 namespace Blast
+00025 {
+00026 
+00027 class Time
+00028 {
+00029 public:
+00030     Time() : m_lastTickCount(getTimeTicks()) {}
+00031 
+00032     int64_t         getElapsedTicks()
+00033     {
+00034         const int64_t lastTickCount = m_lastTickCount;
+00035         m_lastTickCount = getTimeTicks();
+00036         return m_lastTickCount - lastTickCount;
+00037     }
+00038 
+00039     int64_t         peekElapsedTicks() const
+00040     {
+00041         return getTimeTicks() - m_lastTickCount;
+00042     }
+00043 
+00044     int64_t         getLastTickCount() const
+00045     {
+00046         return m_lastTickCount;
+00047     }
+00048 
+00049     static double   seconds(int64_t ticks)
+00050     {
+00051         return s_secondsPerTick * ticks;
+00052     }
+00053 
+00054 private:
+00055     int64_t         getTimeTicks() const;
+00056     static double   getTickDuration();
+00057 
+00058     int64_t             m_lastTickCount;
+00059     static const double s_secondsPerTick;
+00060 };
+00061 
+00062 } // namespace Blast
+00063 } // namespace Nv
+00064 
+00065 
+00067 
+00068 #if NV_MICROSOFT_FAMILY
+00069 
+00070 #include "NvBlastIncludeWindows.h"
+00071 
+00072 NV_INLINE int64_t Nv::Blast::Time::getTimeTicks() const
+00073 {
+00074     LARGE_INTEGER a;
+00075     QueryPerformanceCounter(&a);
+00076     return a.QuadPart;
+00077 }
+00078 
+00079 NV_INLINE double Nv::Blast::Time::getTickDuration()
+00080 {
+00081     LARGE_INTEGER a;
+00082     QueryPerformanceFrequency(&a);
+00083     return 1.0 / (double)a.QuadPart;
+00084 }
+00085 
+00086 #elif NV_UNIX_FAMILY
+00087 
+00088 #include <time.h>
+00089 
+00090 NV_INLINE int64_t Nv::Blast::Time::getTimeTicks() const
+00091 {
+00092     struct timespec mCurrTimeInt;
+00093     clock_gettime(CLOCK_REALTIME, &mCurrTimeInt);
+00094     return (static_cast<int64_t>(mCurrTimeInt.tv_sec) * 1000000000) + (static_cast<int64_t>(mCurrTimeInt.tv_nsec));
+00095 }
+00096 
+00097 NV_INLINE double Nv::Blast::Time::getTickDuration()
+00098 {
+00099     return 1.e-9;
+00100 }
+00101 
+00102 #elif NV_PS4
+00103 
+00104 #include "ps4/NvBlastTimePS4.h"
+00105 
+00106 #endif
+00107 
+00108 #endif // #ifndef NVBLASTTIME_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_time_8h.html b/docs/api_docs/files/_nv_blast_time_8h.html new file mode 100644 index 0000000..d47ab1b --- /dev/null +++ b/docs/api_docs/files/_nv_blast_time_8h.html @@ -0,0 +1,43 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/common/NvBlastTime.h File Reference + + + + + + + +
+

sdk/common/NvBlastTime.h File Reference

#include "NvBlastTypes.h"
+ +

+Go to the source code of this file. + + + + + + + + + +

Classes

class  Nv::Blast::Time

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_8h-source.html b/docs/api_docs/files/_nv_blast_tk_8h-source.html new file mode 100644 index 0000000..cb5db8c --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_8h-source.html @@ -0,0 +1,51 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTk.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTk.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTK_H
+00012 #define NVBLASTTK_H
+00013 
+00014 
+00023 #include "NvBlastTkFramework.h"
+00024 #include "NvBlastTkAsset.h"
+00025 #include "NvBlastTkActor.h"
+00026 #include "NvBlastTkJoint.h"
+00027 #include "NvBlastTkFamily.h"
+00028 #include "NvBlastTkGroup.h"
+00029 
+00030 
+00031 #endif // ifndef NVBLASTTK_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_8h.html b/docs/api_docs/files/_nv_blast_tk_8h.html new file mode 100644 index 0000000..e04a005 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_8h.html @@ -0,0 +1,40 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTk.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTk.h File Reference

#include "NvBlastTkFramework.h"
+#include "NvBlastTkAsset.h"
+#include "NvBlastTkActor.h"
+#include "NvBlastTkJoint.h"
+#include "NvBlastTkFamily.h"
+#include "NvBlastTkGroup.h"
+ +

+Go to the source code of this file. + +
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_actor_8h-source.html b/docs/api_docs/files/_nv_blast_tk_actor_8h-source.html new file mode 100644 index 0000000..b5f5f9b --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_actor_8h-source.html @@ -0,0 +1,110 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkActor.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTkActor.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTKACTOR_H
+00012 #define NVBLASTTKACTOR_H
+00013 
+00014 #include "NvBlastTkObject.h"
+00015 #include "NvBlastTypes.h"
+00016 
+00017 // Forward declarations
+00018 struct NvBlastActor;
+00019 struct NvBlastFamily;
+00020 
+00021 
+00022 namespace Nv
+00023 {
+00024 namespace Blast
+00025 {
+00026 
+00027 // Forward declarations
+00028 class TkAsset;
+00029 class TkFamily;
+00030 class TkGroup;
+00031 class TkJoint;
+00032 
+00033 
+00039 class TkActor : public TkObject
+00040 {
+00041 public:
+00047     virtual const NvBlastActor* getActorLL() const = 0;
+00048 
+00055     virtual TkFamily&           getFamily() const = 0;
+00056 
+00060     virtual uint32_t            getIndex() const = 0;
+00061 
+00066     virtual TkGroup*            getGroup() const = 0;
+00067 
+00073     virtual TkGroup*            removeFromGroup() = 0;
+00074 
+00080     virtual const TkAsset*      getAsset() const = 0;
+00081 
+00089     virtual uint32_t            getVisibleChunkCount() const = 0;
+00090 
+00101     virtual uint32_t            getVisibleChunkIndices(uint32_t* visibleChunkIndices, uint32_t visibleChunkIndicesSize) const = 0;
+00102 
+00110     virtual uint32_t            getGraphNodeCount() const = 0;
+00111 
+00122     virtual uint32_t            getGraphNodeIndices(uint32_t* graphNodeIndices, uint32_t graphNodeIndicesSize) const = 0;
+00123 
+00131     virtual const float*        getBondHealths() const = 0;
+00132 
+00140     virtual uint32_t            getSplitMaxActorCount() const = 0;
+00141 
+00147     virtual bool                isPending() const = 0;
+00148 
+00159     virtual void                damage(const NvBlastDamageProgram& program, const NvBlastProgramParams* programParams) = 0;
+00160 
+00174     virtual void                damage(const NvBlastDamageProgram& program, const void* damageDesc, uint32_t descSize) = 0;
+00175 
+00190     virtual void                damage(const NvBlastDamageProgram& program, const void* damageDesc, uint32_t descSize, const void* material) = 0;
+00191 
+00204     virtual void                generateFracture(NvBlastFractureBuffers* commands, const NvBlastDamageProgram& program, const NvBlastProgramParams* programParams) const = 0;
+00205 
+00215     virtual void                applyFracture(NvBlastFractureBuffers* eventBuffers, const NvBlastFractureBuffers* commands) = 0;
+00216 
+00222     virtual uint32_t            getJointCount() const = 0;
+00223 
+00232     virtual uint32_t            getJoints(TkJoint** joints, uint32_t jointsSize) const = 0;
+00233 };
+00234 
+00235 } // namespace Blast
+00236 } // namespace Nv
+00237 
+00238 
+00239 #endif // ifndef NVBLASTTKACTOR_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_actor_8h.html b/docs/api_docs/files/_nv_blast_tk_actor_8h.html new file mode 100644 index 0000000..7f2878d --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_actor_8h.html @@ -0,0 +1,44 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkActor.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTkActor.h File Reference

#include "NvBlastTkObject.h"
+#include "NvBlastTypes.h"
+ +

+Go to the source code of this file. + + + + + + + + + +

Classes

class  Nv::Blast::TkActor

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_asset_8h-source.html b/docs/api_docs/files/_nv_blast_tk_asset_8h-source.html new file mode 100644 index 0000000..6c83dd0 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_asset_8h-source.html @@ -0,0 +1,90 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkAsset.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTkAsset.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTKASSET_H
+00012 #define NVBLASTTKASSET_H
+00013 
+00014 #include "NvBlastTkSerializable.h"
+00015 #include "NvBlastTypes.h"
+00016 #include "PxVec3.h"
+00017 
+00018 // Forward declarations
+00019 struct NvBlastAsset;
+00020 
+00021 
+00022 namespace Nv
+00023 {
+00024 namespace Blast
+00025 {
+00026 
+00030 struct TkAssetJointDesc
+00031 {
+00032     uint32_t        nodeIndices[2];     
+00033     physx::PxVec3   attachPositions[2]; 
+00034 };
+00035 
+00036 
+00041 class TkAsset : public TkSerializable
+00042 {
+00043 public:
+00049     virtual const NvBlastAsset*         getAssetLL() const = 0;
+00050 
+00058     virtual uint32_t                    getChunkCount() const = 0;
+00059 
+00067     virtual uint32_t                    getLeafChunkCount() const = 0;
+00068 
+00076     virtual uint32_t                    getBondCount() const = 0;
+00077 
+00085     virtual const NvBlastChunk*         getChunks() const = 0;
+00086 
+00094     virtual const NvBlastBond*          getBonds() const = 0;
+00095 
+00103     virtual const NvBlastSupportGraph   getGraph() const = 0;
+00104 
+00112     virtual uint32_t                    getDataSize() const = 0;
+00113 
+00122     virtual uint32_t                    getJointDescCount() const = 0;
+00123 
+00129     virtual const TkAssetJointDesc*     getJointDescs() const = 0;
+00130 };
+00131 
+00132 } // namespace Blast
+00133 } // namespace Nv
+00134 
+00135 
+00136 #endif // ifndef NVBLASTTKASSET_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_asset_8h.html b/docs/api_docs/files/_nv_blast_tk_asset_8h.html new file mode 100644 index 0000000..5322bb8 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_asset_8h.html @@ -0,0 +1,47 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkAsset.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTkAsset.h File Reference

#include "NvBlastTkSerializable.h"
+#include "NvBlastTypes.h"
+#include "PxVec3.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + +

Classes

class  Nv::Blast::TkAsset
struct  Nv::Blast::TkAssetJointDesc

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_event_8h-source.html b/docs/api_docs/files/_nv_blast_tk_event_8h-source.html new file mode 100644 index 0000000..fd75804 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_event_8h-source.html @@ -0,0 +1,147 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkEvent.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTkEvent.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTKEVENT_H
+00012 #define NVBLASTTKEVENT_H
+00013 
+00014 #include <vector>
+00015 
+00016 #include "NvBlastTypes.h"
+00017 
+00018 
+00019 namespace Nv
+00020 {
+00021 namespace Blast
+00022 {
+00023 
+00024 // Forward declarations
+00025 class TkObject;
+00026 class TkActor;
+00027 class TkFamily;
+00028 class TkJoint;
+00029 
+00030 
+00035 struct TkActorData
+00036 {
+00037     TkFamily*   family;     
+00038     void*       userData;   
+00039     uint32_t    index;      
+00040 };
+00041 
+00042 
+00047 struct TkEvent
+00048 {
+00049     // Enums
+00050     enum Type
+00051     {
+00052         Split,              
+00053         FractureCommand,    
+00054         FractureEvent,      
+00055         JointUpdate,        
+00056 
+00057         TypeCount
+00058     };
+00059 
+00060     // Data
+00061     const void* payload;    
+00062     Type        type;       
+00063 
+00069     template<typename T>
+00070     const T* getPayload() const { return reinterpret_cast<const T*>(payload); }
+00071 };
+00072 
+00073 
+00081 struct TkSplitEvent
+00082 {
+00083     enum { EVENT_TYPE = TkEvent::Split };
+00084 
+00085     TkActorData parentData;     
+00086     uint32_t    numChildren;    
+00087     TkActor**   children;       
+00088 };
+00089 
+00090 
+00096 struct TkFractureCommands
+00097 {
+00098     enum { EVENT_TYPE = TkEvent::FractureCommand };
+00099 
+00100     TkActorData             tkActorData;    
+00101     NvBlastFractureBuffers  buffers;        
+00102 };
+00103 
+00104 
+00110 struct TkFractureEvents
+00111 {
+00112     enum { EVENT_TYPE = TkEvent::FractureEvent };
+00113 
+00114     TkActorData             tkActorData;    
+00115     NvBlastFractureBuffers  buffers;        
+00116     uint32_t                bondsDamaged;   
+00117     uint32_t                bondsBroken;    
+00118     uint32_t                chunksDamaged;  
+00119     uint32_t                chunksBroken;   
+00120 };
+00121 
+00122 
+00130 struct TkJointUpdateEvent
+00131 {
+00132     enum { EVENT_TYPE = TkEvent::JointUpdate };
+00133 
+00134     enum Subtype
+00135     {
+00136         External,       
+00137         Changed,        
+00138         Unreferenced    
+00139     };
+00140 
+00141     TkJoint*    joint;      
+00142     Subtype     subtype;    
+00143 };
+00144 
+00145 
+00150 class TkEventListener
+00151 {
+00152 public:
+00159     virtual void    receive(const TkEvent* events, uint32_t eventCount) = 0;
+00160 };
+00161 
+00162 } // namespace Blast
+00163 } // namespace Nv
+00164 
+00165 
+00166 #endif // ifndef NVBLASTTKEVENT_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_event_8h.html b/docs/api_docs/files/_nv_blast_tk_event_8h.html new file mode 100644 index 0000000..f11becf --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_event_8h.html @@ -0,0 +1,56 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkEvent.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTkEvent.h File Reference

#include <vector>
+#include "NvBlastTypes.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + +

Classes

struct  Nv::Blast::TkActorData
struct  Nv::Blast::TkEvent
class  Nv::Blast::TkEventListener
struct  Nv::Blast::TkFractureCommands
struct  Nv::Blast::TkFractureEvents
struct  Nv::Blast::TkJointUpdateEvent
struct  Nv::Blast::TkSplitEvent

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_family_8h-source.html b/docs/api_docs/files/_nv_blast_tk_family_8h-source.html new file mode 100644 index 0000000..6c29787 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_family_8h-source.html @@ -0,0 +1,88 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkFamily.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTkFamily.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTKFAMILY_H
+00012 #define NVBLASTTKFAMILY_H
+00013 
+00014 #include "NvBlastTkSerializable.h"
+00015 
+00016 
+00017 // Forward declarations
+00018 struct NvBlastFamily;
+00019 
+00020 
+00021 namespace Nv
+00022 {
+00023 namespace Blast
+00024 {
+00025 
+00026 // Forward declarations
+00027 class TkActor;
+00028 class TkAsset;
+00029 class TkEventListener;
+00030 
+00031 
+00037 class TkFamily : public TkSerializable
+00038 {
+00039 public:
+00045     virtual const NvBlastFamily*    getFamilyLL() const = 0;
+00046 
+00052     virtual const TkAsset*          getAsset() const = 0;
+00053 
+00059     virtual uint32_t                getActorCount() const = 0;
+00060 
+00070     virtual uint32_t                getActors(TkActor** buffer, uint32_t bufferSize, uint32_t indexStart = 0) const = 0;
+00071 
+00079     virtual void                    addListener(TkEventListener& l) = 0;
+00080 
+00086     virtual void                    removeListener(TkEventListener& l) = 0;
+00087 
+00093     virtual void                    applyFracture(const NvBlastFractureBuffers* commands) = 0;
+00094 
+00103     virtual void                    reinitialize(const NvBlastFamily* newFamily, TkGroup* group = nullptr) = 0;
+00104 
+00110     virtual const void*             getMaterial() const = 0;
+00111 
+00117     virtual void                    setMaterial(const void* material) = 0;
+00118 };
+00119 
+00120 } // namespace Blast
+00121 } // namespace Nv
+00122 
+00123 
+00124 #endif // ifndef NVBLASTTKFAMILY_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_family_8h.html b/docs/api_docs/files/_nv_blast_tk_family_8h.html new file mode 100644 index 0000000..11ca64b --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_family_8h.html @@ -0,0 +1,43 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkFamily.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTkFamily.h File Reference

#include "NvBlastTkSerializable.h"
+ +

+Go to the source code of this file. + + + + + + + + + +

Classes

class  Nv::Blast::TkFamily

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_framework_8h-source.html b/docs/api_docs/files/_nv_blast_tk_framework_8h-source.html new file mode 100644 index 0000000..0bb2c72 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_framework_8h-source.html @@ -0,0 +1,198 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkFramework.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTkFramework.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTKFRAMEWORK_H
+00012 #define NVBLASTTKFRAMEWORK_H
+00013 
+00014 
+00015 #include "NvBlastTkType.h"
+00016 #include "NvBlastTkEvent.h"
+00017 
+00018 #include "NvBlastPreprocessor.h"
+00019 #include "NvBlastTypes.h"
+00020 
+00021 #include "PxVec3.h"
+00022 
+00023 
+00024 // Forward declarations
+00025 namespace physx
+00026 {
+00027 class PxErrorCallback;
+00028 class PxAllocatorCallback;
+00029 class PxTransform;
+00030 namespace general_PxIOStream2
+00031 {
+00032 class PxFileBuf;
+00033 }
+00034 }
+00035 
+00036 
+00037 namespace Nv
+00038 {
+00039 namespace Blast
+00040 {
+00041 
+00042 // Forward declarations
+00043 class TkObject;
+00044 class TkEventDispatcher;
+00045 class TkAsset;
+00046 struct TkGroupDesc;
+00047 class TkGroup;
+00048 class TkActor;
+00049 class TkJoint;
+00050 class TkSerializable;
+00051 class TkIdentifiable;
+00052 struct TkAssetJointDesc;
+00053 
+00054 
+00055 
+00061 struct TkFrameworkDesc
+00062 {
+00063     physx::PxErrorCallback*     errorCallback;      
+00064     physx::PxAllocatorCallback* allocatorCallback;  
+00065 };
+00066 
+00067 
+00075 struct TkAssetDesc : public NvBlastAssetDesc
+00076 {
+00080     enum BondFlags
+00081     {
+00082         NoFlags = 0,
+00083 
+00091         BondJointed = (1 << 0)
+00092     };
+00093 
+00098     const uint8_t*  bondFlags;
+00099 
+00101     TkAssetDesc() : bondFlags(nullptr)
+00102     {
+00103         chunkCount = bondCount = 0;
+00104         chunkDescs = nullptr;
+00105         bondDescs = nullptr;
+00106     }
+00107 };
+00108 
+00109 
+00115 struct TkActorDesc : public NvBlastActorDesc
+00116 {
+00117     const TkAsset* asset;   
+00118 
+00120     TkActorDesc(const TkAsset* inAsset = nullptr) : asset(inAsset)
+00121     {
+00122         uniformInitialBondHealth = uniformInitialLowerSupportChunkHealth = 1.0f;
+00123         initialBondHealths = initialSupportChunkHealths = nullptr;
+00124     }
+00125 };
+00126 
+00127 
+00131 struct TkJointDesc
+00132 {
+00133     TkFamily*       families[2];        
+00134     uint32_t        chunkIndices[2];    
+00135     physx::PxVec3   attachPositions[2]; 
+00136 };
+00137 
+00138 
+00142 struct TkTypeIndex
+00143 {
+00144     enum Enum
+00145     {
+00146         Asset = 0,  
+00147         Family,     
+00148         Group,      
+00149 
+00150         TypeCount
+00151     };
+00152 };
+00153 
+00154 
+00161 class TkFramework
+00162 {
+00163 public:
+00168     virtual void                        release() = 0;
+00169 
+00173     virtual physx::PxErrorCallback&     getErrorCallback() const = 0;
+00174 
+00178     virtual physx::PxAllocatorCallback& getAllocatorCallback() const = 0;
+00179 
+00184     virtual NvBlastLog                  getLogFn() const = 0;
+00185 
+00202     virtual TkSerializable*             deserialize(physx::general_PxIOStream2::PxFileBuf& stream) = 0;
+00203 
+00212     virtual const TkType*               getType(TkTypeIndex::Enum typeIndex) const = 0;
+00213 
+00221     virtual TkIdentifiable*             findObjectByID(const NvBlastID& id) const = 0;
+00222 
+00230     virtual uint32_t                    getObjectCount(const TkType& type) const = 0;
+00231 
+00242     virtual uint32_t                    getObjects(TkIdentifiable** buffer, uint32_t bufferSize, const TkType& type, uint32_t indexStart = 0) const = 0;
+00243 
+00245 
+00260     virtual bool                        reorderAssetDescChunks(NvBlastChunkDesc* chunkDescs, uint32_t chunkCount, NvBlastBondDesc* bondDescs, uint32_t bondCount, uint32_t* chunkReorderMap = nullptr) const = 0;
+00261 
+00274     virtual bool                        ensureAssetExactSupportCoverage(NvBlastChunkDesc* chunkDescs, uint32_t chunkCount) const = 0;
+00275 
+00283     virtual TkAsset*                    createAsset(const TkAssetDesc& desc) = 0;
+00284 
+00295     virtual TkAsset*                    createAsset(const NvBlastAsset* assetLL, Nv::Blast::TkAssetJointDesc* jointDescs = nullptr, uint32_t jointDescCount = 0, bool ownsAsset = false) = 0;
+00296 
+00298 
+00307     virtual TkGroup*                    createGroup(const TkGroupDesc& desc) = 0;
+00308 
+00310 
+00317     virtual TkActor*                    createActor(const TkActorDesc& desc) = 0;
+00318 
+00320 
+00332     virtual TkJoint*                    createJoint(const TkJointDesc& desc)  = 0;
+00333 
+00334 protected:
+00338     virtual                             ~TkFramework() {}
+00339 };
+00340 
+00341 } // namespace Blast
+00342 } // namespace Nv
+00343 
+00344 
+00346 
+00354 NVBLAST_API Nv::Blast::TkFramework* NvBlastTkFrameworkCreate(const Nv::Blast::TkFrameworkDesc& desc);
+00355 
+00356 
+00362 NVBLAST_API Nv::Blast::TkFramework* NvBlastTkFrameworkGet();
+00363 
+00364 
+00365 #endif // ifndef NVBLASTTKFRAMEWORK_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_framework_8h.html b/docs/api_docs/files/_nv_blast_tk_framework_8h.html new file mode 100644 index 0000000..7933dc8 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_framework_8h.html @@ -0,0 +1,115 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkFramework.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTkFramework.h File Reference

#include "NvBlastTkType.h"
+#include "NvBlastTkEvent.h"
+#include "NvBlastPreprocessor.h"
+#include "NvBlastTypes.h"
+#include "PxVec3.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Classes

struct  Nv::Blast::TkActorDesc
struct  Nv::Blast::TkAssetDesc
class  Nv::Blast::TkFramework
struct  Nv::Blast::TkFrameworkDesc
struct  Nv::Blast::TkJointDesc
struct  Nv::Blast::TkTypeIndex

Namespaces

namespace  Nv
namespace  Nv::Blast
namespace  physx
namespace  physx::general_PxIOStream2

Functions

Nv::Blast::TkFrameworkNvBlastTkFrameworkCreate (const Nv::Blast::TkFrameworkDesc &desc)
Nv::Blast::TkFrameworkNvBlastTkFrameworkGet ()
+


Function Documentation

+ +
+
+ + + + + + + + + +
Nv::Blast::TkFramework* NvBlastTkFrameworkCreate (const Nv::Blast::TkFrameworkDesc desc  ) 
+
+
+ +

+Create a new TkFramework. This creates a global singleton, and will fail if a TkFramework object already exists.

+

Parameters:
+ + +
[in] desc The descriptor used to create the new framework (see TkFrameworkDesc).
+
+
Returns:
the new TkFramework if successful, NULL otherwise.
+ +
+

+ +

+
+ + + + + + + + +
Nv::Blast::TkFramework* NvBlastTkFrameworkGet (  ) 
+
+
+ +

+Retrieve a pointer to the global TkFramework singleton (if it exists).

+

Returns:
the pointer to the global TkFramework (NULL if none exists).
+ +
+

+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_group_8h-source.html b/docs/api_docs/files/_nv_blast_tk_group_8h-source.html new file mode 100644 index 0000000..ff1941d --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_group_8h-source.html @@ -0,0 +1,95 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkGroup.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTkGroup.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTKGROUP_H
+00012 #define NVBLASTTKGROUP_H
+00013 
+00014 #include "NvBlastTkIdentifiable.h"
+00015 
+00016 
+00017 // Forward declarations
+00018 namespace physx
+00019 {
+00020 class PxTaskManager;
+00021 }
+00022 
+00023 
+00024 namespace Nv
+00025 {
+00026 namespace Blast
+00027 {
+00028 
+00029 // Forward declarations
+00030 class TkActor;
+00031 
+00032 
+00037 struct TkGroupDesc
+00038 {
+00039     physx::PxTaskManager* pxTaskManager;    
+00040 };
+00041 
+00042 
+00047 struct TkGroupStats
+00048 {
+00049     NvBlastTimers   timers;                 
+00050     uint32_t        processedActorsCount;   
+00051     int64_t         workerTime;             
+00052 };
+00053 
+00054 
+00065 class TkGroup : public TkIdentifiable
+00066 {
+00067 public:
+00075     virtual bool        addActor(TkActor& actor) = 0;
+00076 
+00082     virtual uint32_t    getActorCount() const = 0;
+00083 
+00093     virtual uint32_t    getActors(TkActor** buffer, uint32_t bufferSize, uint32_t indexStart = 0) const = 0;
+00094 
+00106     virtual bool        process() = 0;
+00107 
+00118     virtual bool        sync(bool block = true) = 0;
+00119 
+00126     virtual void        getStats(TkGroupStats& stats) const = 0;
+00127 };
+00128 
+00129 } // namespace Blast
+00130 } // namespace Nv
+00131 
+00132 
+00133 #endif // ifndef NVBLASTTKGROUP_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_group_8h.html b/docs/api_docs/files/_nv_blast_tk_group_8h.html new file mode 100644 index 0000000..0dade01 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_group_8h.html @@ -0,0 +1,49 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkGroup.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTkGroup.h File Reference

#include "NvBlastTkIdentifiable.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + +

Classes

class  Nv::Blast::TkGroup
struct  Nv::Blast::TkGroupDesc
struct  Nv::Blast::TkGroupStats

Namespaces

namespace  Nv
namespace  Nv::Blast
namespace  physx
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_identifiable_8h-source.html b/docs/api_docs/files/_nv_blast_tk_identifiable_8h-source.html new file mode 100644 index 0000000..2ec2c0e --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_identifiable_8h-source.html @@ -0,0 +1,73 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkIdentifiable.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTkIdentifiable.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTKIDENTIFIABLE_H
+00012 #define NVBLASTTKIDENTIFIABLE_H
+00013 
+00014 
+00015 #include "NvBlastTkObject.h"
+00016 
+00017 #include "NvBlastTypes.h"
+00018 
+00019 
+00020 namespace Nv
+00021 {
+00022 namespace Blast
+00023 {
+00024 
+00025 // Forward declarations
+00026 class TkType;
+00027 
+00028 
+00032 class TkIdentifiable : public TkObject
+00033 {
+00034 public:
+00035     // Identifiable API
+00036 
+00042     virtual const NvBlastID&    getID() const = 0;
+00043 
+00047     virtual void                setID(const NvBlastID& id) = 0;
+00048 
+00054     virtual const TkType&       getType() const = 0;
+00055 };
+00056 
+00057 } // namespace Blast
+00058 } // namespace Nv
+00059 
+00060 
+00061 #endif // ifndef NVBLASTTKIDENTIFIABLE_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_identifiable_8h.html b/docs/api_docs/files/_nv_blast_tk_identifiable_8h.html new file mode 100644 index 0000000..df0d214 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_identifiable_8h.html @@ -0,0 +1,44 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkIdentifiable.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTkIdentifiable.h File Reference

#include "NvBlastTkObject.h"
+#include "NvBlastTypes.h"
+ +

+Go to the source code of this file. + + + + + + + + + +

Classes

class  Nv::Blast::TkIdentifiable

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_joint_8h-source.html b/docs/api_docs/files/_nv_blast_tk_joint_8h-source.html new file mode 100644 index 0000000..a9c25ed --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_joint_8h-source.html @@ -0,0 +1,70 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkJoint.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTkJoint.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTKJOINT_H
+00012 #define NVBLASTTKJOINT_H
+00013 
+00014 #include "NvBlastTkObject.h"
+00015 
+00016 #include "PxVec3.h"
+00017 
+00018 
+00019 namespace Nv
+00020 {
+00021 namespace Blast
+00022 {
+00023 
+00027 struct TkJointData
+00028 {
+00029     TkActor*        actors[2];          
+00030     uint32_t        chunkIndices[2];    
+00031     physx::PxVec3   attachPositions[2]; 
+00032 };
+00033 
+00034 
+00045 class TkJoint : public TkObject
+00046 {
+00047 public:
+00053     virtual const TkJointData   getData() const = 0;
+00054 };
+00055 
+00056 } // namespace Blast
+00057 } // namespace Nv
+00058 
+00059 
+00060 #endif // ifndef NVBLASTTKJOINT_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_joint_8h.html b/docs/api_docs/files/_nv_blast_tk_joint_8h.html new file mode 100644 index 0000000..4a9ac42 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_joint_8h.html @@ -0,0 +1,46 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkJoint.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTkJoint.h File Reference

#include "NvBlastTkObject.h"
+#include "PxVec3.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + +

Classes

class  Nv::Blast::TkJoint
struct  Nv::Blast::TkJointData

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_object_8h-source.html b/docs/api_docs/files/_nv_blast_tk_object_8h-source.html new file mode 100644 index 0000000..fb931d1 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_object_8h-source.html @@ -0,0 +1,70 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkObject.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTkObject.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTKOBJECT_H
+00012 #define NVBLASTTKOBJECT_H
+00013 
+00014 
+00015 namespace Nv
+00016 {
+00017 namespace Blast
+00018 {
+00019 
+00023 class TkObject
+00024 {
+00025 public:
+00029     TkObject() : userData(nullptr) {}
+00030 
+00031     // Object API
+00032 
+00036     virtual void    release() = 0;
+00037 
+00038 protected:
+00042     virtual         ~TkObject() {}
+00043 
+00044 public:
+00045     // Data
+00046 
+00050     void*   userData;
+00051 };
+00052 
+00053 } // namespace Blast
+00054 } // namespace Nv
+00055 
+00056 
+00057 #endif // ifndef NVBLASTTKOBJECT_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_object_8h.html b/docs/api_docs/files/_nv_blast_tk_object_8h.html new file mode 100644 index 0000000..ed1cf91 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_object_8h.html @@ -0,0 +1,42 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkObject.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTkObject.h File Reference

+

+Go to the source code of this file. + + + + + + + + + +

Classes

class  Nv::Blast::TkObject

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_serializable_8h-source.html b/docs/api_docs/files/_nv_blast_tk_serializable_8h-source.html new file mode 100644 index 0000000..6804f84 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_serializable_8h-source.html @@ -0,0 +1,75 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkSerializable.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTkSerializable.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTKSERIALIZABLE_H
+00012 #define NVBLASTTKSERIALIZABLE_H
+00013 
+00014 
+00015 #include "NvBlastTkIdentifiable.h"
+00016 
+00017 
+00018 // Forward declarations
+00019 namespace physx
+00020 {
+00021 namespace general_PxIOStream2
+00022 {
+00023 class PxFileBuf;
+00024 }
+00025 }
+00026 
+00027 
+00028 namespace Nv
+00029 {
+00030 namespace Blast
+00031 {
+00032 
+00036 class TkSerializable : public TkIdentifiable
+00037 {
+00038 public:
+00046     virtual bool    serialize(physx::general_PxIOStream2::PxFileBuf& stream) const = 0;
+00047 
+00048     // Data
+00049 
+00053     uint64_t    userIntData;
+00054 };
+00055 
+00056 } // namespace Blast
+00057 } // namespace Nv
+00058 
+00059 
+00060 #endif // ifndef NVBLASTTKSERIALIZABLE_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_serializable_8h.html b/docs/api_docs/files/_nv_blast_tk_serializable_8h.html new file mode 100644 index 0000000..7d6e174 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_serializable_8h.html @@ -0,0 +1,47 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkSerializable.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTkSerializable.h File Reference

#include "NvBlastTkIdentifiable.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + +

Classes

class  Nv::Blast::TkSerializable

Namespaces

namespace  Nv
namespace  Nv::Blast
namespace  physx
namespace  physx::general_PxIOStream2
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_type_8h-source.html b/docs/api_docs/files/_nv_blast_tk_type_8h-source.html new file mode 100644 index 0000000..976b0c8 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_type_8h-source.html @@ -0,0 +1,68 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkType.h Source File + + + + + + + +

sdk/toolkit/include/NvBlastTkType.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTKTYPE_H
+00012 #define NVBLASTTKTYPE_H
+00013 
+00014 #include "NvBlastTypes.h"
+00015 
+00016 
+00017 
+00018 namespace Nv
+00019 {
+00020 namespace Blast
+00021 {
+00022 
+00028 class TkType
+00029 {
+00030 public:
+00036     virtual const char* getName() const = 0;
+00037 
+00045     virtual uint32_t    getVersion() const = 0;
+00046 
+00055     bool                operator == (const TkType& type) const
+00056     {
+00057         return &type == this;
+00058     }
+00059 };
+00060 
+00061 } // namespace Blast
+00062 } // namespace Nv
+00063 
+00064 
+00065 #endif // ifndef NVBLASTTKTYPE_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_tk_type_8h.html b/docs/api_docs/files/_nv_blast_tk_type_8h.html new file mode 100644 index 0000000..6c96426 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_tk_type_8h.html @@ -0,0 +1,43 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/toolkit/include/NvBlastTkType.h File Reference + + + + + + + +
+

sdk/toolkit/include/NvBlastTkType.h File Reference

#include "NvBlastTypes.h"
+ +

+Go to the source code of this file. + + + + + + + + + +

Classes

class  Nv::Blast::TkType

Namespaces

namespace  Nv
namespace  Nv::Blast
+

+ + + + diff --git a/docs/api_docs/files/_nv_blast_types_8h-source.html b/docs/api_docs/files/_nv_blast_types_8h-source.html new file mode 100644 index 0000000..e09af0b --- /dev/null +++ b/docs/api_docs/files/_nv_blast_types_8h-source.html @@ -0,0 +1,323 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/lowlevel/include/NvBlastTypes.h Source File + + + + + + + +

sdk/lowlevel/include/NvBlastTypes.h

Go to the documentation of this file.
00001 /*
+00002 * Copyright (c) 2016-2017, NVIDIA CORPORATION.  All rights reserved.
+00003 *
+00004 * NVIDIA CORPORATION and its licensors retain all intellectual property
+00005 * and proprietary rights in and to this software, related documentation
+00006 * and any modifications thereto.  Any use, reproduction, disclosure or
+00007 * distribution of this software and related documentation without an express
+00008 * license agreement from NVIDIA CORPORATION is strictly prohibited.
+00009 */
+00010 
+00011 #ifndef NVBLASTTYPES_H
+00012 #define NVBLASTTYPES_H
+00013 
+00014 
+00015 #include "NvBlastPreprocessor.h"
+00016 #include <stdint.h>
+00017 
+00018 
+00020 //  NvBlast common types
+00023 
+00027 struct NvBlastMessage
+00028 {
+00029     enum Type
+00030     {
+00031         Error,      
+00032         Warning,    
+00033         Info,       
+00034         Debug       
+00035     };
+00036 };
+00037 
+00038 
+00045 typedef void(*NvBlastLog)(int type, const char* msg, const char* file, int line);
+00046 
+00047 
+00051 struct NvBlastID
+00052 {
+00053     char data[16];
+00054 };
+00055 
+00056 
+00067 struct NvBlastTimers
+00068 {
+00069     int64_t  material;      
+00070     int64_t  fracture;      
+00071     int64_t  island;        
+00072     int64_t  partition;     
+00073     int64_t  visibility;    
+00074 };
+00075 
+00076 
+00080 struct NvBlastDataBlock
+00081 {
+00085     enum Type
+00086     {
+00087         AssetDataBlock,
+00088         FamilyDataBlock,
+00089 
+00090         Count
+00091     };
+00092 
+00093 
+00097     uint32_t    dataType;
+00098 
+00103     uint32_t    formatVersion;
+00104 
+00110     uint32_t    size;
+00111 
+00115     uint32_t    reserved;
+00116 };
+00117 
+00119 
+00120 
+00122 //  NvBlastAsset related types
+00125 
+00126 
+00130 struct NvBlastAssetDataFormat
+00131 {
+00132     enum Version
+00133     {
+00135         Initial,
+00136 
+00137         //  New formats must come before Count.  They should be given descriptive names with more information in comments.
+00138 
+00140         Count,
+00141 
+00143         Current = Count - 1
+00144     };
+00145 };
+00146 
+00147 
+00156 struct NvBlastChunk
+00157 {
+00161     float       centroid[3];
+00162 
+00166     float       volume;
+00167 
+00171     uint32_t    parentChunkIndex;
+00172 
+00176     uint32_t    firstChildIndex;
+00177 
+00181     uint32_t    childIndexStop;
+00182 
+00186     uint32_t    userData;
+00187 };
+00188 
+00189 
+00195 struct NvBlastBond
+00196 {
+00200     float       normal[3];
+00201 
+00205     float       area;
+00206 
+00210     float       centroid[3];
+00211 
+00215     uint32_t    userData;
+00216 };
+00217 
+00218 
+00250 struct NvBlastSupportGraph
+00251 {
+00255     uint32_t    nodeCount;
+00256 
+00260     uint32_t*   chunkIndices;
+00261 
+00269     uint32_t*   adjacencyPartition;
+00270 
+00274     uint32_t*   adjacentNodeIndices;
+00275 
+00279     uint32_t*   adjacentBondIndices;
+00280 };
+00281 
+00282 
+00292 struct NvBlastAsset {};
+00293 
+00294 
+00298 struct NvBlastChunkDesc
+00299 {
+00300     enum Flags
+00301     {
+00302         NoFlags = 0,
+00303 
+00305         SupportFlag = (1 << 0)
+00306     };
+00307 
+00309     float       centroid[3];
+00310 
+00312     float       volume;
+00313 
+00315     uint32_t    parentChunkIndex;
+00316 
+00318     uint32_t    flags;
+00319 
+00321     uint32_t    userData;
+00322 };
+00323 
+00324 
+00328 struct NvBlastBondDesc
+00329 {
+00331     uint32_t    chunkIndices[2];
+00332 
+00334     NvBlastBond bond;
+00335 };
+00336 
+00337 
+00346 struct NvBlastAssetDesc
+00347 {
+00349     uint32_t                chunkCount;
+00350 
+00352     const NvBlastChunkDesc* chunkDescs;
+00353 
+00355     uint32_t                bondCount;
+00356 
+00358     const NvBlastBondDesc*  bondDescs;
+00359 };
+00360 
+00362 
+00363 
+00365 //  NvBlastActor related types
+00368 
+00369 
+00373 struct NvBlastFamilyDataFormat
+00374 {
+00375     enum Version
+00376     {
+00378         Initial,
+00379 
+00380         //  New formats must come before Count.  They should be given descriptive names with more information in comments.
+00381 
+00383         Count,
+00384 
+00386         Current = Count - 1
+00387     };
+00388 };
+00389 
+00390 
+00399 struct NvBlastFamily {};
+00400 
+00401 
+00410 struct NvBlastActor {};
+00411 
+00412 
+00418 struct NvBlastActorDesc
+00419 {
+00423     float           uniformInitialBondHealth;
+00424 
+00429     const float*    initialBondHealths;
+00430 
+00434     float           uniformInitialLowerSupportChunkHealth;
+00435 
+00444     const float*    initialSupportChunkHealths;
+00445 };
+00446 
+00448 
+00449 
+00451 //  Types used for damage and fracturing
+00454 
+00455 
+00462 struct NvBlastChunkFractureData
+00463 {
+00464     uint32_t    userdata;   
+00465     uint32_t    chunkIndex; 
+00466     float       health;     
+00467 };
+00468 
+00469 
+00476 struct NvBlastBondFractureData
+00477 {
+00478     uint32_t    userdata;   
+00479     uint32_t    nodeIndex0; 
+00480     uint32_t    nodeIndex1; 
+00481     float       health;     
+00482 };
+00483 
+00484 
+00491 struct NvBlastFractureBuffers
+00492 {
+00493     uint32_t                    bondFractureCount;      
+00494     uint32_t                    chunkFractureCount;     
+00495     NvBlastBondFractureData*    bondFractures;          
+00496     NvBlastChunkFractureData*   chunkFractures;         
+00497 };
+00498 
+00499 
+00504 struct NvBlastActorSplitEvent
+00505 {
+00506     NvBlastActor*   deletedActor;   
+00507     NvBlastActor**  newActors;      
+00508 };
+00509 
+00510 
+00514 struct NvBlastGraphShaderActor
+00515 {
+00516     uint32_t            firstGraphNodeIndex;    
+00517     const uint32_t*     graphNodeIndexLinks;    
+00518     const uint32_t*     chunkIndices;           
+00519     const uint32_t*     adjacencyPartition;     
+00520     const uint32_t*     adjacentNodeIndices;    
+00521     const uint32_t*     adjacentBondIndices;    
+00522     const NvBlastBond*  assetBonds;             
+00523     const float*        familyBondHealths;      
+00524 };
+00525 
+00526 
+00540 struct NvBlastProgramParams
+00541 {
+00542     const void* damageDescBuffer;   
+00543     uint32_t    damageDescCount;    
+00544     const void* material;           
+00545 };
+00546 
+00547 
+00551 struct NvBlastSubgraphShaderActor
+00552 {
+00553     uint32_t            chunkIndex;     
+00554     const NvBlastChunk* assetChunks;    
+00555 };
+00556 
+00557 
+00583 typedef void(*NvBlastGraphShaderFunction)(NvBlastFractureBuffers* commandBuffers, const NvBlastGraphShaderActor* actor, const NvBlastProgramParams* params);
+00584 
+00585 
+00611 typedef void(*NvBlastSubgraphShaderFunction)(NvBlastFractureBuffers* commandBuffers, const NvBlastSubgraphShaderActor* actor, const NvBlastProgramParams* params);
+00612 
+00613 
+00622 struct NvBlastDamageProgram
+00623 {
+00624     NvBlastGraphShaderFunction      graphShaderFunction;
+00625     NvBlastSubgraphShaderFunction   subgraphShaderFunction;
+00626 };
+00627 
+00628 
+00630 
+00631 
+00632 #endif // ifndef NVBLASTTYPES_H
+
+ + + + diff --git a/docs/api_docs/files/_nv_blast_types_8h.html b/docs/api_docs/files/_nv_blast_types_8h.html new file mode 100644 index 0000000..2db245e --- /dev/null +++ b/docs/api_docs/files/_nv_blast_types_8h.html @@ -0,0 +1,165 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/lowlevel/include/NvBlastTypes.h File Reference + + + + + + + +
+

sdk/lowlevel/include/NvBlastTypes.h File Reference

#include "NvBlastPreprocessor.h"
+#include <stdint.h>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Classes

struct  NvBlastActor
struct  NvBlastActorDesc
struct  NvBlastActorSplitEvent
struct  NvBlastAsset
struct  NvBlastAssetDataFormat
struct  NvBlastAssetDesc
struct  NvBlastBond
struct  NvBlastBondDesc
struct  NvBlastBondFractureData
struct  NvBlastChunk
struct  NvBlastChunkDesc
struct  NvBlastChunkFractureData
struct  NvBlastDamageProgram
struct  NvBlastDataBlock
struct  NvBlastFamily
struct  NvBlastFamilyDataFormat
struct  NvBlastFractureBuffers
struct  NvBlastGraphShaderActor
struct  NvBlastID
struct  NvBlastMessage
struct  NvBlastProgramParams
struct  NvBlastSubgraphShaderActor
struct  NvBlastSupportGraph
struct  NvBlastTimers

Typedefs

typedef void(* NvBlastGraphShaderFunction )(NvBlastFractureBuffers *commandBuffers, const NvBlastGraphShaderActor *actor, const NvBlastProgramParams *params)
typedef void(* NvBlastSubgraphShaderFunction )(NvBlastFractureBuffers *commandBuffers, const NvBlastSubgraphShaderActor *actor, const NvBlastProgramParams *params)
typedef void(* NvBlastLog )(int type, const char *msg, const char *file, int line)
+


Typedef Documentation

+ +
+
+ + + + +
typedef void(* NvBlastGraphShaderFunction)(NvBlastFractureBuffers *commandBuffers, const NvBlastGraphShaderActor *actor, const NvBlastProgramParams *params)
+
+
+ +

+Damage shader for actors with more then one node in support graph.

+From a an input actor data (NvBlastGraphShaderActor) and user custom data (params), creates a list of NvBlastFractureCommand to be applied to the respective NvBlastActor.

+

Parameters:
+ + + + +
[in,out] commandBuffers The resulting health damage to apply. Typically requires an array of size (number of support chunks) + (number of bonds) of the processed asset but may depend on the actual implementation.
[in] actor The actor representation used for creating commands.
[in] params A set of parameters defined by the damage shader implementer.
+
+Interpretation of NvBlastFractureBuffers: As input: Counters denote available entries for FractureData. Chunk and Bond userdata are not used. Health values are not used.

+As output: Counters denote valid entires in FractureData arrays. Chunks and Bond userdata reflect the respective userdata set during asset initialization. Health values denote how much damage is to be applied.

+

See also:
NvBlastFractureBuffers NvBlastGraphShaderActor
+ +
+

+ +

+
+ + + + +
typedef void(* NvBlastLog)(int type, const char *msg, const char *file, int line)
+
+
+ +

+Function pointer type for logging.

+When a function with this signature is passed into Blast functions with an NvBlastLog argument, Blast will use it to report errors, warnings, and other information. +

+

+ +

+
+ + + + +
typedef void(* NvBlastSubgraphShaderFunction)(NvBlastFractureBuffers *commandBuffers, const NvBlastSubgraphShaderActor *actor, const NvBlastProgramParams *params)
+
+
+ +

+Damage shader for actors with single chunk.

+From a an input actor data (NvBlastSubgraphShaderActor) and user custom data (params), creates a list of NvBlastFractureCommand to be applied to the respective NvBlastActor.

+

Parameters:
+ + + + +
[in,out] commandBuffers The resulting health damage to apply. Typically requires an array of size (number of support chunks) + (number of bonds) of the processed asset but may depend on the actual implementation.
[in] actor The actor representation used for creating commands.
[in] params A set of parameters defined by the damage shader implementer.
+
+Interpretation of NvBlastFractureBuffers: As input: Counters denote available entries for FractureData. Chunk and Bond userdata are not used. Health values are not used.

+As output: Counters denote valid entires in FractureData arrays. Chunks and Bond userdata reflect the respective userdata set during asset initialization. Health values denote how much damage is to be applied.

+

See also:
NvBlastFractureBuffers NvBlastSubgraphShaderActor
+ +
+

+

+ + + + diff --git a/docs/api_docs/files/annotated.html b/docs/api_docs/files/annotated.html new file mode 100644 index 0000000..9a1c9e9 --- /dev/null +++ b/docs/api_docs/files/annotated.html @@ -0,0 +1,144 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class List + + + + + + + +
+

Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nv::Blast::ApexImporter::ApexImporterConfig
Nv::Blast::ApexImporter::ApexImportTool
Nv::Blast::BlastBondGenerator
Nv::Blast::BondGenerationConfig
Nv::Blast::ChunkInfo
Nv::Blast::CollisionHull
Nv::Blast::CollisionHull::CollisionHull::HullPolygon
Nv::Blast::ConvexMeshBuilder
Nv::Blast::DLink
Nv::Blast::DList
Nv::Blast::DList::DList::It
Nv::Blast::DListIt< IndexType >
Nv::Blast::Edge
Nv::Blast::ExtImpactDamageManager
Nv::Blast::ExtImpactSettings
Nv::Blast::ExtPxActor
Nv::Blast::ExtPxActorDescTemplate
Nv::Blast::ExtPxAsset
Nv::Blast::ExtPxAssetDesc
Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc
Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc
Nv::Blast::ExtPxChunk
Nv::Blast::ExtPxFamily
Nv::Blast::ExtPxFamilyDesc
Nv::Blast::ExtPxListener
Nv::Blast::ExtPxManager
Nv::Blast::ExtPxShapeDescTemplate
Nv::Blast::ExtPxSpawnSettings
Nv::Blast::ExtPxSubchunk
Nv::Blast::ExtStressSolver
Nv::Blast::ExtStressSolverSettings
Nv::Blast::ExtSync
Nv::Blast::ExtSyncEvent
Nv::Blast::ExtSyncEventFamilySync
Nv::Blast::ExtSyncEventFracture
Nv::Blast::ExtSyncEventInstance< T, eventType >
Nv::Blast::ExtSyncEventPhysicsSync
Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData
Nv::Blast::ExtSyncEventType
Nv::Blast::Facet
Nv::Blast::FixedArray< T >
Nv::Blast::FixedBitmap
Nv::Blast::FixedBoolArray
Nv::Blast::FixedPriorityQueue< Element, Comparator >
Nv::Blast::FractureTool
Nv::Blast::IndexDLink< IndexType >
Nv::Blast::IndexDList< IndexType >
Nv::Blast::IteratorBase< T >
Nv::Blast::Less< A >
Nv::Blast::LListIt< IndexType >
Nv::Blast::Mesh
NvBlastActor
NvBlastActorDesc
NvBlastActorSplitEvent
NvBlastAsset
NvBlastAssetDataFormat
NvBlastAssetDesc
NvBlastBond
NvBlastBondDesc
NvBlastBondFractureData
NvBlastChunk
NvBlastChunkDesc
NvBlastChunkFractureData
NvBlastDamageProgram
NvBlastDataBlock
NvBlastExtMaterial
NvBlastExtRadialDamageDesc
NvBlastExtShearDamageDesc
NvBlastFamily
NvBlastFamilyDataFormat
NvBlastFractureBuffers
NvBlastGraphShaderActor
NvBlastID
NvBlastMessage
NvBlastProfilerDetail
NvBlastProgramParams
NvBlastSubgraphShaderActor
NvBlastSupportGraph
NvBlastTimers
Nv::Blast::PlaneChunkIndexer
Nv::Blast::RandomGeneratorBase
Nv::Blast::SlicingConfiguration
Nv::Blast::Time
Nv::Blast::TkActor
Nv::Blast::TkActorData
Nv::Blast::TkActorDesc
Nv::Blast::TkAsset
Nv::Blast::TkAssetDesc
Nv::Blast::TkAssetJointDesc
Nv::Blast::TkEvent
Nv::Blast::TkEventListener
Nv::Blast::TkFamily
Nv::Blast::TkFractureCommands
Nv::Blast::TkFractureEvents
Nv::Blast::TkFramework
Nv::Blast::TkFrameworkDesc
Nv::Blast::TkGroup
Nv::Blast::TkGroupDesc
Nv::Blast::TkGroupStats
Nv::Blast::TkIdentifiable
Nv::Blast::TkJoint
Nv::Blast::TkJointData
Nv::Blast::TkJointDesc
Nv::Blast::TkJointUpdateEvent
Nv::Blast::TkObject
Nv::Blast::TkSerializable
Nv::Blast::TkSplitEvent
Nv::Blast::TkType
Nv::Blast::TkTypeIndex
Nv::Blast::Triangle
Nv::Blast::TriangleIndexed
Nv::Blast::Vertex
Nv::Blast::VoronoiSitesGenerator
+
+ + + + diff --git a/docs/api_docs/files/apex__importer_8txt.html b/docs/api_docs/files/apex__importer_8txt.html new file mode 100644 index 0000000..054d38d --- /dev/null +++ b/docs/api_docs/files/apex__importer_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/apex_importer.txt File Reference + + + + + + + +
+

docs/_source/apex_importer.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/api__ext__users__guide_8txt.html b/docs/api_docs/files/api__ext__users__guide_8txt.html new file mode 100644 index 0000000..0776c94 --- /dev/null +++ b/docs/api_docs/files/api__ext__users__guide_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/api_ext_users_guide.txt File Reference + + + + + + + +
+

docs/_source/api_ext_users_guide.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/api__hl__users__guide_8txt.html b/docs/api_docs/files/api__hl__users__guide_8txt.html new file mode 100644 index 0000000..dd95c83 --- /dev/null +++ b/docs/api_docs/files/api__hl__users__guide_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/api_hl_users_guide.txt File Reference + + + + + + + +
+

docs/_source/api_hl_users_guide.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/api__ll__users__guide_8txt.html b/docs/api_docs/files/api__ll__users__guide_8txt.html new file mode 100644 index 0000000..7ec5ff7 --- /dev/null +++ b/docs/api_docs/files/api__ll__users__guide_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/api_ll_users_guide.txt File Reference + + + + + + + +
+

docs/_source/api_ll_users_guide.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/api__users__guide_8txt.html b/docs/api_docs/files/api__users__guide_8txt.html new file mode 100644 index 0000000..b784bbd --- /dev/null +++ b/docs/api_docs/files/api__users__guide_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/api_users_guide.txt File Reference + + + + + + + +
+

docs/_source/api_users_guide.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/authoring__tool_8txt.html b/docs/api_docs/files/authoring__tool_8txt.html new file mode 100644 index 0000000..c1d23a1 --- /dev/null +++ b/docs/api_docs/files/authoring__tool_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/authoring_tool.txt File Reference + + + + + + + +
+

docs/_source/authoring_tool.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/blast_logo.png b/docs/api_docs/files/blast_logo.png new file mode 100644 index 0000000..9c4e16d Binary files /dev/null and b/docs/api_docs/files/blast_logo.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool-members.html new file mode 100644 index 0000000..7d01e2b --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool-members.html @@ -0,0 +1,44 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ApexImporter::ApexImportTool Member List

This is the complete list of members for Nv::Blast::ApexImporter::ApexImportTool, including all inherited members.

+ + + + + + + + + + + + + + +
ApexImportTool(NvBlastLog logFn=NULL)Nv::Blast::ApexImporter::ApexImportTool
ApexImportTool(const ApexImportTool &)Nv::Blast::ApexImporter::ApexImportTool [protected]
getCollisionGeometry(const nvidia::apex::DestructibleAsset *apexAsset, uint32_t chunkCount, std::vector< uint32_t > &chunkReorderInvMap, const std::vector< uint32_t > &apexChunkFlags, std::vector< ExtPxAssetDesc::ChunkDesc > &physicsChunks, std::vector< ExtPxAssetDesc::SubchunkDesc > &physicsSubchunks)Nv::Blast::ApexImporter::ApexImportTool
importApexAsset(std::vector< uint32_t > &chunkReorderInvMap, const nvidia::apex::DestructibleAsset *apexAsset, std::vector< NvBlastChunkDesc > &chunkDescriptors, std::vector< NvBlastBondDesc > &bondDescriptors, std::vector< uint32_t > &flags)Nv::Blast::ApexImporter::ApexImportTool
importApexAsset(std::vector< uint32_t > &chunkReorderInvMap, const nvidia::apex::DestructibleAsset *apexAsset, std::vector< NvBlastChunkDesc > &chunkDescriptors, std::vector< NvBlastBondDesc > &bondDescriptors, std::vector< uint32_t > &flags, const ApexImporterConfig &config)Nv::Blast::ApexImporter::ApexImportTool
initialize()Nv::Blast::ApexImporter::ApexImportTool
initialize(nvidia::apex::ApexSDK *apexSdk, nvidia::apex::ModuleDestructible *moduleDestructible)Nv::Blast::ApexImporter::ApexImportTool
isValid()Nv::Blast::ApexImporter::ApexImportTool
loadAssetFromFile(nvidia::PxFileBuf *stream)Nv::Blast::ApexImporter::ApexImportTool
m_apexDestructionNv::Blast::ApexImporter::ApexImportTool
m_logNv::Blast::ApexImporter::ApexImportTool [protected]
operator=(const ApexImportTool &)Nv::Blast::ApexImporter::ApexImportTool [protected]
saveAsset(const NvBlastAsset *asset, nvidia::PxFileBuf *stream)Nv::Blast::ApexImporter::ApexImportTool
~ApexImportTool()Nv::Blast::ApexImporter::ApexImportTool

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool.html new file mode 100644 index 0000000..ec41150 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool.html @@ -0,0 +1,513 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ApexImporter::ApexImportTool Class Reference + + + + + + + + +
+

Nv::Blast::ApexImporter::ApexImportTool Class Reference

#include <NvBlastExtApexImportTool.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ApexImportTool (NvBlastLog logFn=NULL)
bool getCollisionGeometry (const nvidia::apex::DestructibleAsset *apexAsset, uint32_t chunkCount, std::vector< uint32_t > &chunkReorderInvMap, const std::vector< uint32_t > &apexChunkFlags, std::vector< ExtPxAssetDesc::ChunkDesc > &physicsChunks, std::vector< ExtPxAssetDesc::SubchunkDesc > &physicsSubchunks)
bool importApexAsset (std::vector< uint32_t > &chunkReorderInvMap, const nvidia::apex::DestructibleAsset *apexAsset, std::vector< NvBlastChunkDesc > &chunkDescriptors, std::vector< NvBlastBondDesc > &bondDescriptors, std::vector< uint32_t > &flags, const ApexImporterConfig &config)
bool importApexAsset (std::vector< uint32_t > &chunkReorderInvMap, const nvidia::apex::DestructibleAsset *apexAsset, std::vector< NvBlastChunkDesc > &chunkDescriptors, std::vector< NvBlastBondDesc > &bondDescriptors, std::vector< uint32_t > &flags)
bool initialize (nvidia::apex::ApexSDK *apexSdk, nvidia::apex::ModuleDestructible *moduleDestructible)
bool initialize ()
bool isValid ()
nvidia::apex::DestructibleAsset * loadAssetFromFile (nvidia::PxFileBuf *stream)
bool saveAsset (const NvBlastAsset *asset, nvidia::PxFileBuf *stream)
 ~ApexImportTool ()

Public Attributes

ApexDestruction * m_apexDestruction

Protected Member Functions

 ApexImportTool (const ApexImportTool &)
ApexImportTooloperator= (const ApexImportTool &)

Protected Attributes

NvBlastLog m_log
+


Detailed Description

+ApexImportTool provides routines to create NvBlastAssets from APEX assets.

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + +
Nv::Blast::ApexImporter::ApexImportTool::ApexImportTool (NvBlastLog  logFn = NULL  ) 
+
+
+ +

+Constructor should be provided with user defined allocator and massage function:

Parameters:
+ + +
[in] logFn User - supplied message function(see NvBlastLog definition).May be NULL.
+
+ +
+

+ +

+
+ + + + + + + + +
Nv::Blast::ApexImporter::ApexImportTool::~ApexImportTool (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
Nv::Blast::ApexImporter::ApexImportTool::ApexImportTool (const ApexImportTool  )  [protected]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool Nv::Blast::ApexImporter::ApexImportTool::getCollisionGeometry (const nvidia::apex::DestructibleAsset *  apexAsset,
uint32_t  chunkCount,
std::vector< uint32_t > &  chunkReorderInvMap,
const std::vector< uint32_t > &  apexChunkFlags,
std::vector< ExtPxAssetDesc::ChunkDesc > &  physicsChunks,
std::vector< ExtPxAssetDesc::SubchunkDesc > &  physicsSubchunks 
)
+
+
+ +

+Method creates collision geometry from user-supplied APEX Destructible asset.

Parameters:
+ + + + + + + +
[in] apexAsset Pointer on DestructibleAsset object for which collision geometry should be created.
[in] chunkCount Blast asset chunk count, should be equal to number of blast chunk descriptors which are gathered at ApexImportTool::importApexAsset(...)
[in] chunkReorderInvMap Chunk map from blast chunk to apex chunk filled in ApexImportTool::importApexAsset(...)
[in] apexChunkFlags Chunk flags array
[out] physicsChunks Chunk physics info output array
[out] physicsSubchunks Chunk collision geometry and transformation data output array
+
+
Returns:
If true - success, output arrays are filled.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool Nv::Blast::ApexImporter::ApexImportTool::importApexAsset (std::vector< uint32_t > &  chunkReorderInvMap,
const nvidia::apex::DestructibleAsset *  apexAsset,
std::vector< NvBlastChunkDesc > &  chunkDescriptors,
std::vector< NvBlastBondDesc > &  bondDescriptors,
std::vector< uint32_t > &  flags,
const ApexImporterConfig config 
)
+
+
+ +

+Method builds NvBlastAsset form provided DestructibleAsset. DestructibleAsset must contain support graph! Parameteres of conversion could be provided with ApexImporterConfig.

Parameters:
+ + + + + + + +
[out] chunkReorderInvMap Chunk map from blast chunk to apex chunk to be filled.
[in] apexAsset Pointer on DestructibleAsset object which should be converted to NvBlastAsset
[out] chunkDescriptors Reference on chunk descriptors array to be filled.
[out] bondDescriptors Reference on bond descriptors array to be filled.
[out] flags Reference on chunk flags to be filled.
[in] config ApexImporterConfig object with conversion parameters, see above.
+
+
Returns:
If true, output arrays are filled.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool Nv::Blast::ApexImporter::ApexImportTool::importApexAsset (std::vector< uint32_t > &  chunkReorderInvMap,
const nvidia::apex::DestructibleAsset *  apexAsset,
std::vector< NvBlastChunkDesc > &  chunkDescriptors,
std::vector< NvBlastBondDesc > &  bondDescriptors,
std::vector< uint32_t > &  flags 
)
+
+
+ +

+Method builds NvBlastAsset form provided DestructibleAsset. DestructibleAsset must contain support graph!

Parameters:
+ + + + + + +
[out] chunkReorderInvMap Chunk map from blast chunk to apex chunk to be filled.
[in] apexAsset Pointer on DestructibleAsset object which should be converted to NvBlastAsset
[out] chunkDescriptors Reference on chunk descriptors array to be filled.
[out] bondDescriptors Reference on bond descriptors array to be filled.
[out] flags Reference on chunk flags to be filled.
+
+
Returns:
If true, output arrays are filled.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool Nv::Blast::ApexImporter::ApexImportTool::initialize (nvidia::apex::ApexSDK *  apexSdk,
nvidia::apex::ModuleDestructible *  moduleDestructible 
)
+
+
+ +

+Before using ApexImportTool should be initialized. User can provide existing ApexSDK and ModuleDestructible objects

Parameters:
+ + + +
[in] apexSdk Pointer on ApexSDK object
[in] moduleDestructible Pointer on ModuleDestructible object
+
+
Returns:
If true, ApexImportTool initialized successfully.
+ +
+

+ +

+
+ + + + + + + + +
bool Nv::Blast::ApexImporter::ApexImportTool::initialize (  ) 
+
+
+ +

+Before using ApexImportTool should be initialized. ApexSDK and ModuleDestructible initialized internally.

Returns:
If true, ApexImportTool initialized successfully.
+ +
+

+ +

+
+ + + + + + + + +
bool Nv::Blast::ApexImporter::ApexImportTool::isValid (  ) 
+
+
+ +

+Checks whether ApexImportTool is initialized and can be used.

Returns:
If true, ApexImportTool initialized successfully.
+ +
+

+ +

+
+ + + + + + + + + +
nvidia::apex::DestructibleAsset* Nv::Blast::ApexImporter::ApexImportTool::loadAssetFromFile (nvidia::PxFileBuf *  stream  ) 
+
+
+ +

+Method loads APEX Destruction asset from file

Parameters:
+ + +
[in] stream Pointer on PxFileBuf stream with Apex Destruction asset
+
+
Returns:
If not 0, pointer on DestructibleAsset object is returned.
+ +
+

+ +

+
+ + + + + + + + + +
ApexImportTool& Nv::Blast::ApexImporter::ApexImportTool::operator= (const ApexImportTool  )  [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool Nv::Blast::ApexImporter::ApexImportTool::saveAsset (const NvBlastAsset asset,
nvidia::PxFileBuf *  stream 
)
+
+
+ +

+Method serializes user-supplied NvBlastAsset object to user-supplied PxFileBuf stream.

Parameters:
+ + + +
[in] asset Pointer on NvBlastAsset object which should be serialized
[in] stream Pointer on PxFileBuf object in which NvBlastAsset should be serialized.
+
+
Returns:
If true, NvBlastAsset object serialized successfully.
+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator-members.html new file mode 100644 index 0000000..67325ec --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::BlastBondGenerator Member List

This is the complete list of members for Nv::Blast::BlastBondGenerator, including all inherited members.

+ + + + + +
BlastBondGenerator(physx::PxCooking *cooking, physx::PxPhysicsInsertionCallback *insertionCallback)Nv::Blast::BlastBondGenerator [inline]
bondsFromPrefractured(const std::vector< std::vector< Triangle >> &geometry, const std::vector< bool > &chunkIsSupport, std::vector< NvBlastBondDesc > &resultBondDescs, BondGenerationConfig conf=BondGenerationConfig())Nv::Blast::BlastBondGenerator
buildDescFromInternalFracture(FractureTool *tool, const std::vector< bool > &chunkIsSupport, std::vector< NvBlastBondDesc > &resultBondDescs, std::vector< NvBlastChunkDesc > &resultChunkDescriptors)Nv::Blast::BlastBondGenerator
createBondBetweenMeshes(const std::vector< Triangle > &meshA, const std::vector< Triangle > &meshB, NvBlastBond &resultBond, BondGenerationConfig conf=BondGenerationConfig())Nv::Blast::BlastBondGenerator
createBondBetweenMeshes(const std::vector< std::vector< Triangle > > &geometry, std::vector< NvBlastBondDesc > &resultBond, const std::vector< std::pair< uint32_t, uint32_t > > &overlaps, BondGenerationConfig cfg)Nv::Blast::BlastBondGenerator

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator.html new file mode 100644 index 0000000..05073c3 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator.html @@ -0,0 +1,283 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::BlastBondGenerator Class Reference + + + + + + + + +
+

Nv::Blast::BlastBondGenerator Class Reference

#include <NvBlastExtAuthoringBondGenerator.h> +

+ +

+List of all members. + + + + + + + + + + + + +

Public Member Functions

 BlastBondGenerator (physx::PxCooking *cooking, physx::PxPhysicsInsertionCallback *insertionCallback)
int32_t bondsFromPrefractured (const std::vector< std::vector< Triangle >> &geometry, const std::vector< bool > &chunkIsSupport, std::vector< NvBlastBondDesc > &resultBondDescs, BondGenerationConfig conf=BondGenerationConfig())
int32_t buildDescFromInternalFracture (FractureTool *tool, const std::vector< bool > &chunkIsSupport, std::vector< NvBlastBondDesc > &resultBondDescs, std::vector< NvBlastChunkDesc > &resultChunkDescriptors)
int32_t createBondBetweenMeshes (const std::vector< std::vector< Triangle > > &geometry, std::vector< NvBlastBondDesc > &resultBond, const std::vector< std::pair< uint32_t, uint32_t > > &overlaps, BondGenerationConfig cfg)
int32_t createBondBetweenMeshes (const std::vector< Triangle > &meshA, const std::vector< Triangle > &meshB, NvBlastBond &resultBond, BondGenerationConfig conf=BondGenerationConfig())
+


Detailed Description

+Tool for gathering bond information from provided mesh geometry

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
Nv::Blast::BlastBondGenerator::BlastBondGenerator (physx::PxCooking *  cooking,
physx::PxPhysicsInsertionCallback *  insertionCallback 
) [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t Nv::Blast::BlastBondGenerator::bondsFromPrefractured (const std::vector< std::vector< Triangle >> &  geometry,
const std::vector< bool > &  chunkIsSupport,
std::vector< NvBlastBondDesc > &  resultBondDescs,
BondGenerationConfig  conf = BondGenerationConfig() 
)
+
+
+ +

+Creates bond description for prefractured meshes, when there is no info about which chunks should be connected with bond.

Parameters:
+ + + + + +
[in] geometry Array of arrays of triangles for each chunk.
[in] chunkIsSupport Array of flags, if true - chunk is support. Array size should be equal to chunk count in tool.
[out] resultBondDescs Array of result bonds.
[in] conf Bond creation mode.
+
+
Returns:
0 if success
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t Nv::Blast::BlastBondGenerator::buildDescFromInternalFracture (FractureTool tool,
const std::vector< bool > &  chunkIsSupport,
std::vector< NvBlastBondDesc > &  resultBondDescs,
std::vector< NvBlastChunkDesc > &  resultChunkDescriptors 
)
+
+
+ +

+This method based on marking triangles during fracture process, so can be used only with internally fractured meshes.

Parameters:
+ + + + + +
[in] tool FractureTool which contains chunks representation, tool->finalizeFracturing() should be called before.
[in] chunkIsSupport Array of flags, if true - chunk is support. Array size should be equal to chunk count in tool.
[out] resultBondDescs Array of created bond descriptors.
[out] resultChunkDescriptors Array of created chunk descriptors.
+
+
Returns:
0 if success
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t Nv::Blast::BlastBondGenerator::createBondBetweenMeshes (const std::vector< std::vector< Triangle > > &  geometry,
std::vector< NvBlastBondDesc > &  resultBond,
const std::vector< std::pair< uint32_t, uint32_t > > &  overlaps,
BondGenerationConfig  cfg 
)
+
+
+ +

+Creates bond description between number of meshes

Parameters:
+ + + + + +
[in] geometry Array of arrays of triangles for each chunk.
[out] resultBond Array of result bonds.
[in] overlaps Array of pairs - indexes of chunks, for which bond should be created.
[in] cfg Bond creation mode.
+
+
Returns:
0 if success
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t Nv::Blast::BlastBondGenerator::createBondBetweenMeshes (const std::vector< Triangle > &  meshA,
const std::vector< Triangle > &  meshB,
NvBlastBond resultBond,
BondGenerationConfig  conf = BondGenerationConfig() 
)
+
+
+ +

+Creates bond description between two meshes

Parameters:
+ + + + + +
[in] meshA Array of triangles of mesh A.
[in] meshB Array of triangles of mesh B.
[out] resultBond Result bond description.
[in] conf Bond creation mode.
+
+
Returns:
0 if success
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder-members.html new file mode 100644 index 0000000..5d78140 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ConvexMeshBuilder Member List

This is the complete list of members for Nv::Blast::ConvexMeshBuilder, including all inherited members.

+ + + + + +
buildCollisionGeometry(const std::vector< physx::PxVec3 > &vertexData, CollisionHull &output)Nv::Blast::ConvexMeshBuilder
buildConvexMesh(std::vector< physx::PxVec3 > &vertexData)Nv::Blast::ConvexMeshBuilder
buildConvexMesh(CollisionHull &hull)Nv::Blast::ConvexMeshBuilder
ConvexMeshBuilder(physx::PxCooking *cooking, physx::PxPhysicsInsertionCallback *insertionCallback)Nv::Blast::ConvexMeshBuilder [inline]
trimCollisionGeometry(std::vector< CollisionHull > &in, const std::vector< uint32_t > &chunkDepth)Nv::Blast::ConvexMeshBuilder

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder.html new file mode 100644 index 0000000..6a0e33f --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder.html @@ -0,0 +1,206 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ConvexMeshBuilder Class Reference + + + + + + + + +
+

Nv::Blast::ConvexMeshBuilder Class Reference

#include <NvBlastExtAuthoringCollisionBuilder.h> +

+ +

+List of all members. + + + + + + + + + + + + +

Public Member Functions

void buildCollisionGeometry (const std::vector< physx::PxVec3 > &vertexData, CollisionHull &output)
physx::PxConvexMesh * buildConvexMesh (CollisionHull &hull)
physx::PxConvexMesh * buildConvexMesh (std::vector< physx::PxVec3 > &vertexData)
 ConvexMeshBuilder (physx::PxCooking *cooking, physx::PxPhysicsInsertionCallback *insertionCallback)
void trimCollisionGeometry (std::vector< CollisionHull > &in, const std::vector< uint32_t > &chunkDepth)
+


Detailed Description

+ConvexMeshBuilder provides routine to build collision hulls from array of vertices. Collision hull is built as convex hull of provided point set. If due to some reason building of convex hull is failed, collision hull is built as bounding box of vertex set.

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
Nv::Blast::ConvexMeshBuilder::ConvexMeshBuilder (physx::PxCooking *  cooking,
physx::PxPhysicsInsertionCallback *  insertionCallback 
) [inline]
+
+
+ +

+Constructor should be provided with PxCoocking and PxPhysicsInsertionCallback objects. +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void Nv::Blast::ConvexMeshBuilder::buildCollisionGeometry (const std::vector< physx::PxVec3 > &  vertexData,
CollisionHull output 
)
+
+
+ +

+Method creates CollisionHull from provided array of vertices.

Parameters:
+ + + +
[in] vertexData Vertex array of some object, for which collision geometry should be built
[out] output Reference on CollisionHull object in which generated geometry should be saved
+
+ +
+

+ +

+
+ + + + + + + + + +
physx::PxConvexMesh* Nv::Blast::ConvexMeshBuilder::buildConvexMesh (CollisionHull hull  ) 
+
+
+ +

+Method creates PxConvexMesh from provided ConvexHull geometry

Parameters:
+ + +
[in] hull ConvexHull geometry
+
+
Returns:
pointer to the PxConvexMesh object if it was built successfully, 'nullptr' otherwise.
+ +
+

+ +

+
+ + + + + + + + + +
physx::PxConvexMesh* Nv::Blast::ConvexMeshBuilder::buildConvexMesh (std::vector< physx::PxVec3 > &  vertexData  ) 
+
+
+ +

+Method creates PxConvexMesh from provided array of vertices.

Parameters:
+ + +
[in] vertexData Vertex array of some object, for which collision geometry should be built
+
+
Returns:
pointer to the PxConvexMesh object if it was built successfully, 'nullptr' otherwise.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void Nv::Blast::ConvexMeshBuilder::trimCollisionGeometry (std::vector< CollisionHull > &  in,
const std::vector< uint32_t > &  chunkDepth 
)
+
+
+ +

+Convex geometry trimming. Using slicing with noised slicing surface can result in intersecting collision geometry. It leads to unstable behaviour of rigid body simulation. This method trims all intersecting parts of collision geometry. As a drawback, trimming collision geometry can lead to penetrating render meshes during simulation.

+

Parameters:
+ + + +
[in] in ConvexHull geometry which should be clipped.
[in] chunkDepth Array of depth levels of convex hulls corresponding chunks.
+
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list-members.html new file mode 100644 index 0000000..fbf9764 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list-members.html @@ -0,0 +1,38 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::DList Member List

This is the complete list of members for Nv::Blast::DList, including all inherited members.

+ + + + + + + + +
DList()Nv::Blast::DList [inline]
getHead() const Nv::Blast::DList [inline]
getTail() const Nv::Blast::DList [inline]
insertHead(DLink &link)Nv::Blast::DList [inline]
insertTail(DLink &link)Nv::Blast::DList [inline]
isEmpty() const Nv::Blast::DList [inline]
isSolitary(const DLink &link) const Nv::Blast::DList [inline]
remove(DLink &link)Nv::Blast::DList [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list.html new file mode 100644 index 0000000..0e6c397 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list.html @@ -0,0 +1,218 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::DList Class Reference + + + + + + + + +
+

Nv::Blast::DList Class Reference

#include <NvBlastDLink.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + +

Classes

class  It

Public Member Functions

 DList ()
DLinkgetHead () const
DLinkgetTail () const
bool insertHead (DLink &link)
bool insertTail (DLink &link)
bool isEmpty () const
bool isSolitary (const DLink &link) const
void remove (DLink &link)
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::DList::DList (  )  [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
DLink* Nv::Blast::DList::getHead (  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
DLink* Nv::Blast::DList::getTail (  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool Nv::Blast::DList::insertHead (DLink link  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool Nv::Blast::DList::insertTail (DLink link  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
bool Nv::Blast::DList::isEmpty (  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool Nv::Blast::DList::isSolitary (const DLink link  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Nv::Blast::DList::remove (DLink link  )  [inline]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it-members.html new file mode 100644 index 0000000..91398cb --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it-members.html @@ -0,0 +1,38 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::DList::DList::It Member List

This is the complete list of members for Nv::Blast::DList::DList::It, including all inherited members.

+ + + + + + + + +
Direction enum nameNv::Blast::DList::DList::It
Forward enum valueNv::Blast::DList::DList::It
It(const DList &list, Direction dir=Forward)Nv::Blast::DList::DList::It [inline]
operator bool() const Nv::Blast::DList::DList::It [inline]
operator const DLink *() const Nv::Blast::DList::DList::It [inline]
operator++()Nv::Blast::DList::DList::It [inline]
operator--()Nv::Blast::DList::DList::It [inline]
Reverse enum valueNv::Blast::DList::DList::It

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it.html new file mode 100644 index 0000000..da4c01f --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it.html @@ -0,0 +1,187 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::DList::DList::It Class Reference + + + + + + + + +
+

Nv::Blast::DList::DList::It Class Reference

#include <NvBlastDLink.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + +

Public Types

enum  Direction { Reverse, +Forward + }

Public Member Functions

 It (const DList &list, Direction dir=Forward)
 operator bool () const
 operator const DLink * () const
const DLinkoperator++ ()
const DLinkoperator-- ()
+


Member Enumeration Documentation

+ +
+ +
+ +

+

Enumerator:
+ + + +
Reverse  +
Forward  +
+
+ +
+

+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
Nv::Blast::DList::DList::It::It (const DList list,
Direction  dir = Forward 
) [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::DList::DList::It::operator bool (  )  const [inline]
+
+
+ +

+Validity of current value. +

+

+ +

+
+ + + + + + + + +
Nv::Blast::DList::DList::It::operator const DLink * (  )  const [inline]
+
+
+ +

+Current value. +

+

+ +

+
+ + + + + + + + +
const DLink* Nv::Blast::DList::DList::It::operator++ (  )  [inline]
+
+
+ +

+Pre-increment. +

+

+ +

+
+ + + + + + + + +
const DLink* Nv::Blast::DList::DList::It::operator-- (  )  [inline]
+
+
+ +

+Pre-deccrement. +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it-members.html new file mode 100644 index 0000000..31465d8 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it-members.html @@ -0,0 +1,37 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::DListIt< IndexType > Member List

This is the complete list of members for Nv::Blast::DListIt< IndexType >, including all inherited members.

+ + + + + + + +
DListIt(IndexType curr, IndexDLink< IndexType > *links)Nv::Blast::DListIt< IndexType > [inline]
IteratorBase(IndexTypecurr)Nv::Blast::IteratorBase< IndexType >
m_currNv::Blast::IteratorBase< IndexType > [protected]
m_linksNv::Blast::DListIt< IndexType > [protected]
operator bool() constNv::Blast::IteratorBase< IndexType >
operator IndexType() constNv::Blast::IteratorBase< IndexType >
operator++()Nv::Blast::DListIt< IndexType > [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.html new file mode 100644 index 0000000..81627bb --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.html @@ -0,0 +1,133 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::DListIt< IndexType > Class Template Reference + + + + + + + + +
+

Nv::Blast::DListIt< IndexType > Class Template Reference

#include <NvBlastIteratorBase.h> +

+

+Inheritance diagram for Nv::Blast::DListIt< IndexType >:
+
+ +

+ +Nv::Blast::IteratorBase< IndexType > + +
+ +

+List of all members. + + + + + + + + + +

Public Member Functions

 DListIt (IndexType curr, IndexDLink< IndexType > *links)
uint32_t operator++ ()

Protected Attributes

IndexDLink< IndexType > * m_links
+


Detailed Description

+

template<typename IndexType>
+ class Nv::Blast::DListIt< IndexType >

+ +Common functionality and implementation for an IndexDList<IndexType> iterator

Constructor & Destructor Documentation

+ +
+
+
+template<typename IndexType >
+ + + + + + + + + + + + + + + + + + +
NV_INLINE Nv::Blast::DListIt< IndexType >::DListIt (IndexType  curr,
IndexDLink< IndexType > *  links 
) [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+
+template<typename IndexType >
+ + + + + + + + +
NV_INLINE uint32_t Nv::Blast::DListIt< IndexType >::operator++ (  )  [inline]
+
+
+ +

+Pre-increment. Only use if valid() == true. +

+

+


Member Data Documentation

+ +
+
+
+template<typename IndexType >
+ + + + +
IndexDLink<IndexType>* Nv::Blast::DListIt< IndexType >::m_links [protected]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.png new file mode 100644 index 0000000..a8ffb07 Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_impact_damage_manager-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_impact_damage_manager-members.html new file mode 100644 index 0000000..5d515d9 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_impact_damage_manager-members.html @@ -0,0 +1,36 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtImpactDamageManager Member List

This is the complete list of members for Nv::Blast::ExtImpactDamageManager, including all inherited members.

+ + + + + + +
applyDamage()=0Nv::Blast::ExtImpactDamageManager [pure virtual]
create(ExtPxManager *pxManager, ExtImpactSettings settings=ExtImpactSettings())Nv::Blast::ExtImpactDamageManager [static]
FilterShader(physx::PxFilterObjectAttributes attributes0, physx::PxFilterData filterData0, physx::PxFilterObjectAttributes attributes1, physx::PxFilterData filterData1, physx::PxPairFlags &pairFlags, const void *constantBlock, uint32_t constantBlockSize)Nv::Blast::ExtImpactDamageManager [static]
onContact(const physx::PxContactPairHeader &pairHeader, const physx::PxContactPair *pairs, uint32_t nbPairs)=0Nv::Blast::ExtImpactDamageManager [pure virtual]
release()=0Nv::Blast::ExtImpactDamageManager [pure virtual]
setSettings(const ExtImpactSettings &settings)=0Nv::Blast::ExtImpactDamageManager [pure virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_impact_damage_manager.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_impact_damage_manager.html new file mode 100644 index 0000000..3fda6e0 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_impact_damage_manager.html @@ -0,0 +1,270 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtImpactDamageManager Class Reference + + + + + + + + +
+

Nv::Blast::ExtImpactDamageManager Class Reference

#include <NvBlastExtImpactDamageManager.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + +

Public Member Functions

virtual void applyDamage ()=0
virtual void onContact (const physx::PxContactPairHeader &pairHeader, const physx::PxContactPair *pairs, uint32_t nbPairs)=0
virtual void release ()=0
virtual void setSettings (const ExtImpactSettings &settings)=0

Static Public Member Functions

static ExtImpactDamageManagercreate (ExtPxManager *pxManager, ExtImpactSettings settings=ExtImpactSettings())
static physx::PxFilterFlags FilterShader (physx::PxFilterObjectAttributes attributes0, physx::PxFilterData filterData0, physx::PxFilterObjectAttributes attributes1, physx::PxFilterData filterData1, physx::PxPairFlags &pairFlags, const void *constantBlock, uint32_t constantBlockSize)
+


Detailed Description

+Impact Damage Manager.

+Requires ExtPxManager. Call onContact from PxSimulationEventCallback onContact to accumulate damage. Call applyDamage to apply accumulated damage.


Member Function Documentation

+ +
+
+ + + + + + + + +
virtual void Nv::Blast::ExtImpactDamageManager::applyDamage (  )  [pure virtual]
+
+
+ +

+Apply accumulated impact damage. +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static ExtImpactDamageManager* Nv::Blast::ExtImpactDamageManager::create (ExtPxManager pxManager,
ExtImpactSettings  settings = ExtImpactSettings() 
) [static]
+
+
+ +

+Create a new ExtImpactDamageManager.

+

Parameters:
+ + + +
[in] pxManager The ExtPxManager instance to be used by impact damage manager.
[in] settings The settings to be set on ExtImpactDamageManager.
+
+
Returns:
the new ExtImpactDamageManager if successful, NULL otherwise.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static physx::PxFilterFlags Nv::Blast::ExtImpactDamageManager::FilterShader (physx::PxFilterObjectAttributes  attributes0,
physx::PxFilterData  filterData0,
physx::PxFilterObjectAttributes  attributes1,
physx::PxFilterData  filterData1,
physx::PxPairFlags &  pairFlags,
const void *  constantBlock,
uint32_t  constantBlockSize 
) [static]
+
+
+ +

+Custom implementation of PxSimulationFilterShader, enables necessary information to be passed in onContact(). Set it in your PxScene PxSceneDesc in order to impact damage to work correctly or implement your own.

+

See also:
PxSimulationFilterShader
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::ExtImpactDamageManager::onContact (const physx::PxContactPairHeader &  pairHeader,
const physx::PxContactPair *  pairs,
uint32_t  nbPairs 
) [pure virtual]
+
+
+ +

+This method is equal to PxSimulationEventCallback::onContact.

+User should implement own PxSimulationEventCallback onContact and call this method in order ExtImpactDamageManager to work correctly.

+Contacts will be processed and impact damage will be accumulated.

+

Parameters:
+ + + +
[in] pairHeader Information on the two actors whose shapes triggered a contact report.
[in] pairs The contact pairs of two actors for which contact reports have been requested.
+
+
See also:
PxContactPair.
+
Parameters:
+ + +
[in] nbPairs The number of provided contact pairs.
+
+
See also:
PxSimulationEventCallback
+ +
+

+ +

+
+ + + + + + + + +
virtual void Nv::Blast::ExtImpactDamageManager::release (  )  [pure virtual]
+
+
+ +

+Release this manager. +

+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtImpactDamageManager::setSettings (const ExtImpactSettings settings  )  [pure virtual]
+
+
+ +

+Set ExtImpactDamageManager settings.

+

Parameters:
+ + +
[in] settings The settings to be set on ExtImpactDamageManager.
+
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_actor-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_actor-members.html new file mode 100644 index 0000000..7c22077 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_actor-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxActor Member List

This is the complete list of members for Nv::Blast::ExtPxActor, including all inherited members.

+ + + + + +
getChunkCount() const =0Nv::Blast::ExtPxActor [pure virtual]
getChunkIndices() const =0Nv::Blast::ExtPxActor [pure virtual]
getFamily() const =0Nv::Blast::ExtPxActor [pure virtual]
getPhysXActor() const =0Nv::Blast::ExtPxActor [pure virtual]
getTkActor() const =0Nv::Blast::ExtPxActor [pure virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_actor.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_actor.html new file mode 100644 index 0000000..ea24349 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_actor.html @@ -0,0 +1,156 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxActor Class Reference + + + + + + + + +
+

Nv::Blast::ExtPxActor Class Reference

#include <NvBlastExtPxActor.h> +

+ +

+List of all members. + + + + + + + + + + + + +

Public Member Functions

virtual uint32_t getChunkCount () const =0
virtual const uint32_t * getChunkIndices () const =0
virtual ExtPxFamilygetFamily () const =0
virtual physx::PxRigidDynamic & getPhysXActor () const =0
virtual TkActorgetTkActor () const =0
+


Detailed Description

+Actor.

+Corresponds one to one to PxRigidDynamic and ExtActor.


Member Function Documentation

+ +
+
+ + + + + + + + +
virtual uint32_t Nv::Blast::ExtPxActor::getChunkCount (  )  const [pure virtual]
+
+
+ +

+Get the number of visible chunks for this actor. May be used in conjunction with getChunkIndices().

+

Returns:
the number of visible chunk indices for the actor.
+ +
+

+ +

+
+ + + + + + + + +
virtual const uint32_t* Nv::Blast::ExtPxActor::getChunkIndices (  )  const [pure virtual]
+
+
+ +

+Access actor's array of chunk indices. Use getChunkCount() to get a size of this array.

+

Returns:
a pointer to an array of chunk indices of an actor.
+ +
+

+ +

+
+ + + + + + + + +
virtual ExtPxFamily& Nv::Blast::ExtPxActor::getFamily (  )  const [pure virtual]
+
+
+ +

+Every actor has corresponding ExtPxFamily.

+/return a pointer to ExtPxFamily family. +

+

+ +

+
+ + + + + + + + +
virtual physx::PxRigidDynamic& Nv::Blast::ExtPxActor::getPhysXActor (  )  const [pure virtual]
+
+
+ +

+Every actor has corresponding PxActor.

+/return a pointer to PxRigidDynamic actor. +

+

+ +

+
+ + + + + + + + +
virtual TkActor& Nv::Blast::ExtPxActor::getTkActor (  )  const [pure virtual]
+
+
+ +

+Every actor has corresponding TkActor.

+/return a pointer to TkActor actor. +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_asset-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_asset-members.html new file mode 100644 index 0000000..2a2f467 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_asset-members.html @@ -0,0 +1,41 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxAsset Member List

This is the complete list of members for Nv::Blast::ExtPxAsset, including all inherited members.

+ + + + + + + + + + + +
create(const ExtPxAssetDesc &desc, TkFramework &framework)Nv::Blast::ExtPxAsset [static]
create(TkAsset *asset)Nv::Blast::ExtPxAsset [static]
deserialize(physx::general_PxIOStream2::PxFileBuf &stream, TkFramework &framework, physx::PxPhysics &physics)Nv::Blast::ExtPxAsset [static]
getChunkCount() const =0Nv::Blast::ExtPxAsset [pure virtual]
getChunks() const =0Nv::Blast::ExtPxAsset [pure virtual]
getSubchunkCount() const =0Nv::Blast::ExtPxAsset [pure virtual]
getSubchunks() const =0Nv::Blast::ExtPxAsset [pure virtual]
getTkAsset() const =0Nv::Blast::ExtPxAsset [pure virtual]
release()=0Nv::Blast::ExtPxAsset [pure virtual]
serialize(physx::general_PxIOStream2::PxFileBuf &stream, physx::PxCooking &cooking) const =0Nv::Blast::ExtPxAsset [pure virtual]
userDataNv::Blast::ExtPxAsset

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_asset.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_asset.html new file mode 100644 index 0000000..693f433 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_asset.html @@ -0,0 +1,350 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxAsset Class Reference + + + + + + + + +
+

Nv::Blast::ExtPxAsset Class Reference

#include <NvBlastExtPxAsset.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

virtual uint32_t getChunkCount () const =0
virtual const ExtPxChunkgetChunks () const =0
virtual uint32_t getSubchunkCount () const =0
virtual const ExtPxSubchunkgetSubchunks () const =0
virtual const TkAssetgetTkAsset () const =0
virtual void release ()=0
virtual bool serialize (physx::general_PxIOStream2::PxFileBuf &stream, physx::PxCooking &cooking) const =0

Static Public Member Functions

static ExtPxAssetcreate (TkAsset *asset)
static ExtPxAssetcreate (const ExtPxAssetDesc &desc, TkFramework &framework)
static ExtPxAssetdeserialize (physx::general_PxIOStream2::PxFileBuf &stream, TkFramework &framework, physx::PxPhysics &physics)

Public Attributes

void * userData
+


Detailed Description

+Asset.

+Keeps all the static data needed for physics.


Member Function Documentation

+ +
+
+ + + + + + + + + +
static ExtPxAsset* Nv::Blast::ExtPxAsset::create (TkAsset asset  )  [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static ExtPxAsset* Nv::Blast::ExtPxAsset::create (const ExtPxAssetDesc desc,
TkFramework framework 
) [static]
+
+
+ +

+Create a new ExtPxAsset.

+

Parameters:
+ + +
[in] desc The ExtPxAssetDesc descriptor to be used,
+
+
See also:
ExtPxAssetDesc.
+
Parameters:
+ + +
[in] framework The TkFramework instance to be used to create TkAsset.
+
+
Returns:
the new ExtPxAsset if successful, NULL otherwise.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
static ExtPxAsset* Nv::Blast::ExtPxAsset::deserialize (physx::general_PxIOStream2::PxFileBuf &  stream,
TkFramework framework,
physx::PxPhysics &  physics 
) [static]
+
+
+ +

+Deserialize an ExtPxAsset object from the given stream.

+

Parameters:
+ + + + +
[in] stream User-defined stream object.
[in] framework The TkFramework instance to be used to deserialize TkAsset.
[in] physics The PxPhysics instance to be to deserialize PxConvexMesh(s).
+
+
Returns:
pointer the deserialized ExtPxAsset object if successful, or NULL if unsuccessful.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::ExtPxAsset::getChunkCount (  )  const [pure virtual]
+
+
+ +

+Get the number of chunks for this asset. May be used in conjunction with getChunks().

+

Returns:
the number of chunks for the asset.
+ +
+

+ +

+
+ + + + + + + + +
virtual const ExtPxChunk* Nv::Blast::ExtPxAsset::getChunks (  )  const [pure virtual]
+
+
+ +

+Access asset's array of chunks. Use getChunkCount() to get the size of this array.

+

Returns:
a pointer to an array of chunk of an asset.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::ExtPxAsset::getSubchunkCount (  )  const [pure virtual]
+
+
+ +

+Get the number of subchunks for this asset. May be used in conjunction with getSubchunks(). Subchunk count is the maximum value of ExtPxChunk: (firstSubchunkIndex + subchunkCount).

+

Returns:
the number of subchunks for the asset.
+ +
+

+ +

+
+ + + + + + + + +
virtual const ExtPxSubchunk* Nv::Blast::ExtPxAsset::getSubchunks (  )  const [pure virtual]
+
+
+ +

+Access asset's array of subchunks. Use getSubchunkCount() to get the size of this array.

+

Returns:
a pointer to an array of subchunks of an asset.
+ +
+

+ +

+
+ + + + + + + + +
virtual const TkAsset& Nv::Blast::ExtPxAsset::getTkAsset (  )  const [pure virtual]
+
+
+ +

+Every ExtPxAsset has corresponding TkAsset.

+/return a pointer to TkAsset actor. +

+

+ +

+
+ + + + + + + + +
virtual void Nv::Blast::ExtPxAsset::release (  )  [pure virtual]
+
+
+ +

+Release this ExtPxAsset. +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual bool Nv::Blast::ExtPxAsset::serialize (physx::general_PxIOStream2::PxFileBuf &  stream,
physx::PxCooking &  cooking 
) const [pure virtual]
+
+
+ +

+Write the asset's data to the user-defined PxFileBuf stream. Underlying TkAsset would be also serialized.

+

Parameters:
+ + + +
[in] stream User-defined stream object.
[in] cooking The PxCooking instance to be used to serialize PxConvexMesh(s).
+
+
Returns:
true if serialization was successful, false otherwise.
+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+Pointer field available to the user. +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_family-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_family-members.html new file mode 100644 index 0000000..9e30c48 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_family-members.html @@ -0,0 +1,47 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxFamily Member List

This is the complete list of members for Nv::Blast::ExtPxFamily, including all inherited members.

+ + + + + + + + + + + + + + + + + +
despawn()=0Nv::Blast::ExtPxFamily [pure virtual]
getActorCount() const =0Nv::Blast::ExtPxFamily [pure virtual]
getActors(ExtPxActor **buffer, uint32_t bufferSize) const =0Nv::Blast::ExtPxFamily [pure virtual]
getPxActorDesc() const =0Nv::Blast::ExtPxFamily [pure virtual]
getPxAsset() const =0Nv::Blast::ExtPxFamily [pure virtual]
getPxShapeDescTemplate() const =0Nv::Blast::ExtPxFamily [pure virtual]
getSubchunkShapes() const =0Nv::Blast::ExtPxFamily [pure virtual]
getTkFamily() const =0Nv::Blast::ExtPxFamily [pure virtual]
postSplitUpdate()=0Nv::Blast::ExtPxFamily [pure virtual]
release()=0Nv::Blast::ExtPxFamily [pure virtual]
setMaterial(physx::PxMaterial &material)=0Nv::Blast::ExtPxFamily [pure virtual]
setPxActorDesc(const ExtPxActorDescTemplate *pxActorDesc)=0Nv::Blast::ExtPxFamily [pure virtual]
setPxShapeDescTemplate(const ExtPxShapeDescTemplate *pxShapeDesc)=0Nv::Blast::ExtPxFamily [pure virtual]
spawn(const physx::PxTransform &pose, const physx::PxVec3 &scale, const ExtPxSpawnSettings &settings)=0Nv::Blast::ExtPxFamily [pure virtual]
subscribe(ExtPxListener &listener)=0Nv::Blast::ExtPxFamily [pure virtual]
unsubscribe(ExtPxListener &listener)=0Nv::Blast::ExtPxFamily [pure virtual]
userDataNv::Blast::ExtPxFamily

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_family.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_family.html new file mode 100644 index 0000000..7d01b5e --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_family.html @@ -0,0 +1,482 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxFamily Class Reference + + + + + + + + +
+

Nv::Blast::ExtPxFamily Class Reference

#include <NvBlastExtPxFamily.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

virtual bool despawn ()=0
virtual uint32_t getActorCount () const =0
virtual uint32_t getActors (ExtPxActor **buffer, uint32_t bufferSize) const =0
virtual const
+ExtPxActorDescTemplate
getPxActorDesc () const =0
virtual const ExtPxAssetgetPxAsset () const =0
virtual const
+ExtPxShapeDescTemplate
getPxShapeDescTemplate () const =0
virtual const physx::PxShape
+*const * 
getSubchunkShapes () const =0
virtual TkFamilygetTkFamily () const =0
virtual void postSplitUpdate ()=0
virtual void release ()=0
virtual void setMaterial (physx::PxMaterial &material)=0
virtual void setPxActorDesc (const ExtPxActorDescTemplate *pxActorDesc)=0
virtual void setPxShapeDescTemplate (const ExtPxShapeDescTemplate *pxShapeDesc)=0
virtual bool spawn (const physx::PxTransform &pose, const physx::PxVec3 &scale, const ExtPxSpawnSettings &settings)=0
virtual void subscribe (ExtPxListener &listener)=0
virtual void unsubscribe (ExtPxListener &listener)=0

Public Attributes

void * userData
+


Detailed Description

+PxFamily.

+A collection of actors. Maps 1 to 1 with TkFamily.


Member Function Documentation

+ +
+
+ + + + + + + + +
virtual bool Nv::Blast::ExtPxFamily::despawn (  )  [pure virtual]
+
+
+ +

+Despawn this ExtPxFamily. This removes the PhysX actors from PxScene and deletes them, as well as deleting the created ExtPxActors

+This does not call release() on the family.

+

Returns:
true if successful.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::ExtPxFamily::getActorCount (  )  const [pure virtual]
+
+
+ +

+The number of actors currently in this family.

+

Returns:
the number of ExtPxActor that currently exist in this family.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual uint32_t Nv::Blast::ExtPxFamily::getActors (ExtPxActor **  buffer,
uint32_t  bufferSize 
) const [pure virtual]
+
+
+ +

+Retrieve an array of pointers (into the user-supplied buffer) to actors.

+

Parameters:
+ + + +
[out] buffer A user-supplied array of ExtPxActor pointers.
[in] bufferSize The number of elements available to write into buffer.
+
+
Returns:
the number of ExtPxActor pointers written to the buffer.
+ +
+

+ +

+
+ + + + + + + + +
virtual const ExtPxActorDescTemplate* Nv::Blast::ExtPxFamily::getPxActorDesc (  )  const [pure virtual]
+
+
+ +

+Get the default ExtPxPxActorDesc to be used on all newly created PxActors.

+

Returns:
a pointer to the default PxActor desc. Can be nullptr.
+ +
+

+ +

+
+ + + + + + + + +
virtual const ExtPxAsset& Nv::Blast::ExtPxFamily::getPxAsset (  )  const [pure virtual]
+
+
+ +

+Every family has an associated asset.

+

Returns:
a pointer to the (const) ExtPxAsset object.
+ +
+

+ +

+
+ + + + + + + + +
virtual const ExtPxShapeDescTemplate* Nv::Blast::ExtPxFamily::getPxShapeDescTemplate (  )  const [pure virtual]
+
+
+ +

+Get the default ExtPxPxShapeDesc to be used on all newly created PxShapes.

+

Returns:
a pointer to the default PxShape desc. Can be nullptr.
+ +
+

+ +

+
+ + + + + + + + +
virtual const physx::PxShape* const* Nv::Blast::ExtPxFamily::getSubchunkShapes (  )  const [pure virtual]
+
+
+ +

+Access an array of shapes of subchunks. The size of array is equal getPxAsset()->getSubchunkCount(). For every corresponding subchunk it contains pointer to created PxShape or nullptr.

+

Returns:
the pointer to subchunk shapes array.
+ +
+

+ +

+
+ + + + + + + + +
virtual TkFamily& Nv::Blast::ExtPxFamily::getTkFamily (  )  const [pure virtual]
+
+
+ +

+Every family has corresponding TkFamily.

+/return a pointer to TkFamily actor. +

+

+ +

+
+ + + + + + + + +
virtual void Nv::Blast::ExtPxFamily::postSplitUpdate (  )  [pure virtual]
+
+
+ +

+Call after split. +

+

+ +

+
+ + + + + + + + +
virtual void Nv::Blast::ExtPxFamily::release (  )  [pure virtual]
+
+
+ +

+Release this family. +

+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtPxFamily::setMaterial (physx::PxMaterial &  material  )  [pure virtual]
+
+
+ +

+Set the default material to be used for PxRigidDynamic creation.

+

Parameters:
+ + +
[in] material The material to be the new default.
+
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtPxFamily::setPxActorDesc (const ExtPxActorDescTemplate pxActorDesc  )  [pure virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtPxFamily::setPxShapeDescTemplate (const ExtPxShapeDescTemplate pxShapeDesc  )  [pure virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool Nv::Blast::ExtPxFamily::spawn (const physx::PxTransform &  pose,
const physx::PxVec3 &  scale,
const ExtPxSpawnSettings settings 
) [pure virtual]
+
+
+ +

+Spawn ExtPxFamily. Can be called only once. Actual PhysX actors will created and placed in PxScene

+

Parameters:
+ + + + +
[in] pose World transform.
[in] scale Scale applied to spawned actors.
[in] settings Spawn settings.
+
+
Returns:
true if spawn was successful, false otherwise.
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtPxFamily::subscribe (ExtPxListener listener  )  [pure virtual]
+
+
+ +

+Add a user implementation of ExtPxListener to this family's list of listeners.

+

Parameters:
+ + +
[in] listener The event listener to add.
+
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtPxFamily::unsubscribe (ExtPxListener listener  )  [pure virtual]
+
+
+ +

+Remove a user implementation of ExtPxListener from this family's list of listeners.

+

Parameters:
+ + +
[in] listener The event listener to remove.
+
+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+UserData pointer. Free to be used by user in any way. +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_listener-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_listener-members.html new file mode 100644 index 0000000..bb8bd01 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_listener-members.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxListener Member List

This is the complete list of members for Nv::Blast::ExtPxListener, including all inherited members.

+ + +
onActorCreated(ExtPxFamily &family, ExtPxActor &actor)=0Nv::Blast::ExtPxListener [pure virtual]
onActorDestroyed(ExtPxFamily &family, ExtPxActor &actor)=0Nv::Blast::ExtPxListener [pure virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_listener.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_listener.html new file mode 100644 index 0000000..96231e0 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_listener.html @@ -0,0 +1,120 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxListener Class Reference + + + + + + + + +
+

Nv::Blast::ExtPxListener Class Reference

#include <NvBlastExtPxListener.h> +

+ +

+List of all members. + + + + + + +

Public Member Functions

virtual void onActorCreated (ExtPxFamily &family, ExtPxActor &actor)=0
virtual void onActorDestroyed (ExtPxFamily &family, ExtPxActor &actor)=0
+


Detailed Description

+Physics Listener Interface.

+Actor create/destroy events listener.


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::ExtPxListener::onActorCreated (ExtPxFamily family,
ExtPxActor actor 
) [pure virtual]
+
+
+ +

+Interface to be implemented by the user. Will be called when ExtPxFamily creates new actor.

+

Parameters:
+ + + +
[in] family Corresponding ExtPxFamily with new actor.
[in] actor The new actor.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::ExtPxListener::onActorDestroyed (ExtPxFamily family,
ExtPxActor actor 
) [pure virtual]
+
+
+ +

+Interface to be implemented by the user. Will be called when ExtPxFamily destroy an actor.

+

Parameters:
+ + + +
[in] family Corresponding ExtPxFamily.
[in] actor The actor to be destroyed.
+
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_manager-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_manager-members.html new file mode 100644 index 0000000..47278f8 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_manager-members.html @@ -0,0 +1,50 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxManager Member List

This is the complete list of members for Nv::Blast::ExtPxManager, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
create(physx::PxPhysics &physics, TkFramework &framework, ExtPxCreateJointFunction createFn=nullptr, bool useUserData=true)Nv::Blast::ExtPxManager [static]
createFamily(const ExtPxFamilyDesc &desc)=0Nv::Blast::ExtPxManager [pure virtual]
createJoint(TkJoint &joint)=0Nv::Blast::ExtPxManager [pure virtual]
destroyJoint(TkJoint &joint)=0Nv::Blast::ExtPxManager [pure virtual]
FilterDataAttributes enum nameNv::Blast::ExtPxManager
getActorCountLimit()=0Nv::Blast::ExtPxManager [pure virtual]
getActorFromPhysXActor(const physx::PxRigidDynamic &pxActor) const =0Nv::Blast::ExtPxManager [pure virtual]
getFamilies(ExtPxFamily **buffer, uint32_t bufferSize) const =0Nv::Blast::ExtPxManager [pure virtual]
getFamilyCount() const =0Nv::Blast::ExtPxManager [pure virtual]
getFamilyFromTkFamily(TkFamily &family) const =0Nv::Blast::ExtPxManager [pure virtual]
getFramework() const =0Nv::Blast::ExtPxManager [pure virtual]
getPhysics() const =0Nv::Blast::ExtPxManager [pure virtual]
getPxActorCount() const =0Nv::Blast::ExtPxManager [pure virtual]
isPxUserDataUsed() const =0Nv::Blast::ExtPxManager [pure virtual]
LEAF_CHUNK enum valueNv::Blast::ExtPxManager
release()=0Nv::Blast::ExtPxManager [pure virtual]
setActorCountLimit(uint32_t limit)=0Nv::Blast::ExtPxManager [pure virtual]
setCreateJointFunction(ExtPxCreateJointFunction createFn)=0Nv::Blast::ExtPxManager [pure virtual]
subscribe(ExtPxListener &listener)=0Nv::Blast::ExtPxManager [pure virtual]
unsubscribe(ExtPxListener &listener)=0Nv::Blast::ExtPxManager [pure virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_manager.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_manager.html new file mode 100644 index 0000000..3c02411 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_px_manager.html @@ -0,0 +1,579 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxManager Class Reference + + + + + + + + +
+

Nv::Blast::ExtPxManager Class Reference

#include <NvBlastExtPxManager.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  FilterDataAttributes { LEAF_CHUNK = 1 + }

Public Member Functions

virtual ExtPxFamilycreateFamily (const ExtPxFamilyDesc &desc)=0
virtual bool createJoint (TkJoint &joint)=0
virtual void destroyJoint (TkJoint &joint)=0
virtual uint32_t getActorCountLimit ()=0
virtual ExtPxActorgetActorFromPhysXActor (const physx::PxRigidDynamic &pxActor) const =0
virtual uint32_t getFamilies (ExtPxFamily **buffer, uint32_t bufferSize) const =0
virtual uint32_t getFamilyCount () const =0
virtual ExtPxFamilygetFamilyFromTkFamily (TkFamily &family) const =0
virtual TkFrameworkgetFramework () const =0
virtual physx::PxPhysics & getPhysics () const =0
virtual uint32_t getPxActorCount () const =0
virtual bool isPxUserDataUsed () const =0
virtual void release ()=0
virtual void setActorCountLimit (uint32_t limit)=0
virtual void setCreateJointFunction (ExtPxCreateJointFunction createFn)=0
virtual void subscribe (ExtPxListener &listener)=0
virtual void unsubscribe (ExtPxListener &listener)=0

Static Public Member Functions

static ExtPxManagercreate (physx::PxPhysics &physics, TkFramework &framework, ExtPxCreateJointFunction createFn=nullptr, bool useUserData=true)
+


Detailed Description

+Physics Manager.

+Used to create and manage Physics Families.


Member Enumeration Documentation

+ +
+ +
+ +

+Simulation Filter data to be set on leaf chunk actors

Enumerator:
+ + +
LEAF_CHUNK  +
+
+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static ExtPxManager* Nv::Blast::ExtPxManager::create (physx::PxPhysics &  physics,
TkFramework framework,
ExtPxCreateJointFunction  createFn = nullptr,
bool  useUserData = true 
) [static]
+
+
+ +

+Create a new ExtPxManager.

+

Parameters:
+ + + + + +
[in] physics The PxPhysics instance to be used by ExtPxManager.
[in] framework The TkFramework instance to be used by ExtPxManager.
[in] createFn The function to be used when creating joints, can be nullptr.
[in] useUserData Flag if ExtPxManager is allowed to override PxActor's userData, it will store pointer to PxActor there. It is recommended as fastest way. If set to 'false' HashMap will be used.
+
+
Returns:
the new ExtPxManager if successful, NULL otherwise.
+ +
+

+ +

+
+ + + + + + + + + +
virtual ExtPxFamily* Nv::Blast::ExtPxManager::createFamily (const ExtPxFamilyDesc desc  )  [pure virtual]
+
+
+ +

+Create a px family from the given descriptor.

+

Parameters:
+ + +
[in] desc The family descriptor (see ExtPxFamilyDesc).
+
+
Returns:
the created family, if the descriptor was valid and memory was available for the operation. Otherwise, returns NULL.
+ +
+

+ +

+
+ + + + + + + + + +
virtual bool Nv::Blast::ExtPxManager::createJoint (TkJoint joint  )  [pure virtual]
+
+
+ +

+Create a px joint associated with TkJoint.

+ExtPxCreateJointFunction will be called after this call. ExtPxCreateJointFunction must be set, nothing will happen otherwise.

+

Parameters:
+ + +
[in] joint TkJoint to be used to create px joint.
+
+
Returns:
true iff Joint was created.
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtPxManager::destroyJoint (TkJoint joint  )  [pure virtual]
+
+
+ +

+Destroy a px joint associated with TkJoint.

+

Parameters:
+ + +
[in] joint TkJoint to be used to destroy px joint.
+
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::ExtPxManager::getActorCountLimit (  )  [pure virtual]
+
+
+ +

+Retrieve the limit to the total number of actors that can exist at a given time. A value of zero disables this (gives no limit).

+

Returns:
the limit to the total number of actors that can exist at a given time (or zero if there is no limit).
+ +
+

+ +

+
+ + + + + + + + + +
virtual ExtPxActor* Nv::Blast::ExtPxManager::getActorFromPhysXActor (const physx::PxRigidDynamic &  pxActor  )  const [pure virtual]
+
+
+ +

+Look up an associated ExtPxActor by PxRigidDynamic pointer.

+

Parameters:
+ + +
[in] pxActor The PxRigidDynamic pointer to look up.
+
+
Returns:
pointer to the ExtPxActor object if it exists, NULL otherwise.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual uint32_t Nv::Blast::ExtPxManager::getFamilies (ExtPxFamily **  buffer,
uint32_t  bufferSize 
) const [pure virtual]
+
+
+ +

+Retrieve an array of pointers (into the user-supplied buffer) to families.

+

Parameters:
+ + + +
[out] buffer A user-supplied array of ExtPxFamily pointers.
[in] bufferSize The number of elements available to write into buffer.
+
+
Returns:
the number of ExtPxFamily pointers written to the buffer.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::ExtPxManager::getFamilyCount (  )  const [pure virtual]
+
+
+ +

+The number of families currently in this manager.

+

Returns:
the number of ExtPxFamily that currently exist in this manger.
+ +
+

+ +

+
+ + + + + + + + + +
virtual ExtPxFamily* Nv::Blast::ExtPxManager::getFamilyFromTkFamily (TkFamily family  )  const [pure virtual]
+
+
+ +

+Look up an associated ExtPxFamily by TkFamily pointer.

+

Parameters:
+ + +
[in] family The TkFamily pointer to look up.
+
+
Returns:
pointer to the ExtPxFamily object if it exists, NULL otherwise.
+ +
+

+ +

+
+ + + + + + + + +
virtual TkFramework& Nv::Blast::ExtPxManager::getFramework (  )  const [pure virtual]
+
+
+ +

+Get a TkFramework object pointer used upon manager creation.

+

Returns:
a pointer to the TkFramework object.
+ +
+

+ +

+
+ + + + + + + + +
virtual physx::PxPhysics& Nv::Blast::ExtPxManager::getPhysics (  )  const [pure virtual]
+
+
+ +

+Get a PxPhysics object pointer used upon manager creation.

+

Returns:
a pointer to the (const) PxPhysics object.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::ExtPxManager::getPxActorCount (  )  const [pure virtual]
+
+
+ +

+The total number of PxActors generated by Blast.

+

Returns:
the total number of PxActors generated by Blast.
+ +
+

+ +

+
+ + + + + + + + +
virtual bool Nv::Blast::ExtPxManager::isPxUserDataUsed (  )  const [pure virtual]
+
+
+ +

+Get if useUserData was set upon manager creation.

+

Returns:
true iff PxActor userData is used by manager.
+ +
+

+ +

+
+ + + + + + + + +
virtual void Nv::Blast::ExtPxManager::release (  )  [pure virtual]
+
+
+ +

+Release this manager. +

+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtPxManager::setActorCountLimit (uint32_t  limit  )  [pure virtual]
+
+
+ +

+Limits the total number of actors that can exist at a given time. A value of zero disables this (gives no limit).

+

Parameters:
+ + +
[in] limit If not zero, the maximum number of actors that will be allowed to exist.
+
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtPxManager::setCreateJointFunction (ExtPxCreateJointFunction  createFn  )  [pure virtual]
+
+
+ +

+Set ExtPxCreateJointFunction to be used when new joints are being created.\

+

Parameters:
+ + +
[in] createFn Create function pointer to set, can be nullptr.
+
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtPxManager::subscribe (ExtPxListener listener  )  [pure virtual]
+
+
+ +

+Add a user implementation of ExtPxListener to this family's list of listeners.

+

Parameters:
+ + +
[in] listener The event listener to add.
+
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtPxManager::unsubscribe (ExtPxListener listener  )  [pure virtual]
+
+
+ +

+Remove a user implementation of ExtPxListener from this family's list of listeners.

+

Parameters:
+ + +
[in] listener The event listener to remove.
+
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver-members.html new file mode 100644 index 0000000..e720f47 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver-members.html @@ -0,0 +1,48 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtStressSolver Member List

This is the complete list of members for Nv::Blast::ExtStressSolver, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
applyImpulse(ExtPxActor &actor, physx::PxVec3 position, physx::PxVec3 force)=0Nv::Blast::ExtStressSolver [pure virtual]
create(ExtPxFamily &family, ExtStressSolverSettings settings=ExtStressSolverSettings())Nv::Blast::ExtStressSolver [static]
DebugRenderMode enum nameNv::Blast::ExtStressSolver
fillDebugRender(const std::vector< uint32_t > &nodes, std::vector< physx::PxDebugLine > &lines, DebugRenderMode mode, float scale=1.0f)=0Nv::Blast::ExtStressSolver [pure virtual]
getBondCount() const =0Nv::Blast::ExtStressSolver [pure virtual]
getFrameCount() const =0Nv::Blast::ExtStressSolver [pure virtual]
getIterationCount() const =0Nv::Blast::ExtStressSolver [pure virtual]
getIterationsPerFrame() const Nv::Blast::ExtStressSolver [inline]
getSettings() const =0Nv::Blast::ExtStressSolver [pure virtual]
getStressErrorAngular() const =0Nv::Blast::ExtStressSolver [pure virtual]
getStressErrorLinear() const =0Nv::Blast::ExtStressSolver [pure virtual]
release()=0Nv::Blast::ExtStressSolver [pure virtual]
reset()=0Nv::Blast::ExtStressSolver [pure virtual]
setSettings(const ExtStressSolverSettings &settings)=0Nv::Blast::ExtStressSolver [pure virtual]
STRESS_GRAPH enum valueNv::Blast::ExtStressSolver
STRESS_GRAPH_BONDS_IMPULSES enum valueNv::Blast::ExtStressSolver
STRESS_GRAPH_NODES_IMPULSES enum valueNv::Blast::ExtStressSolver
update(bool doDamage=true)=0Nv::Blast::ExtStressSolver [pure virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html new file mode 100644 index 0000000..60a8b8f --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html @@ -0,0 +1,476 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtStressSolver Class Reference + + + + + + + + +
+

Nv::Blast::ExtStressSolver Class Reference

#include <NvBlastExtStressSolver.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  DebugRenderMode { STRESS_GRAPH = 0, +STRESS_GRAPH_NODES_IMPULSES = 1, +STRESS_GRAPH_BONDS_IMPULSES = 2 + }

Public Member Functions

virtual void applyImpulse (ExtPxActor &actor, physx::PxVec3 position, physx::PxVec3 force)=0
virtual void fillDebugRender (const std::vector< uint32_t > &nodes, std::vector< physx::PxDebugLine > &lines, DebugRenderMode mode, float scale=1.0f)=0
virtual uint32_t getBondCount () const =0
virtual uint32_t getFrameCount () const =0
virtual uint32_t getIterationCount () const =0
uint32_t getIterationsPerFrame () const
virtual const
+ExtStressSolverSettings
getSettings () const =0
virtual float getStressErrorAngular () const =0
virtual float getStressErrorLinear () const =0
virtual void release ()=0
virtual void reset ()=0
virtual void setSettings (const ExtStressSolverSettings &settings)=0
virtual void update (bool doDamage=true)=0

Static Public Member Functions

static ExtStressSolvercreate (ExtPxFamily &family, ExtStressSolverSettings settings=ExtStressSolverSettings())
+


Detailed Description

+Stress Solver.

+Uses ExtPxFamily, allocates and prepares it's graph once when it's created. Then it's being quickly updated on every actor split. Works on both dynamic and static actor's within family. For static actors it applies gravity. For dynamic actors it applies centrifugal force. Additionally applyImpulse() method can be used to apply external impulse (like impact damage).


Member Enumeration Documentation

+ +
+ +
+ +

+Debug Render Mode

Enumerator:
+ + + + +
STRESS_GRAPH  +render only stress graph
STRESS_GRAPH_NODES_IMPULSES  +render stress graph + nodes impulses after solving stress
STRESS_GRAPH_BONDS_IMPULSES  +render stress graph + bonds impulses after solving stress
+
+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::ExtStressSolver::applyImpulse (ExtPxActor actor,
physx::PxVec3  position,
physx::PxVec3  force 
) [pure virtual]
+
+
+ +

+Apply external impulse on particular actor of family

+

Parameters:
+ + + + +
[in] actor The ExtPxActor to apply impulse on.
[in] position Local position in actor's coordinates to apply impulse on.
[in] force Impulse to apply (kg * m / s).
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static ExtStressSolver* Nv::Blast::ExtStressSolver::create (ExtPxFamily family,
ExtStressSolverSettings  settings = ExtStressSolverSettings() 
) [static]
+
+
+ +

+Create a new ExtStressSolver.

+

Parameters:
+ + + +
[in] family The ExtPxFamily instance to calculate stress on.
[in] settings The settings to be set on ExtStressSolver.
+
+
Returns:
the new ExtStressSolver if successful, NULL otherwise.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::ExtStressSolver::fillDebugRender (const std::vector< uint32_t > &  nodes,
std::vector< physx::PxDebugLine > &  lines,
DebugRenderMode  mode,
float  scale = 1.0f 
) [pure virtual]
+
+
+ +

+Fill debug render for passed array of support graph nodes.

+

Parameters:
+ + + + + +
[in] nodes Node indices of support graph to debug render for.
[out] lines Lines array to fill.
[in] mode Debug render mode.
[in] scale Scale to be applied on impulses.
+
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::ExtStressSolver::getBondCount (  )  const [pure virtual]
+
+
+ +

+Get stress solver bonds count, after graph reduction was applied.

+

Returns:
the bonds count.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::ExtStressSolver::getFrameCount (  )  const [pure virtual]
+
+
+ +

+Get stress solver total frames count (update() calls) since it was created (or reset).

+

Returns:
the frames count.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::ExtStressSolver::getIterationCount (  )  const [pure virtual]
+
+
+ +

+Get stress solver total iterations count since it was created (or reset).

+

Returns:
the iterations count.
+ +
+

+ +

+
+ + + + + + + + +
uint32_t Nv::Blast::ExtStressSolver::getIterationsPerFrame (  )  const [inline]
+
+
+ +

+Get iteration per frame (update() call).

+Helper method to know how many solver iterations are made per frame.

+

Returns:
the iterations per frame count.
+ +
+

+ +

+
+ + + + + + + + +
virtual const ExtStressSolverSettings& Nv::Blast::ExtStressSolver::getSettings (  )  const [pure virtual]
+
+
+ +

+Get stress solver settings.

+

Returns:
the pointer to stress solver settings currently set.
+ +
+

+ +

+
+ + + + + + + + +
virtual float Nv::Blast::ExtStressSolver::getStressErrorAngular (  )  const [pure virtual]
+
+
+ +

+Get stress solver angular error.

+

Returns:
the total angular error of stress calculation.
+ +
+

+ +

+
+ + + + + + + + +
virtual float Nv::Blast::ExtStressSolver::getStressErrorLinear (  )  const [pure virtual]
+
+
+ +

+Get stress solver linear error.

+

Returns:
the total linear error of stress calculation.
+ +
+

+ +

+
+ + + + + + + + +
virtual void Nv::Blast::ExtStressSolver::release (  )  [pure virtual]
+
+
+ +

+Release this stress solver. +

+

+ +

+
+ + + + + + + + +
virtual void Nv::Blast::ExtStressSolver::reset (  )  [pure virtual]
+
+
+ +

+Reset stress solver.

+Stress solver uses warm start internally, calling this function will flush all previous data calculated and also zeros frame count. This function is to be used for debug purposes. +

+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtStressSolver::setSettings (const ExtStressSolverSettings settings  )  [pure virtual]
+
+
+ +

+Set stress solver settings. Changing graph reduction level will lead to graph being rebuilt (which is fast, but still not recommended). All other settings are applied instantly and can be changed every frame.

+

Parameters:
+ + +
[in] settings The settings to be set on ExtStressSolver.
+
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtStressSolver::update (bool  doDamage = true  )  [pure virtual]
+
+
+ +

+Update stress solver.

+Calculate stress and optionally apply damage.

+

Parameters:
+ + +
[in] doDamage If 'true' damage will be applied after stress solver.
+
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync-members.html new file mode 100644 index 0000000..937d05d --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync-members.html @@ -0,0 +1,39 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtSync Member List

This is the complete list of members for Nv::Blast::ExtSync, including all inherited members.

+ + + + + + + + + +
acquireSyncBuffer(const ExtSyncEvent *const *&buffer, uint32_t &size) const =0Nv::Blast::ExtSync [pure virtual]
applySyncBuffer(TkFramework &framework, const ExtSyncEvent **buffer, uint32_t size, TkGroup *groupForNewActors, ExtPxManager *manager=nullptr)=0Nv::Blast::ExtSync [pure virtual]
create()Nv::Blast::ExtSync [static]
getSyncBufferSize() const =0Nv::Blast::ExtSync [pure virtual]
receive(const TkEvent *events, uint32_t eventCount)=0Nv::Blast::ExtSync [pure virtual]
release()=0Nv::Blast::ExtSync [pure virtual]
releaseSyncBuffer()=0Nv::Blast::ExtSync [pure virtual]
syncFamily(const TkFamily &family)=0Nv::Blast::ExtSync [pure virtual]
syncFamily(const ExtPxFamily &family)=0Nv::Blast::ExtSync [pure virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync.html new file mode 100644 index 0000000..0b87f01 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync.html @@ -0,0 +1,335 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtSync Class Reference + + + + + + + + +
+

Nv::Blast::ExtSync Class Reference

#include <NvBlastExtSync.h> +

+

+Inheritance diagram for Nv::Blast::ExtSync:
+
+ +

+ +Nv::Blast::TkEventListener + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

virtual void acquireSyncBuffer (const ExtSyncEvent *const *&buffer, uint32_t &size) const =0
virtual void applySyncBuffer (TkFramework &framework, const ExtSyncEvent **buffer, uint32_t size, TkGroup *groupForNewActors, ExtPxManager *manager=nullptr)=0
virtual uint32_t getSyncBufferSize () const =0
virtual void receive (const TkEvent *events, uint32_t eventCount)=0
virtual void release ()=0
virtual void releaseSyncBuffer ()=0
virtual void syncFamily (const ExtPxFamily &family)=0
virtual void syncFamily (const TkFamily &family)=0

Static Public Member Functions

static ExtSynccreate ()
+


Detailed Description

+Sync Manager.

+Implements TkEventListener interface. It can be directly subscribed to listen for family events.


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::ExtSync::acquireSyncBuffer (const ExtSyncEvent *const *&  buffer,
uint32_t &  size 
) const [pure virtual]
+
+
+ +

+Acquire internal sync buffer.

+

Parameters:
+ + + +
[in] buffer Reference to sync event buffer pointer to be set.
[in] size Reference to the size of the buffer array to be set.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::ExtSync::applySyncBuffer (TkFramework framework,
const ExtSyncEvent **  buffer,
uint32_t  size,
TkGroup groupForNewActors,
ExtPxManager manager = nullptr 
) [pure virtual]
+
+
+ +

+Apply external sync buffer on TkFramework and possibly ExtPxManager. This function call will result in respective families/actors changes in order to synchronize state.

+

Parameters:
+ + + + + + +
[in] framework The TkFramework instance to be used.
[in] buffer Sync buffer array pointer.
[in] size Sync buffer array size.
[in] groupForNewActors TkGroup to be used for newly created actors. Can be nullptr.
[in] manager The ExtPxManager instance to be used. Can be nullptr, physics sync events will be ignored in that case.
+
+ +
+

+ +

+
+ + + + + + + + +
static ExtSync* Nv::Blast::ExtSync::create (  )  [static]
+
+
+ +

+Create a new ExtSync.

+

Returns:
the new ExtSync if successful, NULL otherwise.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::ExtSync::getSyncBufferSize (  )  const [pure virtual]
+
+
+ +

+The size of internal sync buffer (events count).

+

Returns:
the number of events in internal sync buffer.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::ExtSync::receive (const TkEvent events,
uint32_t  eventCount 
) [pure virtual]
+
+
+ +

+TkEventListener interface.

+

Parameters:
+ + + +
[in] events The array of events being dispatched.
[in] eventCount The number of events in the array.
+
+ +

Implements Nv::Blast::TkEventListener.

+ +
+

+ +

+
+ + + + + + + + +
virtual void Nv::Blast::ExtSync::release (  )  [pure virtual]
+
+
+ +

+Release Sync manager. +

+

+ +

+
+ + + + + + + + +
virtual void Nv::Blast::ExtSync::releaseSyncBuffer (  )  [pure virtual]
+
+
+ +

+Clear internal sync buffer. +

+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtSync::syncFamily (const ExtPxFamily family  )  [pure virtual]
+
+
+ +

+Sync PxFamily state. Writes to internal sync buffer.

+

Parameters:
+ + +
[in] family The ExtPxFamily to sync
+
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::ExtSync::syncFamily (const TkFamily family  )  [pure virtual]
+
+
+ +

+Sync family state. Writes to internal sync buffer.

+

Parameters:
+ + +
[in] family The TkFamily to sync
+
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync.png new file mode 100644 index 0000000..fece65e Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_sync.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array-members.html new file mode 100644 index 0000000..7b32ddd --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array-members.html @@ -0,0 +1,41 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::FixedArray< T > Member List

This is the complete list of members for Nv::Blast::FixedArray< T >, including all inherited members.

+ + + + + + + + + + + +
at(uint32_t idx)Nv::Blast::FixedArray< T > [inline]
at(uint32_t idx) const Nv::Blast::FixedArray< T > [inline]
clear()Nv::Blast::FixedArray< T > [inline]
FixedArray()Nv::Blast::FixedArray< T > [inline, explicit]
forceSize_Unsafe(uint32_t s)Nv::Blast::FixedArray< T > [inline]
operator[](uint32_t idx)Nv::Blast::FixedArray< T > [inline]
operator[](uint32_t idx) const Nv::Blast::FixedArray< T > [inline]
popBack()Nv::Blast::FixedArray< T > [inline]
pushBack(T &t)Nv::Blast::FixedArray< T > [inline]
requiredMemorySize(uint32_t capacity)Nv::Blast::FixedArray< T > [inline, static]
size() const Nv::Blast::FixedArray< T > [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array.html new file mode 100644 index 0000000..963586f --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array.html @@ -0,0 +1,316 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::FixedArray< T > Class Template Reference + + + + + + + + +
+

Nv::Blast::FixedArray< T > Class Template Reference

#include <NvBlastFixedArray.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

NV_FORCE_INLINE const T & at (uint32_t idx) const
NV_FORCE_INLINE T & at (uint32_t idx)
void clear ()
 FixedArray ()
NV_FORCE_INLINE void forceSize_Unsafe (uint32_t s)
NV_FORCE_INLINE const T & operator[] (uint32_t idx) const
NV_FORCE_INLINE T & operator[] (uint32_t idx)
popBack ()
NV_FORCE_INLINE T & pushBack (T &t)
NV_FORCE_INLINE uint32_t size () const

Static Public Member Functions

static size_t requiredMemorySize (uint32_t capacity)
+


Detailed Description

+

template<class T>
+ class Nv::Blast::FixedArray< T >

+ +FixedArray is a sequential container which is intended to be used with placement new on chunk of memory. It'll use following memory for data layout. As follows:

+some memory char ​*buf = new char[64 *​ 1024];

+placement new on this memory FixedArray<SomeClass>* arr = new (buf) FixedArray<SomeClass>();

+you can get max requiredMemorySize by an array of 'capacity' elements count to use memory left buf = buf + FixedArray<SomeClass>::requiredMemorySize(capacity);

+buf:

++------------------------------------------------------------+ | uint32_t | T[0] | T[1] | T[2] | ... | +------------------------------------------------------------+

+!!!TODO:

+

Constructor & Destructor Documentation

+ +
+
+
+template<class T >
+ + + + + + + + +
Nv::Blast::FixedArray< T >::FixedArray (  )  [inline, explicit]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+
+template<class T >
+ + + + + + + + + +
NV_FORCE_INLINE const T& Nv::Blast::FixedArray< T >::at (uint32_t  idx  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<class T >
+ + + + + + + + + +
NV_FORCE_INLINE T& Nv::Blast::FixedArray< T >::at (uint32_t  idx  )  [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<class T >
+ + + + + + + + +
void Nv::Blast::FixedArray< T >::clear (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<class T >
+ + + + + + + + + +
NV_FORCE_INLINE void Nv::Blast::FixedArray< T >::forceSize_Unsafe (uint32_t  s  )  [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<class T >
+ + + + + + + + + +
NV_FORCE_INLINE const T& Nv::Blast::FixedArray< T >::operator[] (uint32_t  idx  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<class T >
+ + + + + + + + + +
NV_FORCE_INLINE T& Nv::Blast::FixedArray< T >::operator[] (uint32_t  idx  )  [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<class T >
+ + + + + + + + +
T Nv::Blast::FixedArray< T >::popBack (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<class T >
+ + + + + + + + + +
NV_FORCE_INLINE T& Nv::Blast::FixedArray< T >::pushBack (T &  t  )  [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<class T >
+ + + + + + + + + +
static size_t Nv::Blast::FixedArray< T >::requiredMemorySize (uint32_t  capacity  )  [inline, static]
+
+
+ +

+ +

+

+ +

+
+
+template<class T >
+ + + + + + + + +
NV_FORCE_INLINE uint32_t Nv::Blast::FixedArray< T >::size (  )  const [inline]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap-members.html new file mode 100644 index 0000000..326a389 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap-members.html @@ -0,0 +1,38 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::FixedBitmap Member List

This is the complete list of members for Nv::Blast::FixedBitmap, including all inherited members.

+ + + + + + + + +
clear()Nv::Blast::FixedBitmap [inline]
fill()Nv::Blast::FixedBitmap [inline]
FixedBitmap(uint32_t bitsCount)Nv::Blast::FixedBitmap [inline, explicit]
getWordsCount(uint32_t bitsCount)Nv::Blast::FixedBitmap [inline, static]
requiredMemorySize(uint32_t bitsCount)Nv::Blast::FixedBitmap [inline, static]
reset(uint32_t index)Nv::Blast::FixedBitmap [inline]
set(uint32_t index)Nv::Blast::FixedBitmap [inline]
test(uint32_t index) const Nv::Blast::FixedBitmap [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap.html new file mode 100644 index 0000000..f614682 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap.html @@ -0,0 +1,225 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::FixedBitmap Class Reference + + + + + + + + +
+

Nv::Blast::FixedBitmap Class Reference

#include <NvBlastFixedBitmap.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + +

Public Member Functions

void clear ()
void fill ()
 FixedBitmap (uint32_t bitsCount)
void reset (uint32_t index)
void set (uint32_t index)
int test (uint32_t index) const

Static Public Member Functions

static uint32_t getWordsCount (uint32_t bitsCount)
static size_t requiredMemorySize (uint32_t bitsCount)
+


Detailed Description

+FixedBitmap is a bitset (bitmap) of fixed side, it's intended to be used with placement new on chunk of memory. It'll use following memory for data layout. As follows:

+some memory char ​*buf = new char[64 *​ 1024];

+const uint32_t bitsCount = 100;

+placement new on this memory FixedBitmap* arr = new (buf) FixedBitmap(bitsCount);

+you can get max requiredMemorySize by an bitMap to use memory left buf = buf + FixedBitmap<SomeClass>::requiredMemorySize(bitsCount);

+buf:

++------------------------------------------------------------+ | uint32_t | word0 | word1 | word2 | ... | +------------------------------------------------------------+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + +
Nv::Blast::FixedBitmap::FixedBitmap (uint32_t  bitsCount  )  [inline, explicit]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
void Nv::Blast::FixedBitmap::clear (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
void Nv::Blast::FixedBitmap::fill (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static uint32_t Nv::Blast::FixedBitmap::getWordsCount (uint32_t  bitsCount  )  [inline, static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static size_t Nv::Blast::FixedBitmap::requiredMemorySize (uint32_t  bitsCount  )  [inline, static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Nv::Blast::FixedBitmap::reset (uint32_t  index  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Nv::Blast::FixedBitmap::set (uint32_t  index  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
int Nv::Blast::FixedBitmap::test (uint32_t  index  )  const [inline]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array-members.html new file mode 100644 index 0000000..9f1f916 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array-members.html @@ -0,0 +1,37 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::FixedBoolArray Member List

This is the complete list of members for Nv::Blast::FixedBoolArray, including all inherited members.

+ + + + + + + +
clear()Nv::Blast::FixedBoolArray [inline]
fill()Nv::Blast::FixedBoolArray [inline]
FixedBoolArray(uint32_t size)Nv::Blast::FixedBoolArray [inline, explicit]
requiredMemorySize(uint32_t size)Nv::Blast::FixedBoolArray [inline, static]
reset(uint32_t index)Nv::Blast::FixedBoolArray [inline]
set(uint32_t index)Nv::Blast::FixedBoolArray [inline]
test(uint32_t index) const Nv::Blast::FixedBoolArray [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array.html new file mode 100644 index 0000000..c4e9eae --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array.html @@ -0,0 +1,203 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::FixedBoolArray Class Reference + + + + + + + + +
+

Nv::Blast::FixedBoolArray Class Reference

#include <NvBlastFixedBoolArray.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + +

Public Member Functions

void clear ()
void fill ()
 FixedBoolArray (uint32_t size)
void reset (uint32_t index)
void set (uint32_t index)
int test (uint32_t index) const

Static Public Member Functions

static size_t requiredMemorySize (uint32_t size)
+


Detailed Description

+FixedBoolArray is an array of bools of fixed size, it's intended to be used with placement new on chunk of memory. It'll use following memory for data layout. As follows:

+some memory char ​*buf = new char[64 *​ 1024];

+const uint32_t size = 100;

+placement new on this memory FixedBoolArray* arr = new (buf) FixedBoolArray(size);

+you can get max requiredMemorySize by an bitMap to use memory left buf = buf + FixedBoolArray<SomeClass>::requiredMemorySize(size);

+buf:

++------------------------------------------------------------+ | uint32_t | bool0 | bool1 | bool2 | ... | +------------------------------------------------------------+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + +
Nv::Blast::FixedBoolArray::FixedBoolArray (uint32_t  size  )  [inline, explicit]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
void Nv::Blast::FixedBoolArray::clear (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
void Nv::Blast::FixedBoolArray::fill (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static size_t Nv::Blast::FixedBoolArray::requiredMemorySize (uint32_t  size  )  [inline, static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Nv::Blast::FixedBoolArray::reset (uint32_t  index  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Nv::Blast::FixedBoolArray::set (uint32_t  index  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
int Nv::Blast::FixedBoolArray::test (uint32_t  index  )  const [inline]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue-members.html new file mode 100644 index 0000000..d2eba02 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue-members.html @@ -0,0 +1,41 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::FixedPriorityQueue< Element, Comparator > Member List

This is the complete list of members for Nv::Blast::FixedPriorityQueue< Element, Comparator >, including all inherited members.

+ + + + + + + + + + + +
clear()Nv::Blast::FixedPriorityQueue< Element, Comparator > [inline]
empty() const Nv::Blast::FixedPriorityQueue< Element, Comparator > [inline]
FixedPriorityQueue(const Comparator &less=Comparator())Nv::Blast::FixedPriorityQueue< Element, Comparator > [inline]
pop()Nv::Blast::FixedPriorityQueue< Element, Comparator > [inline]
push(const Element &value)Nv::Blast::FixedPriorityQueue< Element, Comparator > [inline]
requiredMemorySize(uint32_t capacity)Nv::Blast::FixedPriorityQueue< Element, Comparator > [inline, static]
size() const Nv::Blast::FixedPriorityQueue< Element, Comparator > [inline]
top() const Nv::Blast::FixedPriorityQueue< Element, Comparator > [inline]
top()Nv::Blast::FixedPriorityQueue< Element, Comparator > [inline]
valid() const Nv::Blast::FixedPriorityQueue< Element, Comparator > [inline]
~FixedPriorityQueue()Nv::Blast::FixedPriorityQueue< Element, Comparator > [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue.html new file mode 100644 index 0000000..7ab8a7d --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue.html @@ -0,0 +1,327 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::FixedPriorityQueue< Element, Comparator > Class Template Reference + + + + + + + + +
+

Nv::Blast::FixedPriorityQueue< Element, Comparator > Class Template Reference

#include <NvBlastFixedPriorityQueue.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

void clear ()
 Empty the priority queue.
bool empty () const
 Check to whether the priority queue is empty.
 FixedPriorityQueue (const Comparator &less=Comparator())
Element pop ()
 Delete the highest priority element. Only valid when non-empty.
void push (const Element &value)
 Insert a new element into the priority queue. Only valid when size() is less than Capacity.
uint32_t size () const
 Return number of elements in the priority queue.
Element top ()
 Get the element with the highest priority.
const Element top () const
 Get the element with the highest priority.
bool valid () const
 Make sure the priority queue sort all elements correctly.
 ~FixedPriorityQueue ()

Static Public Member Functions

static size_t requiredMemorySize (uint32_t capacity)
+

template<class Element, class Comparator = Less<Element>>
+ class Nv::Blast::FixedPriorityQueue< Element, Comparator >

+ +

Constructor & Destructor Documentation

+ +
+
+
+template<class Element , class Comparator = Less<Element>>
+ + + + + + + + + +
Nv::Blast::FixedPriorityQueue< Element, Comparator >::FixedPriorityQueue (const Comparator &  less = Comparator()  )  [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<class Element , class Comparator = Less<Element>>
+ + + + + + + + +
Nv::Blast::FixedPriorityQueue< Element, Comparator >::~FixedPriorityQueue (  )  [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+
+template<class Element , class Comparator = Less<Element>>
+ + + + + + + + +
void Nv::Blast::FixedPriorityQueue< Element, Comparator >::clear (  )  [inline]
+
+
+ +

+Empty the priority queue. +

+ +

+

+ +

+
+
+template<class Element , class Comparator = Less<Element>>
+ + + + + + + + +
bool Nv::Blast::FixedPriorityQueue< Element, Comparator >::empty (  )  const [inline]
+
+
+ +

+Check to whether the priority queue is empty. +

+ +

+

+ +

+
+
+template<class Element , class Comparator = Less<Element>>
+ + + + + + + + +
Element Nv::Blast::FixedPriorityQueue< Element, Comparator >::pop (  )  [inline]
+
+
+ +

+Delete the highest priority element. Only valid when non-empty. +

+ +

+

+ +

+
+
+template<class Element , class Comparator = Less<Element>>
+ + + + + + + + + +
void Nv::Blast::FixedPriorityQueue< Element, Comparator >::push (const Element &  value  )  [inline]
+
+
+ +

+Insert a new element into the priority queue. Only valid when size() is less than Capacity. +

+ +

+

+ +

+
+
+template<class Element , class Comparator = Less<Element>>
+ + + + + + + + + +
static size_t Nv::Blast::FixedPriorityQueue< Element, Comparator >::requiredMemorySize (uint32_t  capacity  )  [inline, static]
+
+
+ +

+ +

+

+ +

+
+
+template<class Element , class Comparator = Less<Element>>
+ + + + + + + + +
uint32_t Nv::Blast::FixedPriorityQueue< Element, Comparator >::size (  )  const [inline]
+
+
+ +

+Return number of elements in the priority queue. +

+ +

+

+ +

+
+
+template<class Element , class Comparator = Less<Element>>
+ + + + + + + + +
Element Nv::Blast::FixedPriorityQueue< Element, Comparator >::top (  )  [inline]
+
+
+ +

+Get the element with the highest priority. +

+ +

+

+ +

+
+
+template<class Element , class Comparator = Less<Element>>
+ + + + + + + + +
const Element Nv::Blast::FixedPriorityQueue< Element, Comparator >::top (  )  const [inline]
+
+
+ +

+Get the element with the highest priority. +

+ +

+

+ +

+
+
+template<class Element , class Comparator = Less<Element>>
+ + + + + + + + +
bool Nv::Blast::FixedPriorityQueue< Element, Comparator >::valid (  )  const [inline]
+
+
+ +

+Make sure the priority queue sort all elements correctly. +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html new file mode 100644 index 0000000..6798841 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html @@ -0,0 +1,62 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::FractureTool Member List

This is the complete list of members for Nv::Blast::FractureTool, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
applyNoise(float amplitude, float frequency, int32_t octaves, float falloff, int32_t relaxIterations, float relaxFactor, int32_t seed=0)Nv::Blast::FractureTool
finalizeFracturing()Nv::Blast::FractureTool
FractureTool(NvBlastLog logCallback=nullptr)Nv::Blast::FractureTool [inline]
getBaseMesh(int32_t chunkIndex, std::vector< Triangle > &output)Nv::Blast::FractureTool
getBufferedBaseMeshes(std::vector< Vertex > &vertexBuffer, std::vector< std::vector< uint32_t > > &indexBuffer)Nv::Blast::FractureTool
getBufferedNoiseMeshes(std::vector< Vertex > &vertexBuffer, std::vector< std::vector< uint32_t > > &indexBuffer)Nv::Blast::FractureTool
getChunkDepth(int32_t chunkId)Nv::Blast::FractureTool
getChunkId(int32_t chunkIndex)Nv::Blast::FractureTool
getChunkIndex(int32_t chunkId)Nv::Blast::FractureTool
getChunkList()Nv::Blast::FractureTool
getChunkMesh(int32_t chunkId)Nv::Blast::FractureTool
getChunksIdAtDepth(uint32_t depth)Nv::Blast::FractureTool
getMeshOverlap(Mesh &meshA, Mesh &meshB)Nv::Blast::FractureTool [static]
getNoisedMesh(int32_t chunkIndex, std::vector< Triangle > &output)Nv::Blast::FractureTool
getTransformation(physx::PxVec3 &offset, float &scale)Nv::Blast::FractureTool
islandDetectionAndRemoving(int32_t chunkId)Nv::Blast::FractureTool
mChunkDataNv::Blast::FractureTool [protected]
mChunkIdCounterNv::Blast::FractureTool [protected]
mChunkPostprocessorsNv::Blast::FractureTool [protected]
mLoggingCallbackNv::Blast::FractureTool [protected]
mOffsetNv::Blast::FractureTool [protected]
mPlaneIndexerOffsetNv::Blast::FractureTool [protected]
mRemoveIslandsNv::Blast::FractureTool [protected]
mScaleFactorNv::Blast::FractureTool [protected]
reset()Nv::Blast::FractureTool
setRemoveIslands(bool isRemoveIslands)Nv::Blast::FractureTool
setSourceMesh(Mesh *mesh)Nv::Blast::FractureTool
slicing(uint32_t chunkId, SlicingConfiguration conf, bool replaceChunk, RandomGeneratorBase *rnd)Nv::Blast::FractureTool
tesselate(float averageEdgeLength)Nv::Blast::FractureTool
voronoiFracturing(uint32_t chunkId, const std::vector< physx::PxVec3 > &cellPoints, bool replaceChunk)Nv::Blast::FractureTool
voronoiFracturing(uint32_t chunkId, const std::vector< physx::PxVec3 > &cellPoints, const physx::PxVec3 &scale, bool replaceChunk)Nv::Blast::FractureTool
~FractureTool()Nv::Blast::FractureTool [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html new file mode 100644 index 0000000..20efbd0 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html @@ -0,0 +1,966 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::FractureTool Class Reference + + + + + + + + +
+

Nv::Blast::FractureTool Class Reference

#include <NvBlastExtAuthoringFractureTool.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

void applyNoise (float amplitude, float frequency, int32_t octaves, float falloff, int32_t relaxIterations, float relaxFactor, int32_t seed=0)
void finalizeFracturing ()
 FractureTool (NvBlastLog logCallback=nullptr)
void getBaseMesh (int32_t chunkIndex, std::vector< Triangle > &output)
void getBufferedBaseMeshes (std::vector< Vertex > &vertexBuffer, std::vector< std::vector< uint32_t > > &indexBuffer)
void getBufferedNoiseMeshes (std::vector< Vertex > &vertexBuffer, std::vector< std::vector< uint32_t > > &indexBuffer)
int32_t getChunkDepth (int32_t chunkId)
int32_t getChunkId (int32_t chunkIndex)
int32_t getChunkIndex (int32_t chunkId)
const std::vector< ChunkInfo > & getChunkList ()
Mesh getChunkMesh (int32_t chunkId)
std::vector< int32_t > getChunksIdAtDepth (uint32_t depth)
void getNoisedMesh (int32_t chunkIndex, std::vector< Triangle > &output)
void getTransformation (physx::PxVec3 &offset, float &scale)
int32_t islandDetectionAndRemoving (int32_t chunkId)
void reset ()
void setRemoveIslands (bool isRemoveIslands)
void setSourceMesh (Mesh *mesh)
int32_t slicing (uint32_t chunkId, SlicingConfiguration conf, bool replaceChunk, RandomGeneratorBase *rnd)
void tesselate (float averageEdgeLength)
int32_t voronoiFracturing (uint32_t chunkId, const std::vector< physx::PxVec3 > &cellPoints, const physx::PxVec3 &scale, bool replaceChunk)
int32_t voronoiFracturing (uint32_t chunkId, const std::vector< physx::PxVec3 > &cellPoints, bool replaceChunk)
 ~FractureTool ()

Static Public Member Functions

static float getMeshOverlap (Mesh &meshA, Mesh &meshB)

Protected Attributes

std::vector< ChunkInfomChunkData
int32_t mChunkIdCounter
std::vector< ChunkPostProcessor * > mChunkPostprocessors
NvBlastLog mLoggingCallback
physx::PxVec3 mOffset
int32_t mPlaneIndexerOffset
bool mRemoveIslands
float mScaleFactor
+


Detailed Description

+FractureTool class provides methods to fracture provided mesh and generate Blast asset data

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + +
Nv::Blast::FractureTool::FractureTool (NvBlastLog  logCallback = nullptr  )  [inline]
+
+
+ +

+FractureTool can log asset creation info if logCallback is provided. +

+

+ +

+
+ + + + + + + + +
Nv::Blast::FractureTool::~FractureTool (  )  [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void Nv::Blast::FractureTool::applyNoise (float  amplitude,
float  frequency,
int32_t  octaves,
float  falloff,
int32_t  relaxIterations,
float  relaxFactor,
int32_t  seed = 0 
)
+
+
+ +

+Apply noise to interior surfaces. Must be called only after tesselation!

Parameters:
+ + + + + + + + +
[in] amplitude Amplitude of noise
[in] frequency Frequency of noise
[in] octaves Number of noise octaves
[in] falloff - damping of noise around of external surface
[in] relaxIterations - number of smoothing iterations before applying noise
[in] relaxFactor - amount of smoothing before applying noise.
[in] seed Random seed value
+
+ +
+

+ +

+
+ + + + + + + + +
void Nv::Blast::FractureTool::finalizeFracturing (  ) 
+
+
+ +

+Creates resulting fractured mesh geometry from intermediate format +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void Nv::Blast::FractureTool::getBaseMesh (int32_t  chunkIndex,
std::vector< Triangle > &  output 
)
+
+
+ +

+Get chunk base mesh

Parameters:
+ + + +
[in] chunkIndex Chunk index
[out] output Array of triangles to be filled
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void Nv::Blast::FractureTool::getBufferedBaseMeshes (std::vector< Vertex > &  vertexBuffer,
std::vector< std::vector< uint32_t > > &  indexBuffer 
)
+
+
+ +

+Get result geometry without noise as vertex and index buffers, where index buffers contain series of triplets which represent triangles.

Parameters:
+ + + +
[out] vertexBuffer Array of vertices to be filled
[out] indexBuffer Array of arrays of indices to be filled
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void Nv::Blast::FractureTool::getBufferedNoiseMeshes (std::vector< Vertex > &  vertexBuffer,
std::vector< std::vector< uint32_t > > &  indexBuffer 
)
+
+
+ +

+Get result geometry after tesselation and application of noise as vertex and index buffers, where index buffers contain series of triplets which represent triangles.

Parameters:
+ + + +
[out] vertexBuffer Array of vertices to be filled
[out] indexBuffer Array of arrays of indices to be filled
+
+ +
+

+ +

+
+ + + + + + + + + +
int32_t Nv::Blast::FractureTool::getChunkDepth (int32_t  chunkId  ) 
+
+
+ +

+Return depth level of the given chunk

Parameters:
+ + +
[in] chunkId Chunk ID
+
+
Returns:
Chunk depth or -1 if there is no such chunk.
+ +
+

+ +

+
+ + + + + + + + + +
int32_t Nv::Blast::FractureTool::getChunkId (int32_t  chunkIndex  ) 
+
+
+ +

+Return id of chunk with specified index.

Parameters:
+ + +
[in] chunkIndex Chunk index
+
+
Returns:
Chunk id or -1 if there is no such chunk.
+ +
+

+ +

+
+ + + + + + + + + +
int32_t Nv::Blast::FractureTool::getChunkIndex (int32_t  chunkId  ) 
+
+
+ +

+Return index of chunk with specified chunkId

Parameters:
+ + +
[in] chunkId Chunk ID
+
+
Returns:
Chunk index in internal buffer, if not exist -1 is returned.
+ +
+

+ +

+
+ + + + + + + + +
const std::vector<ChunkInfo>& Nv::Blast::FractureTool::getChunkList (  ) 
+
+
+ +

+Get chunk information +

+

+ +

+
+ + + + + + + + + +
Mesh Nv::Blast::FractureTool::getChunkMesh (int32_t  chunkId  ) 
+
+
+ +

+Get chunk mesh in polygonal representation +

+

+ +

+
+ + + + + + + + + +
std::vector<int32_t> Nv::Blast::FractureTool::getChunksIdAtDepth (uint32_t  depth  ) 
+
+
+ +

+Return array of chunks IDs with given depth.

Parameters:
+ + +
[in] depth Chunk depth
+
+
Returns:
Array of chunk IDs
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static float Nv::Blast::FractureTool::getMeshOverlap (Mesh meshA,
Mesh meshB 
) [static]
+
+
+ +

+Get percentage of mesh overlap. percentage computed as volume(intersection(meshA , meshB)) / volume (meshA)

Parameters:
+ + + +
[in] meshA Mesh A
[in] meshB Mesh B
+
+
Returns:
mesh overlap percentage
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void Nv::Blast::FractureTool::getNoisedMesh (int32_t  chunkIndex,
std::vector< Triangle > &  output 
)
+
+
+ +

+Get chunk mesh with noise

Parameters:
+ + + +
[in] chunkIndex Chunk index
[out] output Array of triangles to be filled
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void Nv::Blast::FractureTool::getTransformation (physx::PxVec3 &  offset,
float &  scale 
)
+
+
+ +

+Input mesh is scaled and transformed internally to fit unit cube centered in origin. Method provides offset vector and scale parameter; +

+

+ +

+
+ + + + + + + + + +
int32_t Nv::Blast::FractureTool::islandDetectionAndRemoving (int32_t  chunkId  ) 
+
+
+ +

+Try find islands and remove them on some specifical chunk. If chunk has childs, island removing can lead to wrong results! Apply it before further chunk splitting.

Parameters:
+ + +
[in] chunkId Chunk ID which should be checked for islands
+
+
Returns:
Number of found islands is returned
+ +
+

+ +

+
+ + + + + + + + +
void Nv::Blast::FractureTool::reset (  ) 
+
+
+ +

+Reset FractureTool state. +

+

+ +

+
+ + + + + + + + + +
void Nv::Blast::FractureTool::setRemoveIslands (bool  isRemoveIslands  ) 
+
+
+ +

+Set automatic islands removing. May cause instabilities.

Parameters:
+ + +
[in] isRemoveIslands Flag whether remove or not islands.
+
+ +
+

+ +

+
+ + + + + + + + + +
void Nv::Blast::FractureTool::setSourceMesh (Mesh mesh  ) 
+
+
+ +

+Set input mesh wich will be fractured, FractureTool will be reseted. +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t Nv::Blast::FractureTool::slicing (uint32_t  chunkId,
SlicingConfiguration  conf,
bool  replaceChunk,
RandomGeneratorBase rnd 
)
+
+
+ +

+Fractures specified chunk with slicing method.

Parameters:
+ + + + + +
[in] chunkId Chunk to fracture
[in] conf Slicing parameters, see SlicingConfiguration.
[in] replaceChunk if 'true', newly generated chunks will replace source chunk, if 'false', newly generated chunks will be at next depth level, source chunk will be parent for them. Case replaceChunk == true && chunkId == 0 considered as wrong input parameters
[in] rnd User supplied random number generator
+
+
Returns:
If 0, fracturing is successful.
+ +
+

+ +

+
+ + + + + + + + + +
void Nv::Blast::FractureTool::tesselate (float  averageEdgeLength  ) 
+
+
+ +

+Tesselate interior surfaces

Parameters:
+ + +
[in] averageEdgeLength - Average length of edge on internal surface.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t Nv::Blast::FractureTool::voronoiFracturing (uint32_t  chunkId,
const std::vector< physx::PxVec3 > &  cellPoints,
const physx::PxVec3 &  scale,
bool  replaceChunk 
)
+
+
+ +

+Fractures specified chunk with voronoi method. Cells can be scaled along x,y,z axes.

Parameters:
+ + + + + + +
[in] chunkId Chunk to fracture
[in] cellPoints Array of voronoi sites
[in] cellPoints Array of voronoi sites
[in] scale Voronoi cells scaling factor
[in] replaceChunk if 'true', newly generated chunks will replace source chunk, if 'false', newly generated chunks will be at next depth level, source chunk will be parent for them. Case replaceChunk == true && chunkId == 0 considered as wrong input parameters
+
+
Returns:
If 0, fracturing is successful.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int32_t Nv::Blast::FractureTool::voronoiFracturing (uint32_t  chunkId,
const std::vector< physx::PxVec3 > &  cellPoints,
bool  replaceChunk 
)
+
+
+ +

+Fractures specified chunk with voronoi method.

Parameters:
+ + + + +
[in] chunkId Chunk to fracture
[in] cellPoints Array of voronoi sites
[in] replaceChunk if 'true', newly generated chunks will replace source chunk, if 'false', newly generated chunks will be at next depth level, source chunk will be parent for them. Case replaceChunk == true && chunkId == 0 considered as wrong input parameters
+
+
Returns:
If 0, fracturing is successful.
+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<ChunkInfo> Nv::Blast::FractureTool::mChunkData [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
int32_t Nv::Blast::FractureTool::mChunkIdCounter [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
std::vector<ChunkPostProcessor*> Nv::Blast::FractureTool::mChunkPostprocessors [protected]
+
+
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+
+ + + + +
physx::PxVec3 Nv::Blast::FractureTool::mOffset [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
int32_t Nv::Blast::FractureTool::mPlaneIndexerOffset [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
bool Nv::Blast::FractureTool::mRemoveIslands [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
float Nv::Blast::FractureTool::mScaleFactor [protected]
+
+
+ +

+Mesh scaled to unite-cube and translated to the origin +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list-members.html new file mode 100644 index 0000000..7498f3d --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list-members.html @@ -0,0 +1,38 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::IndexDList< IndexType > Member List

This is the complete list of members for Nv::Blast::IndexDList< IndexType >, including all inherited members.

+ + + + + + + + +
getAdj(IndexDLink< IndexType > *links, IndexType linkIndex, int which)Nv::Blast::IndexDList< IndexType > [inline]
initLinksChain(IndexDLink< IndexType > *links, IndexType linkCount)Nv::Blast::IndexDList< IndexType > [inline]
initLinksSolitary(IndexDLink< IndexType > *links, IndexType linkCount)Nv::Blast::IndexDList< IndexType > [inline]
insertListHead(IndexType &listHead, IndexDLink< IndexType > *links, IndexType linkIndex)Nv::Blast::IndexDList< IndexType > [inline]
isSolitary(IndexDLink< IndexType > *links, IndexType linkIndex)Nv::Blast::IndexDList< IndexType > [inline]
remove(IndexDLink< IndexType > *links, IndexType linkIndex)Nv::Blast::IndexDList< IndexType > [inline]
removeFromList(IndexType &listHead, IndexDLink< IndexType > *links, IndexType linkIndex)Nv::Blast::IndexDList< IndexType > [inline]
removeListHead(IndexType &listHead, IndexDLink< IndexType > *links)Nv::Blast::IndexDList< IndexType > [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list.html new file mode 100644 index 0000000..b8b2c29 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list.html @@ -0,0 +1,327 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::IndexDList< IndexType > Class Template Reference + + + + + + + + +
+

Nv::Blast::IndexDList< IndexType > Class Template Reference

#include <NvBlastDLink.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + +

Public Member Functions

IndexType getAdj (IndexDLink< IndexType > *links, IndexType linkIndex, int which)
void initLinksChain (IndexDLink< IndexType > *links, IndexType linkCount)
void initLinksSolitary (IndexDLink< IndexType > *links, IndexType linkCount)
void insertListHead (IndexType &listHead, IndexDLink< IndexType > *links, IndexType linkIndex)
bool isSolitary (IndexDLink< IndexType > *links, IndexType linkIndex)
void remove (IndexDLink< IndexType > *links, IndexType linkIndex)
void removeFromList (IndexType &listHead, IndexDLink< IndexType > *links, IndexType linkIndex)
IndexType removeListHead (IndexType &listHead, IndexDLink< IndexType > *links)
+

template<typename IndexType>
+ class Nv::Blast::IndexDList< IndexType >

+ +

Member Function Documentation

+ +
+
+
+template<typename IndexType >
+ + + + + + + + + + + + + + + + + + + + + + + + +
IndexType Nv::Blast::IndexDList< IndexType >::getAdj (IndexDLink< IndexType > *  links,
IndexType  linkIndex,
int  which 
) [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<typename IndexType >
+ + + + + + + + + + + + + + + + + + +
void Nv::Blast::IndexDList< IndexType >::initLinksChain (IndexDLink< IndexType > *  links,
IndexType  linkCount 
) [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<typename IndexType >
+ + + + + + + + + + + + + + + + + + +
void Nv::Blast::IndexDList< IndexType >::initLinksSolitary (IndexDLink< IndexType > *  links,
IndexType  linkCount 
) [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<typename IndexType >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Nv::Blast::IndexDList< IndexType >::insertListHead (IndexType &  listHead,
IndexDLink< IndexType > *  links,
IndexType  linkIndex 
) [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<typename IndexType >
+ + + + + + + + + + + + + + + + + + +
bool Nv::Blast::IndexDList< IndexType >::isSolitary (IndexDLink< IndexType > *  links,
IndexType  linkIndex 
) [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<typename IndexType >
+ + + + + + + + + + + + + + + + + + +
void Nv::Blast::IndexDList< IndexType >::remove (IndexDLink< IndexType > *  links,
IndexType  linkIndex 
) [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<typename IndexType >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Nv::Blast::IndexDList< IndexType >::removeFromList (IndexType &  listHead,
IndexDLink< IndexType > *  links,
IndexType  linkIndex 
) [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<typename IndexType >
+ + + + + + + + + + + + + + + + + + +
IndexType Nv::Blast::IndexDList< IndexType >::removeListHead (IndexType &  listHead,
IndexDLink< IndexType > *  links 
) [inline]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base-members.html new file mode 100644 index 0000000..6a67c18 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::IteratorBase< T > Member List

This is the complete list of members for Nv::Blast::IteratorBase< T >, including all inherited members.

+ + + + +
IteratorBase(T curr)Nv::Blast::IteratorBase< T > [inline]
m_currNv::Blast::IteratorBase< T > [protected]
operator bool() const Nv::Blast::IteratorBase< T > [inline]
operator T() const Nv::Blast::IteratorBase< T > [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base.html new file mode 100644 index 0000000..062f602 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base.html @@ -0,0 +1,138 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::IteratorBase< T > Class Template Reference + + + + + + + + +
+

Nv::Blast::IteratorBase< T > Class Template Reference

#include <NvBlastIteratorBase.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Member Functions

 IteratorBase (T curr)
 operator bool () const
 operator T () const

Protected Attributes

m_curr
+


Detailed Description

+

template<typename T>
+ class Nv::Blast::IteratorBase< T >

+ +Common functionality and implementation for iterators over an index, using invalidIndex<T>() to indicate termination. Derived class needs to implement increment operators.

Constructor & Destructor Documentation

+ +
+
+
+template<typename T>
+ + + + + + + + + +
NV_INLINE Nv::Blast::IteratorBase< T >::IteratorBase ( curr  )  [inline]
+
+
+ +

+Constructor sets m_curr value +

+

+


Member Function Documentation

+ +
+
+
+template<typename T >
+ + + + + + + + +
NV_INLINE Nv::Blast::IteratorBase< T >::operator bool (  )  const [inline]
+
+
+ +

+Validity of current value. +

+

+ +

+
+
+template<typename T >
+ + + + + + + + +
NV_INLINE Nv::Blast::IteratorBase< T >::operator T (  )  const [inline]
+
+
+ +

+Current value. +

+

+


Member Data Documentation

+ +
+
+
+template<typename T>
+ + + + +
T Nv::Blast::IteratorBase< T >::m_curr [protected]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it-members.html new file mode 100644 index 0000000..378003f --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it-members.html @@ -0,0 +1,37 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::LListIt< IndexType > Member List

This is the complete list of members for Nv::Blast::LListIt< IndexType >, including all inherited members.

+ + + + + + + +
IteratorBase(IndexTypecurr)Nv::Blast::IteratorBase< IndexType >
LListIt(IndexType curr, IndexType *links)Nv::Blast::LListIt< IndexType > [inline]
m_currNv::Blast::IteratorBase< IndexType > [protected]
m_linksNv::Blast::LListIt< IndexType > [protected]
operator bool() constNv::Blast::IteratorBase< IndexType >
operator IndexType() constNv::Blast::IteratorBase< IndexType >
operator++()Nv::Blast::LListIt< IndexType > [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.html new file mode 100644 index 0000000..bcf4afd --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.html @@ -0,0 +1,133 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::LListIt< IndexType > Class Template Reference + + + + + + + + +
+

Nv::Blast::LListIt< IndexType > Class Template Reference

#include <NvBlastIteratorBase.h> +

+

+Inheritance diagram for Nv::Blast::LListIt< IndexType >:
+
+ +

+ +Nv::Blast::IteratorBase< IndexType > + +
+ +

+List of all members. + + + + + + + + + +

Public Member Functions

 LListIt (IndexType curr, IndexType *links)
uint32_t operator++ ()

Protected Attributes

IndexType * m_links
+


Detailed Description

+

template<typename IndexType>
+ class Nv::Blast::LListIt< IndexType >

+ +Common functionality and implementation for an indexed linked list iterator

Constructor & Destructor Documentation

+ +
+
+
+template<typename IndexType >
+ + + + + + + + + + + + + + + + + + +
NV_INLINE Nv::Blast::LListIt< IndexType >::LListIt (IndexType  curr,
IndexType *  links 
) [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+
+template<typename IndexType >
+ + + + + + + + +
NV_INLINE uint32_t Nv::Blast::LListIt< IndexType >::operator++ (  )  [inline]
+
+
+ +

+Pre-increment. Only use if valid() == true. +

+

+


Member Data Documentation

+ +
+
+
+template<typename IndexType >
+ + + + +
IndexType* Nv::Blast::LListIt< IndexType >::m_links [protected]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.png new file mode 100644 index 0000000..3dc898f Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh-members.html new file mode 100644 index 0000000..f3c44ce --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh-members.html @@ -0,0 +1,44 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::Mesh Member List

This is the complete list of members for Nv::Blast::Mesh, including all inherited members.

+ + + + + + + + + + + + + + +
getBoundingBox()Nv::Blast::Mesh
getEdges()Nv::Blast::Mesh
getEdgesCount()Nv::Blast::Mesh
getFacet(int32_t facet)Nv::Blast::Mesh
getFacetCount()Nv::Blast::Mesh
getFacetsBuffer()Nv::Blast::Mesh
getMeshVolume()Nv::Blast::Mesh
getVertices()Nv::Blast::Mesh
getVerticesCount()Nv::Blast::Mesh
isValid()Nv::Blast::Mesh
Mesh(physx::PxVec3 *position, physx::PxVec3 *normals, physx::PxVec2 *uv, uint32_t verticesCount, uint32_t *indices, uint32_t indicesCount)Nv::Blast::Mesh
Mesh(Vertex *vertices, Edge *edges, Facet *facets, uint32_t posCount, uint32_t edgesCount, uint32_t facetsCount)Nv::Blast::Mesh
recalculateBoundingBox()Nv::Blast::Mesh
~Mesh()Nv::Blast::Mesh

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh.html new file mode 100644 index 0000000..161998c --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh.html @@ -0,0 +1,427 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::Mesh Class Reference + + + + + + + + +
+

Nv::Blast::Mesh Class Reference

#include <NvBlastExtAuthoringMesh.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

physx::PxBounds3 & getBoundingBox ()
EdgegetEdges ()
uint32_t getEdgesCount ()
FacetgetFacet (int32_t facet)
uint32_t getFacetCount ()
FacetgetFacetsBuffer ()
float getMeshVolume ()
VertexgetVertices ()
uint32_t getVerticesCount ()
bool isValid ()
 Mesh (Vertex *vertices, Edge *edges, Facet *facets, uint32_t posCount, uint32_t edgesCount, uint32_t facetsCount)
 Mesh (physx::PxVec3 *position, physx::PxVec3 *normals, physx::PxVec2 *uv, uint32_t verticesCount, uint32_t *indices, uint32_t indicesCount)
void recalculateBoundingBox ()
 ~Mesh ()
+


Detailed Description

+Class for internal mesh representation

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nv::Blast::Mesh::Mesh (physx::PxVec3 *  position,
physx::PxVec3 *  normals,
physx::PxVec2 *  uv,
uint32_t  verticesCount,
uint32_t *  indices,
uint32_t  indicesCount 
)
+
+
+ +

+Constructs mesh object from array of triangles.

Parameters:
+ + + + + + + +
[in] position Array of vertex positions
[in] normals Array of vertex normals
[in] uv Array of vertex uv coordinates
[in] verticesCount Vertices count
[in] indices Array of vertex indices. Indices contain vertex index triplets which form a mesh triangle.
[in] indicesCount Indices count (should be equal to numberOfTriangles * 3)
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nv::Blast::Mesh::Mesh (Vertex vertices,
Edge edges,
Facet facets,
uint32_t  posCount,
uint32_t  edgesCount,
uint32_t  facetsCount 
)
+
+
+ +

+Constructs mesh object from array of facets.

Parameters:
+ + + + + + + +
[in] vertices Array of vertices
[in] edges Array of edges
[in] facets Array of facets
[in] posCount Vertices count
[in] edgesCount Edges count
[in] facetsCount Facets count
+
+ +
+

+ +

+
+ + + + + + + + +
Nv::Blast::Mesh::~Mesh (  ) 
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
physx::PxBounds3& Nv::Blast::Mesh::getBoundingBox (  ) 
+
+
+ +

+Return reference on mesh bounding box. +

+

+ +

+
+ + + + + + + + +
Edge* Nv::Blast::Mesh::getEdges (  ) 
+
+
+ +

+Return pointer on edges array +

+

+ +

+
+ + + + + + + + +
uint32_t Nv::Blast::Mesh::getEdgesCount (  ) 
+
+
+ +

+Return edges count +

+

+ +

+
+ + + + + + + + + +
Facet* Nv::Blast::Mesh::getFacet (int32_t  facet  ) 
+
+
+ +

+Return pointer on specified facet +

+

+ +

+
+ + + + + + + + +
uint32_t Nv::Blast::Mesh::getFacetCount (  ) 
+
+
+ +

+Return facet count +

+

+ +

+
+ + + + + + + + +
Facet* Nv::Blast::Mesh::getFacetsBuffer (  ) 
+
+
+ +

+Return pointer on facets array +

+

+ +

+
+ + + + + + + + +
float Nv::Blast::Mesh::getMeshVolume (  ) 
+
+
+ +

+Compute mesh volume. Can be used only for triangulated meshes. Return mesh volume. If mesh is not triangulated return 0. +

+

+ +

+
+ + + + + + + + +
Vertex* Nv::Blast::Mesh::getVertices (  ) 
+
+
+ +

+Return pointer on vertices array +

+

+ +

+
+ + + + + + + + +
uint32_t Nv::Blast::Mesh::getVerticesCount (  ) 
+
+
+ +

+Return vertices count +

+

+ +

+
+ + + + + + + + +
bool Nv::Blast::Mesh::isValid (  ) 
+
+
+ +

+Return true if mesh is valid +

+

+ +

+
+ + + + + + + + +
void Nv::Blast::Mesh::recalculateBoundingBox (  ) 
+
+
+ +

+Recalculate bounding box +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_random_generator_base-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_random_generator_base-members.html new file mode 100644 index 0000000..cf712a8 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_random_generator_base-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::RandomGeneratorBase Member List

This is the complete list of members for Nv::Blast::RandomGeneratorBase, including all inherited members.

+ + + +
getRandomValue()=0Nv::Blast::RandomGeneratorBase [pure virtual]
seed(int32_t seed)=0Nv::Blast::RandomGeneratorBase [pure virtual]
~RandomGeneratorBase()Nv::Blast::RandomGeneratorBase [inline, virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_random_generator_base.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_random_generator_base.html new file mode 100644 index 0000000..aeb09b1 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_random_generator_base.html @@ -0,0 +1,108 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::RandomGeneratorBase Class Reference + + + + + + + + +
+

Nv::Blast::RandomGeneratorBase Class Reference

#include <NvBlastExtAuthoringTypes.h> +

+ +

+List of all members. + + + + + + + + +

Public Member Functions

virtual float getRandomValue ()=0
virtual void seed (int32_t seed)=0
virtual ~RandomGeneratorBase ()
+


Detailed Description

+Abstract base class for user-defined random value generator.

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
virtual Nv::Blast::RandomGeneratorBase::~RandomGeneratorBase (  )  [inline, virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
virtual float Nv::Blast::RandomGeneratorBase::getRandomValue (  )  [pure virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::RandomGeneratorBase::seed (int32_t  seed  )  [pure virtual]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_time-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_time-members.html new file mode 100644 index 0000000..b1da144 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_time-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::Time Member List

This is the complete list of members for Nv::Blast::Time, including all inherited members.

+ + + + + +
getElapsedTicks()Nv::Blast::Time [inline]
getLastTickCount() const Nv::Blast::Time [inline]
peekElapsedTicks() const Nv::Blast::Time [inline]
seconds(int64_t ticks)Nv::Blast::Time [inline, static]
Time()Nv::Blast::Time [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_time.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_time.html new file mode 100644 index 0000000..e786027 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_time.html @@ -0,0 +1,150 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::Time Class Reference + + + + + + + + +
+

Nv::Blast::Time Class Reference

#include <NvBlastTime.h> +

+ +

+List of all members. + + + + + + + + + + + + + +

Public Member Functions

int64_t getElapsedTicks ()
int64_t getLastTickCount () const
int64_t peekElapsedTicks () const
 Time ()

Static Public Member Functions

static double seconds (int64_t ticks)
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::Time::Time (  )  [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int64_t Nv::Blast::Time::getElapsedTicks (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int64_t Nv::Blast::Time::getLastTickCount (  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int64_t Nv::Blast::Time::peekElapsedTicks (  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static double Nv::Blast::Time::seconds (int64_t  ticks  )  [inline, static]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor-members.html new file mode 100644 index 0000000..f6f4419 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor-members.html @@ -0,0 +1,54 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkActor Member List

This is the complete list of members for Nv::Blast::TkActor, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
applyFracture(NvBlastFractureBuffers *eventBuffers, const NvBlastFractureBuffers *commands)=0Nv::Blast::TkActor [pure virtual]
damage(const NvBlastDamageProgram &program, const NvBlastProgramParams *programParams)=0Nv::Blast::TkActor [pure virtual]
damage(const NvBlastDamageProgram &program, const void *damageDesc, uint32_t descSize)=0Nv::Blast::TkActor [pure virtual]
damage(const NvBlastDamageProgram &program, const void *damageDesc, uint32_t descSize, const void *material)=0Nv::Blast::TkActor [pure virtual]
generateFracture(NvBlastFractureBuffers *commands, const NvBlastDamageProgram &program, const NvBlastProgramParams *programParams) const =0Nv::Blast::TkActor [pure virtual]
getActorLL() const =0Nv::Blast::TkActor [pure virtual]
getAsset() const =0Nv::Blast::TkActor [pure virtual]
getBondHealths() const =0Nv::Blast::TkActor [pure virtual]
getFamily() const =0Nv::Blast::TkActor [pure virtual]
getGraphNodeCount() const =0Nv::Blast::TkActor [pure virtual]
getGraphNodeIndices(uint32_t *graphNodeIndices, uint32_t graphNodeIndicesSize) const =0Nv::Blast::TkActor [pure virtual]
getGroup() const =0Nv::Blast::TkActor [pure virtual]
getIndex() const =0Nv::Blast::TkActor [pure virtual]
getJointCount() const =0Nv::Blast::TkActor [pure virtual]
getJoints(TkJoint **joints, uint32_t jointsSize) const =0Nv::Blast::TkActor [pure virtual]
getSplitMaxActorCount() const =0Nv::Blast::TkActor [pure virtual]
getVisibleChunkCount() const =0Nv::Blast::TkActor [pure virtual]
getVisibleChunkIndices(uint32_t *visibleChunkIndices, uint32_t visibleChunkIndicesSize) const =0Nv::Blast::TkActor [pure virtual]
isPending() const =0Nv::Blast::TkActor [pure virtual]
release()=0Nv::Blast::TkObject [pure virtual]
removeFromGroup()=0Nv::Blast::TkActor [pure virtual]
TkObject()Nv::Blast::TkObject [inline]
userDataNv::Blast::TkObject
~TkObject()Nv::Blast::TkObject [inline, protected, virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.html new file mode 100644 index 0000000..95f1483 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.html @@ -0,0 +1,676 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkActor Class Reference + + + + + + + + +
+

Nv::Blast::TkActor Class Reference

#include <NvBlastTkActor.h> +

+

+Inheritance diagram for Nv::Blast::TkActor:
+
+ +

+ +Nv::Blast::TkObject + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

virtual void applyFracture (NvBlastFractureBuffers *eventBuffers, const NvBlastFractureBuffers *commands)=0
virtual void damage (const NvBlastDamageProgram &program, const void *damageDesc, uint32_t descSize, const void *material)=0
virtual void damage (const NvBlastDamageProgram &program, const void *damageDesc, uint32_t descSize)=0
virtual void damage (const NvBlastDamageProgram &program, const NvBlastProgramParams *programParams)=0
virtual void generateFracture (NvBlastFractureBuffers *commands, const NvBlastDamageProgram &program, const NvBlastProgramParams *programParams) const =0
virtual const NvBlastActorgetActorLL () const =0
virtual const TkAssetgetAsset () const =0
virtual const float * getBondHealths () const =0
virtual TkFamilygetFamily () const =0
virtual uint32_t getGraphNodeCount () const =0
virtual uint32_t getGraphNodeIndices (uint32_t *graphNodeIndices, uint32_t graphNodeIndicesSize) const =0
virtual TkGroupgetGroup () const =0
virtual uint32_t getIndex () const =0
virtual uint32_t getJointCount () const =0
virtual uint32_t getJoints (TkJoint **joints, uint32_t jointsSize) const =0
virtual uint32_t getSplitMaxActorCount () const =0
virtual uint32_t getVisibleChunkCount () const =0
virtual uint32_t getVisibleChunkIndices (uint32_t *visibleChunkIndices, uint32_t visibleChunkIndicesSize) const =0
virtual bool isPending () const =0
virtual TkGroupremoveFromGroup ()=0
+


Detailed Description

+The BlastTk entity which encapsulates an NvBlastActor. Every TkActor represents a group of chunks which may correspond to a single physical rigid body. TkActors are created using TkFramework::createActor.

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::TkActor::applyFracture (NvBlastFractureBuffers eventBuffers,
const NvBlastFractureBuffers commands 
) [pure virtual]
+
+
+ +

+Function applies the direct fracture and breaks graph bonds/edges as necessary. Sets actor in 'pending' state if any bonds or chunks were damaged. Dispatches FractureCommand events.

+NOTE: Calls NvBlastActorApplyFracture internally. see NvBlastActorApplyFracture for details.

+

Parameters:
+ + + +
[in,out] eventBuffers Target buffers to hold applied fracture events. May be NULL, in which case events are not reported. To avoid data loss, provide an entry for every lower-support chunk and every bond in the original actor.
[in] commands The fracture commands to process.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::TkActor::damage (const NvBlastDamageProgram program,
const void *  damageDesc,
uint32_t  descSize,
const void *  material 
) [pure virtual]
+
+
+ +

+Apply damage to this actor.

+Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.

+Damage Desc will be stacked into NvBlastDamageProgram. NvBlastDamageProgram will be passed into shader.

+This function overload explicitly sets a material to be passed into NvBlastProgramParams, it must be valid until the group sync() call.

+

Parameters:
+ + + + + +
[in] program A NvBlastDamageProgram containing damage shaders.
[in] damageDesc Parameters to be put in NvBlastDamageProgram, have to be POD type (will be copied).
[in] descSize Size of damageDesc in bytes. Required to copy and store Damage Desc.
[in] material Material to be passed into NvBlastProgramParams. Must be valid until the group sync() call.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::TkActor::damage (const NvBlastDamageProgram program,
const void *  damageDesc,
uint32_t  descSize 
) [pure virtual]
+
+
+ +

+Apply damage to this actor.

+Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.

+Damage Desc will be stacked into NvBlastProgramParams. NvBlastProgramParams will be passed into shader.

+Material set on actor's family will be passed into NvBlastProgramParams.

+

Parameters:
+ + + + +
[in] program A NvBlastDamageProgram containing damage shaders.
[in] damageDesc Parameters to be put in NvBlastProgramParams, have to be POD type (will be copied).
[in] descSize Size of damageDesc in bytes. Required to copy and store Damage Desc.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::TkActor::damage (const NvBlastDamageProgram program,
const NvBlastProgramParams programParams 
) [pure virtual]
+
+
+ +

+Apply damage to this actor.

+Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.

+It's the user's responsibility to keep programParams pointer alive until the group sync() call.

+

Parameters:
+ + + +
[in] program A NvBlastDamageProgram containing damage shaders.
[in] programParams Parameters for the NvBlastDamageProgram.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::TkActor::generateFracture (NvBlastFractureBuffers commands,
const NvBlastDamageProgram program,
const NvBlastProgramParams programParams 
) const [pure virtual]
+
+
+ +

+Creates fracture commands for the actor using an NvBlastMaterialFunction.

+Cannot be called during group processing, in that case a warning will be raised and function will do nothing.

+NOTE: Wrapper function over low-level function call, see NvBlastActorGenerateFracture for details.

+

Parameters:
+ + + + +
[in,out] commands Target buffers to hold generated commands. To avoid data loss, provide an entry for every support chunk and every bond in the original actor.
[in] program A NvBlastDamageProgram containing damage shaders.
[in] programParams Parameters for the NvBlastDamageProgram.
+
+ +
+

+ +

+
+ + + + + + + + +
virtual const NvBlastActor* Nv::Blast::TkActor::getActorLL (  )  const [pure virtual]
+
+
+ +

+Access to underlying low-level actor.

+

Returns:
a pointer to the (const) low-level NvBlastActor object.
+ +
+

+ +

+
+ + + + + + + + +
virtual const TkAsset* Nv::Blast::TkActor::getAsset (  )  const [pure virtual]
+
+
+ +

+Every actor has an associated asset.

+

Returns:
a pointer to the (const) TkAsset object.
+ +
+

+ +

+
+ + + + + + + + +
virtual const float* Nv::Blast::TkActor::getBondHealths (  )  const [pure virtual]
+
+
+ +

+Access the bond health data for an actor.

+NOTE: Wrapper function over low-level function call, see NvBlastActorGetBondHealths for details.

+

Returns:
the array of bond healths for the actor's family, or NULL if the actor is invalid.
+ +
+

+ +

+
+ + + + + + + + +
virtual TkFamily& Nv::Blast::TkActor::getFamily (  )  const [pure virtual]
+
+
+ +

+Every actor is part of an actor family, even if that family contains a single actor. This function returns a reference to the actor's TkFamily.

+

Returns:
a pointer to the actor's TkFamily.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkActor::getGraphNodeCount (  )  const [pure virtual]
+
+
+ +

+Get the number of graph nodes for this actor. May be used in conjunction with getGraphNodeIndices.

+NOTE: Wrapper function over low-level function call, see NvBlastActorGetGraphNodeCount for details.

+

Returns:
the number of graph node indices for the actor.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual uint32_t Nv::Blast::TkActor::getGraphNodeIndices (uint32_t *  graphNodeIndices,
uint32_t  graphNodeIndicesSize 
) const [pure virtual]
+
+
+ +

+Retrieve a list of graph node indices for the actor into the given array.

+NOTE: Wrapper function over low-level function call, see NvBlastActorGetGraphNodeIndices for details.

+

Parameters:
+ + + +
[in] graphNodeIndices User-supplied array to be filled in with indices of graph nodes for this actor.
[in] graphNodeIndicesSize The size of the graphNodeIndices array. To receive all graph node indices, the size must be at least that given by getGraphNodeCount().
+
+
Returns:
the number of indices written to graphNodeIndices. This will not exceed graphNodeIndicesSize.
+ +
+

+ +

+
+ + + + + + + + +
virtual TkGroup* Nv::Blast::TkActor::getGroup (  )  const [pure virtual]
+
+
+ +

+Actors may be part of (no more than) one group. See TkGroup for the functions to add and remove actors. This function returns a pointer to the actor's group, or NULL if it is not in a group. +

+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkActor::getIndex (  )  const [pure virtual]
+
+
+ +

+Every actor has a unique index within a family. This function returns that index. +

+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkActor::getJointCount (  )  const [pure virtual]
+
+
+ +

+The number of joints currently attached to this actor.

+

Returns:
the number of TkJoints that are currently attached to this actor.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual uint32_t Nv::Blast::TkActor::getJoints (TkJoint **  joints,
uint32_t  jointsSize 
) const [pure virtual]
+
+
+ +

+Retrieve an array of pointers (into the user-supplied buffer) to joints.

+

Parameters:
+ + + +
[out] joints A user-supplied array of TkJoint pointers.
[in] jointsSize The number of elements available to write into the joints array.
+
+
Returns:
the number of TkJoint pointers written to the joints array.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkActor::getSplitMaxActorCount (  )  const [pure virtual]
+
+
+ +

+Returns the upper-bound number of actors which can be created by splitting this actor.

+NOTE: Wrapper function over low-level function call, see NvBlastActorGetMaxActorCountForSplit for details.

+

Returns:
the upper-bound number of actors which can be created by splitting this actor.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkActor::getVisibleChunkCount (  )  const [pure virtual]
+
+
+ +

+Get the number of visible chunks for this actor. May be used in conjunction with getVisibleChunkIndices.

+NOTE: Wrapper function over low-level function call, see NvBlastActorGetVisibleChunkCount for details.

+

Returns:
the number of visible chunk indices for the actor.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual uint32_t Nv::Blast::TkActor::getVisibleChunkIndices (uint32_t *  visibleChunkIndices,
uint32_t  visibleChunkIndicesSize 
) const [pure virtual]
+
+
+ +

+Retrieve a list of visible chunk indices for the actor into the given array.

+NOTE: Wrapper function over low-level function call, see NvBlastActorGetVisibleChunkIndices for details.

+

Parameters:
+ + + +
[in] visibleChunkIndices User-supplied array to be filled in with indices of visible chunks for this actor.
[in] visibleChunkIndicesSize The size of the visibleChunkIndices array. To receive all visible chunk indices, the size must be at least that given by getVisibleChunkCount().
+
+
Returns:
the number of indices written to visibleChunkIndices. This will not exceed visibleChunkIndicesSize.
+ +
+

+ +

+
+ + + + + + + + +
virtual bool Nv::Blast::TkActor::isPending (  )  const [pure virtual]
+
+
+ +

+Report whether this actor is in 'pending' state. Being in 'pending' state leads to actor being processed by group.

+

Returns:
true iff actor is in 'pending' state.
+ +
+

+ +

+
+ + + + + + + + +
virtual TkGroup* Nv::Blast::TkActor::removeFromGroup (  )  [pure virtual]
+
+
+ +

+Remove this actor from its group, if it is in one.

+

Returns:
the actor's former group if successful, NULL otherwise.
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.png new file mode 100644 index 0000000..daa2d27 Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset-members.html new file mode 100644 index 0000000..5d66c2c --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset-members.html @@ -0,0 +1,49 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkAsset Member List

This is the complete list of members for Nv::Blast::TkAsset, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
getAssetLL() const =0Nv::Blast::TkAsset [pure virtual]
getBondCount() const =0Nv::Blast::TkAsset [pure virtual]
getBonds() const =0Nv::Blast::TkAsset [pure virtual]
getChunkCount() const =0Nv::Blast::TkAsset [pure virtual]
getChunks() const =0Nv::Blast::TkAsset [pure virtual]
getDataSize() const =0Nv::Blast::TkAsset [pure virtual]
getGraph() const =0Nv::Blast::TkAsset [pure virtual]
getID() const =0Nv::Blast::TkIdentifiable [pure virtual]
getJointDescCount() const =0Nv::Blast::TkAsset [pure virtual]
getJointDescs() const =0Nv::Blast::TkAsset [pure virtual]
getLeafChunkCount() const =0Nv::Blast::TkAsset [pure virtual]
getType() const =0Nv::Blast::TkIdentifiable [pure virtual]
release()=0Nv::Blast::TkObject [pure virtual]
serialize(physx::general_PxIOStream2::PxFileBuf &stream) const =0Nv::Blast::TkSerializable [pure virtual]
setID(const NvBlastID &id)=0Nv::Blast::TkIdentifiable [pure virtual]
TkObject()Nv::Blast::TkObject [inline]
userDataNv::Blast::TkObject
userIntDataNv::Blast::TkSerializable
~TkObject()Nv::Blast::TkObject [inline, protected, virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset.html new file mode 100644 index 0000000..ff86683 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset.html @@ -0,0 +1,291 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkAsset Class Reference + + + + + + + + +
+

Nv::Blast::TkAsset Class Reference

#include <NvBlastTkAsset.h> +

+

+Inheritance diagram for Nv::Blast::TkAsset:
+
+ +

+ +Nv::Blast::TkSerializable +Nv::Blast::TkIdentifiable +Nv::Blast::TkObject + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

virtual const NvBlastAssetgetAssetLL () const =0
virtual uint32_t getBondCount () const =0
virtual const NvBlastBondgetBonds () const =0
virtual uint32_t getChunkCount () const =0
virtual const NvBlastChunkgetChunks () const =0
virtual uint32_t getDataSize () const =0
virtual const NvBlastSupportGraph getGraph () const =0
virtual uint32_t getJointDescCount () const =0
virtual const TkAssetJointDescgetJointDescs () const =0
virtual uint32_t getLeafChunkCount () const =0
+


Detailed Description

+The static data associated with a destructible actor. TkAsset encapsulates an NvBlastAsset. In addition to the NvBlastAsset, the TkAsset stores joint descriptors (see TkAssetJointDesc).

Member Function Documentation

+ +
+
+ + + + + + + + +
virtual const NvBlastAsset* Nv::Blast::TkAsset::getAssetLL (  )  const [pure virtual]
+
+
+ +

+Access to underlying low-level asset.

+

Returns:
a pointer to the (const) low-level NvBlastAsset object.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkAsset::getBondCount (  )  const [pure virtual]
+
+
+ +

+Get the number of bonds in the given asset.

+NOTE: Wrapper function over low-level function call, see NvBlastAssetGetBondCount for details.

+

Returns:
the number of bonds in the asset.
+ +
+

+ +

+
+ + + + + + + + +
virtual const NvBlastBond* Nv::Blast::TkAsset::getBonds (  )  const [pure virtual]
+
+
+ +

+Access an array of bonds of the given asset.

+NOTE: Wrapper function over low-level function call, see NvBlastAssetGetBonds for details.

+

Returns:
a pointer to an array of bonds of the asset.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkAsset::getChunkCount (  )  const [pure virtual]
+
+
+ +

+Get the number of chunks in this asset.

+NOTE: Wrapper function over low-level function call, see NvBlastAssetGetChunkCount for details.

+

Returns:
the number of chunks in the asset.
+ +
+

+ +

+
+ + + + + + + + +
virtual const NvBlastChunk* Nv::Blast::TkAsset::getChunks (  )  const [pure virtual]
+
+
+ +

+Access an array of chunks of the given asset.

+NOTE: Wrapper function over low-level function call, see NvBlastAssetGetChunks for details.

+

Returns:
a pointer to an array of chunks of the asset.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkAsset::getDataSize (  )  const [pure virtual]
+
+
+ +

+Retrieve the size (in bytes) of the LL asset.

+NOTE: Wrapper function over low-level function call, see NvBlastAssetGetSize for details.

+

Returns:
the size of the data block (in bytes).
+ +
+

+ +

+
+ + + + + + + + +
virtual const NvBlastSupportGraph Nv::Blast::TkAsset::getGraph (  )  const [pure virtual]
+
+
+ +

+Access an support graph for the given asset.

+NOTE: Wrapper function over low-level function call, see NvBlastAssetGetSupportGraph for details.

+

Returns:
a struct of support graph for the given asset.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkAsset::getJointDescCount (  )  const [pure virtual]
+
+
+ +

+The number of internal TkJoint objects that will be created when this asset is instanced into a TkActor (see TkFramework::createActor). These joints will not trigger TkJointUpdateEvent events until this actor is split into actors such that a joint connects two actors. At this time the actor's family will dispatch a TkJointUpdateEvent::External event during a call to TkGroup::sync() (see TkGroup).

+

Returns:
the number of descriptors for internal joints.
+ +
+

+ +

+
+ + + + + + + + +
virtual const TkAssetJointDesc* Nv::Blast::TkAsset::getJointDescs (  )  const [pure virtual]
+
+
+ +

+The descriptors for the internal joints created when this asset is instanced. (See getJointDescCount.)

+

Returns:
a pointer to the array of descriptors for internal joints.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkAsset::getLeafChunkCount (  )  const [pure virtual]
+
+
+ +

+Get the number of leaf chunks in the given asset.

+NOTE: Wrapper function over low-level function call, see NvBlastAssetGetLeafChunkCount for details.

+

Returns:
the number of leaf chunks in the asset.
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset.png new file mode 100644 index 0000000..16f9b91 Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_asset.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener-members.html new file mode 100644 index 0000000..1465c19 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener-members.html @@ -0,0 +1,31 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkEventListener Member List

This is the complete list of members for Nv::Blast::TkEventListener, including all inherited members.

+ +
receive(const TkEvent *events, uint32_t eventCount)=0Nv::Blast::TkEventListener [pure virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.html new file mode 100644 index 0000000..1d434a2 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.html @@ -0,0 +1,92 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkEventListener Class Reference + + + + + + + + +
+

Nv::Blast::TkEventListener Class Reference

#include <NvBlastTkEvent.h> +

+

+Inheritance diagram for Nv::Blast::TkEventListener:
+
+ +

+ +Nv::Blast::ExtSync + +
+ +

+List of all members. + + + + +

Public Member Functions

virtual void receive (const TkEvent *events, uint32_t eventCount)=0
+


Detailed Description

+Interface for a listener of TkEvent data. The user must implement this interface and pass it to the object which will dispatch the events.

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::TkEventListener::receive (const TkEvent events,
uint32_t  eventCount 
) [pure virtual]
+
+
+ +

+Interface to be implemented by the user. Events will be sent by BlastTk through a call to this function.

+

Parameters:
+ + + +
[in] events The array of events being dispatched.
[in] eventCount The number of events in the array.
+
+ +

Implemented in Nv::Blast::ExtSync.

+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.png new file mode 100644 index 0000000..f3f6067 Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family-members.html new file mode 100644 index 0000000..e3753f1 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family-members.html @@ -0,0 +1,49 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkFamily Member List

This is the complete list of members for Nv::Blast::TkFamily, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
addListener(TkEventListener &l)=0Nv::Blast::TkFamily [pure virtual]
applyFracture(const NvBlastFractureBuffers *commands)=0Nv::Blast::TkFamily [pure virtual]
getActorCount() const =0Nv::Blast::TkFamily [pure virtual]
getActors(TkActor **buffer, uint32_t bufferSize, uint32_t indexStart=0) const =0Nv::Blast::TkFamily [pure virtual]
getAsset() const =0Nv::Blast::TkFamily [pure virtual]
getFamilyLL() const =0Nv::Blast::TkFamily [pure virtual]
getID() const =0Nv::Blast::TkIdentifiable [pure virtual]
getMaterial() const =0Nv::Blast::TkFamily [pure virtual]
getType() const =0Nv::Blast::TkIdentifiable [pure virtual]
reinitialize(const NvBlastFamily *newFamily, TkGroup *group=nullptr)=0Nv::Blast::TkFamily [pure virtual]
release()=0Nv::Blast::TkObject [pure virtual]
removeListener(TkEventListener &l)=0Nv::Blast::TkFamily [pure virtual]
serialize(physx::general_PxIOStream2::PxFileBuf &stream) const =0Nv::Blast::TkSerializable [pure virtual]
setID(const NvBlastID &id)=0Nv::Blast::TkIdentifiable [pure virtual]
setMaterial(const void *material)=0Nv::Blast::TkFamily [pure virtual]
TkObject()Nv::Blast::TkObject [inline]
userDataNv::Blast::TkObject
userIntDataNv::Blast::TkSerializable
~TkObject()Nv::Blast::TkObject [inline, protected, virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.html new file mode 100644 index 0000000..3b0e2ba --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.html @@ -0,0 +1,342 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkFamily Class Reference + + + + + + + + +
+

Nv::Blast::TkFamily Class Reference

#include <NvBlastTkFamily.h> +

+

+Inheritance diagram for Nv::Blast::TkFamily:
+
+ +

+ +Nv::Blast::TkSerializable +Nv::Blast::TkIdentifiable +Nv::Blast::TkObject + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

virtual void addListener (TkEventListener &l)=0
virtual void applyFracture (const NvBlastFractureBuffers *commands)=0
virtual uint32_t getActorCount () const =0
virtual uint32_t getActors (TkActor **buffer, uint32_t bufferSize, uint32_t indexStart=0) const =0
virtual const TkAssetgetAsset () const =0
virtual const NvBlastFamilygetFamilyLL () const =0
virtual const void * getMaterial () const =0
virtual void reinitialize (const NvBlastFamily *newFamily, TkGroup *group=nullptr)=0
virtual void removeListener (TkEventListener &l)=0
virtual void setMaterial (const void *material)=0
+


Detailed Description

+The TkFamily is associated with the TkActor that is instanced from a TkAsset, as well as all descendent TkActors generated by spliting TkActors within the family. It encapsulates an NvBlastFamily, and also holds a material which will be used by default on all TkActors during damage functions.

Member Function Documentation

+ +
+
+ + + + + + + + + +
virtual void Nv::Blast::TkFamily::addListener (TkEventListener l  )  [pure virtual]
+
+
+ +

+Add a user implementation of TkEventListener to this family's list of listeners. These listeners will receive all split and fracture events generated by TkActor objects in this family. They will also receive joint update events when TkJoint objects are updated that are (or were) associated with a TkActor in this family.

+

Parameters:
+ + +
[in] l The event listener to add.
+
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::TkFamily::applyFracture (const NvBlastFractureBuffers commands  )  [pure virtual]
+
+
+ +

+This function applies fracture buffers on relevant actors (actor which contains corresponding bond/chunk) in family.

+

Parameters:
+ + +
[in] commands The fracture commands to process.
+
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkFamily::getActorCount (  )  const [pure virtual]
+
+
+ +

+The number of actors currently in this family.

+

Returns:
the number of TkActors that currently exist in this family.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual uint32_t Nv::Blast::TkFamily::getActors (TkActor **  buffer,
uint32_t  bufferSize,
uint32_t  indexStart = 0 
) const [pure virtual]
+
+
+ +

+Retrieve an array of pointers (into the user-supplied buffer) to actors.

+

Parameters:
+ + + + +
[out] buffer A user-supplied array of TkActor pointers.
[in] bufferSize The number of elements available to write into buffer.
[in] indexStart The starting index of the actor.
+
+
Returns:
the number of TkActor pointers written to the buffer.
+ +
+

+ +

+
+ + + + + + + + +
virtual const TkAsset* Nv::Blast::TkFamily::getAsset (  )  const [pure virtual]
+
+
+ +

+Every family has an associated asset (the TkAsset which was instanced to create the first member of the family).

+

Returns:
a pointer to the (const) TkAsset object.
+ +
+

+ +

+
+ + + + + + + + +
virtual const NvBlastFamily* Nv::Blast::TkFamily::getFamilyLL (  )  const [pure virtual]
+
+
+ +

+Access to underlying low-level family.

+

Returns:
a pointer to the (const) low-level NvBlastFamily object.
+ +
+

+ +

+
+ + + + + + + + +
virtual const void* Nv::Blast::TkFamily::getMaterial (  )  const [pure virtual]
+
+
+ +

+The default material to be passed into NvBlastDamageProgram when a TkActor in this family is damaged.

+

Returns:
a pointer to the default material.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::TkFamily::reinitialize (const NvBlastFamily newFamily,
TkGroup group = nullptr 
) [pure virtual]
+
+
+ +

+A function to reinitialize this family with new family. The Family must be created from the same low-level asset, but can be in any other state. As a result split events (TkEvent::Split) will be dispatched reflecting the resulting changes (created and removed actors) Afterwards the family will contain a copy of the new family and all actors' low-level actor pointers will be updated.

+

Parameters:
+ + + +
[in] newFamily The NvBlastFamily to use to reinitialize this family.
[in] group The group for new actors to be placed in.
+
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::TkFamily::removeListener (TkEventListener l  )  [pure virtual]
+
+
+ +

+Remove a TkEventReciever from this family's list of listeners.

+

Parameters:
+ + +
[in] l The event listener to remove.
+
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::TkFamily::setMaterial (const void *  material  )  [pure virtual]
+
+
+ +

+Set the default material to be passed into NvBlastDamageProgram when a TkActor in this family is damaged. Must be valid till group sync() call.

+

Parameters:
+ + +
[in] material The material to be the new default.
+
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.png new file mode 100644 index 0000000..f1b77ce Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_framework-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_framework-members.html new file mode 100644 index 0000000..527300f --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_framework-members.html @@ -0,0 +1,47 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkFramework Member List

This is the complete list of members for Nv::Blast::TkFramework, including all inherited members.

+ + + + + + + + + + + + + + + + + +
createActor(const TkActorDesc &desc)=0Nv::Blast::TkFramework [pure virtual]
createAsset(const TkAssetDesc &desc)=0Nv::Blast::TkFramework [pure virtual]
createAsset(const NvBlastAsset *assetLL, Nv::Blast::TkAssetJointDesc *jointDescs=nullptr, uint32_t jointDescCount=0, bool ownsAsset=false)=0Nv::Blast::TkFramework [pure virtual]
createGroup(const TkGroupDesc &desc)=0Nv::Blast::TkFramework [pure virtual]
createJoint(const TkJointDesc &desc)=0Nv::Blast::TkFramework [pure virtual]
deserialize(physx::general_PxIOStream2::PxFileBuf &stream)=0Nv::Blast::TkFramework [pure virtual]
ensureAssetExactSupportCoverage(NvBlastChunkDesc *chunkDescs, uint32_t chunkCount) const =0Nv::Blast::TkFramework [pure virtual]
findObjectByID(const NvBlastID &id) const =0Nv::Blast::TkFramework [pure virtual]
getAllocatorCallback() const =0Nv::Blast::TkFramework [pure virtual]
getErrorCallback() const =0Nv::Blast::TkFramework [pure virtual]
getLogFn() const =0Nv::Blast::TkFramework [pure virtual]
getObjectCount(const TkType &type) const =0Nv::Blast::TkFramework [pure virtual]
getObjects(TkIdentifiable **buffer, uint32_t bufferSize, const TkType &type, uint32_t indexStart=0) const =0Nv::Blast::TkFramework [pure virtual]
getType(TkTypeIndex::Enum typeIndex) const =0Nv::Blast::TkFramework [pure virtual]
release()=0Nv::Blast::TkFramework [pure virtual]
reorderAssetDescChunks(NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap=nullptr) const =0Nv::Blast::TkFramework [pure virtual]
~TkFramework()Nv::Blast::TkFramework [inline, protected, virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_framework.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_framework.html new file mode 100644 index 0000000..60599b1 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_framework.html @@ -0,0 +1,598 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkFramework Class Reference + + + + + + + + +
+

Nv::Blast::TkFramework Class Reference

#include <NvBlastTkFramework.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

virtual TkActorcreateActor (const TkActorDesc &desc)=0
virtual TkAssetcreateAsset (const NvBlastAsset *assetLL, Nv::Blast::TkAssetJointDesc *jointDescs=nullptr, uint32_t jointDescCount=0, bool ownsAsset=false)=0
virtual TkAssetcreateAsset (const TkAssetDesc &desc)=0
virtual TkGroupcreateGroup (const TkGroupDesc &desc)=0
virtual TkJointcreateJoint (const TkJointDesc &desc)=0
virtual TkSerializabledeserialize (physx::general_PxIOStream2::PxFileBuf &stream)=0
virtual bool ensureAssetExactSupportCoverage (NvBlastChunkDesc *chunkDescs, uint32_t chunkCount) const =0
virtual TkIdentifiablefindObjectByID (const NvBlastID &id) const =0
virtual
+physx::PxAllocatorCallback & 
getAllocatorCallback () const =0
virtual physx::PxErrorCallback & getErrorCallback () const =0
virtual NvBlastLog getLogFn () const =0
virtual uint32_t getObjectCount (const TkType &type) const =0
virtual uint32_t getObjects (TkIdentifiable **buffer, uint32_t bufferSize, const TkType &type, uint32_t indexStart=0) const =0
virtual const TkTypegetType (TkTypeIndex::Enum typeIndex) const =0
virtual void release ()=0
virtual bool reorderAssetDescChunks (NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap=nullptr) const =0

Protected Member Functions

virtual ~TkFramework ()
+


Detailed Description

+BlastTk Framework.

+The framework exists as a singleton and is used to create objects, deserialize object streams, and hold references to identified objects (TkAsset, TkFamily, and TkGroup) which may be recalled by their GUIDs.


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
virtual Nv::Blast::TkFramework::~TkFramework (  )  [inline, protected, virtual]
+
+
+ +

+Destructor is virtual and not public - use the release() method instead of explicitly deleting the TkFramework +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
virtual TkActor* Nv::Blast::TkFramework::createActor (const TkActorDesc desc  )  [pure virtual]
+
+
+ +

+Create an actor from the given descriptor. The actor will be the first member of a new TkFamily.

+

Parameters:
+ + +
[in] desc The actor descriptor (see TkActorDesc).
+
+
Returns:
the created actor, if the descriptor was valid and memory was available for the operation. Otherwise, returns NULL.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual TkAsset* Nv::Blast::TkFramework::createAsset (const NvBlastAsset assetLL,
Nv::Blast::TkAssetJointDesc jointDescs = nullptr,
uint32_t  jointDescCount = 0,
bool  ownsAsset = false 
) [pure virtual]
+
+
+ +

+Create an asset from a low-level NvBlastAsset.

+

Parameters:
+ + + + + +
[in] assetLL The low-level NvBlastAsset to encapsulate.
[in] jointDescs Optional joint descriptors to add to the new asset.
[in] jointDescCount The number of joint descriptors in the jointDescs array. If non-zero, jointDescs cannot be NULL.
[in] ownsAsset Does this TkAsset own the NvBlastAsset and thus is responsible for freeing it.
+
+
Returns:
the created asset, if memory was available for the operation. Otherwise, returns NULL.
+ +
+

+ +

+
+ + + + + + + + + +
virtual TkAsset* Nv::Blast::TkFramework::createAsset (const TkAssetDesc desc  )  [pure virtual]
+
+
+ +

+Create an asset from the given descriptor.

+

Parameters:
+ + +
[in] desc The asset descriptor (see TkAssetDesc).
+
+
Returns:
the created asset, if the descriptor was valid and memory was available for the operation. Otherwise, returns NULL.
+ +
+

+ +

+
+ + + + + + + + + +
virtual TkGroup* Nv::Blast::TkFramework::createGroup (const TkGroupDesc desc  )  [pure virtual]
+
+
+ +

+Create a group from the given descriptor. A group is a processing unit, to which the user may add TkActors. New actors generated from splitting a TkActor are automatically put into the same group. However, any actor may be removed from its group and optionally placed into another group, or left groupless.

+

Parameters:
+ + +
[in] desc The group descriptor (see TkGroupDesc).
+
+
Returns:
the created group, if the descriptor was valid and memory was available for the operation. Otherwise, returns NULL.
+ +
+

+ +

+
+ + + + + + + + + +
virtual TkJoint* Nv::Blast::TkFramework::createJoint (const TkJointDesc desc  )  [pure virtual]
+
+
+ +

+Create a joint from the given descriptor. The following restrictions apply:

+Only one joint may be created between any two support chunks.

+A joint cannot be created between chunks within the same actor using this method. See TkAssetDesc for a description of bond joint flags, which will create internal joints within an actor.

+

Parameters:
+ + +
[in] desc The joint descriptor (see TkJointDesc).
+
+
Returns:
the created joint, if the descriptor was valid and memory was available for the operation. Otherwise, returns NULL.
+ +
+

+ +

+
+ + + + + + + + + +
virtual TkSerializable* Nv::Blast::TkFramework::deserialize (physx::general_PxIOStream2::PxFileBuf &  stream  )  [pure virtual]
+
+
+ +

+Deserialize an object from the given stream. Only objects derived from TkSerializable may be serialized and deserialized. Use the parent class method TkIdentifiable::getType() to know the type to which to cast the object.

+Notes for different classes:

+TkAsset: deserializing a serialized TkAsset will recreate the asset in memory with the same NvBlastID (see TkIdentifiable::getID()) as the original asset.

+TkFamily: deserializing a serialized TkFamily will generate all TkActor and TkJoint objects that were originally contained in the family. The TkAsset which generated the family must exist at the time the family is deserialized.

+

Parameters:
+ + +
[in] stream User-defined stream object.
+
+
Returns:
pointer the deserialized object if successful, or NULL if unsuccessful.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual bool Nv::Blast::TkFramework::ensureAssetExactSupportCoverage (NvBlastChunkDesc chunkDescs,
uint32_t  chunkCount 
) const [pure virtual]
+
+
+ +

+Helper function to ensure (check and update) support coverage of chunks, required for asset creation via the createAsset function.

+This is a convenience wrapper for the low-level NvBlastEnsureAssetExactSupportCoverage function.

+The chunk descriptors may have their support flags be modified to ensure exact coverage.

+

Parameters:
+ + + +
[in] chunkDescs An array of chunk descriptors.
[in] chunkCount The size of the chunkDescs array.
+
+
Returns:
true iff coverage was already exact.
+ +
+

+ +

+
+ + + + + + + + + +
virtual TkIdentifiable* Nv::Blast::TkFramework::findObjectByID (const NvBlastID id  )  const [pure virtual]
+
+
+ +

+Look up an object derived from TkIdentifiable by its ID.

+

Parameters:
+ + +
[in] id The ID of the object to look up (see NvBlastID).
+
+
Returns:
pointer the object if it exists, NULL otherwise.
+ +
+

+ +

+
+ + + + + + + + +
virtual physx::PxAllocatorCallback& Nv::Blast::TkFramework::getAllocatorCallback (  )  const [pure virtual]
+
+
+ +

+Access to the allocator callback set by the user. +

+

+ +

+
+ + + + + + + + +
virtual physx::PxErrorCallback& Nv::Blast::TkFramework::getErrorCallback (  )  const [pure virtual]
+
+
+ +

+Access to the error callback set by the user. +

+

+ +

+
+ + + + + + + + +
virtual NvBlastLog Nv::Blast::TkFramework::getLogFn (  )  const [pure virtual]
+
+
+ +

+Access to a log function which can be used in Blast low-level calls. This function uses the user-supplied PxErrorCallback (see TkFrameworkDesc). +

+

+ +

+
+ + + + + + + + + +
virtual uint32_t Nv::Blast::TkFramework::getObjectCount (const TkType type  )  const [pure virtual]
+
+
+ +

+The number of TkIdentifiable-derived objects in the framework of the given type.

+

Parameters:
+ + +
[in] type The type object for the given type.
+
+
Returns:
the number of objects that currently exist of the given type.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual uint32_t Nv::Blast::TkFramework::getObjects (TkIdentifiable **  buffer,
uint32_t  bufferSize,
const TkType type,
uint32_t  indexStart = 0 
) const [pure virtual]
+
+
+ +

+Retrieve an array of pointers (into the user-supplied buffer) to TkIdentifiable-derived objects of the given type.

+

Parameters:
+ + + + + +
[out] buffer A user-supplied array of TkIdentifiable pointers.
[in] bufferSize The number of elements available to write into buffer.
[in] type The type object for the given type.
[in] indexStart The starting index of the object.
+
+
Returns:
the number of TkIdentifiable pointers written to the buffer.
+ +
+

+ +

+
+ + + + + + + + + +
virtual const TkType* Nv::Blast::TkFramework::getType (TkTypeIndex::Enum  typeIndex  )  const [pure virtual]
+
+
+ +

+To find the type information for a given TkIdentifiable-derived class, use this funtion with the TkTypeIndex::Enum corresponding to the desired class name.

+

Parameters:
+ + +
[in] typeIndex Enumerated object type (see TkTypeIndex).
+
+
Returns:
type object associated with the object's class.
+ +
+

+ +

+
+ + + + + + + + +
virtual void Nv::Blast::TkFramework::release (  )  [pure virtual]
+
+
+ +

+Release this framework and all contained objects. Global singleton is set to NULL. +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool Nv::Blast::TkFramework::reorderAssetDescChunks (NvBlastChunkDesc chunkDescs,
uint32_t  chunkCount,
NvBlastBondDesc bondDescs,
uint32_t  bondCount,
uint32_t *  chunkReorderMap = nullptr 
) const [pure virtual]
+
+
+ +

+Helper function to build and apply chunk reorder map, so that chunk descriptors are properly ordered for the createAsset function.

+This is a convenience wrapper for the low-level NvBlastReorderAssetDescChunks function.

+This function may modify both the chunkDescs and bondDescs array, since rearranging chunk descriptors requires re-indexing within the bond descriptors.

+

Parameters:
+ + + + + + +
[in] chunkDescs Array of chunk descriptors of size chunkCount. It will be updated accordingly.
[in] chunkCount The number of chunk descriptors.
[in] bondDescs Array of bond descriptors of size chunkCount. It will be updated accordingly.
[in] bondCount The number of bond descriptors.
[in] chunkReorderMap If not NULL, must be a pointer to a uint32_t array of size desc.chunkCount. Maps old chunk indices to the reordered chunk indices.
+
+
Returns:
true iff the chunks did not require reordering (chunkReorderMap is the identity map).
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html new file mode 100644 index 0000000..91e2f38 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html @@ -0,0 +1,43 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkGroup Member List

This is the complete list of members for Nv::Blast::TkGroup, including all inherited members.

+ + + + + + + + + + + + + +
addActor(TkActor &actor)=0Nv::Blast::TkGroup [pure virtual]
getActorCount() const =0Nv::Blast::TkGroup [pure virtual]
getActors(TkActor **buffer, uint32_t bufferSize, uint32_t indexStart=0) const =0Nv::Blast::TkGroup [pure virtual]
getID() const =0Nv::Blast::TkIdentifiable [pure virtual]
getStats(TkGroupStats &stats) const =0Nv::Blast::TkGroup [pure virtual]
getType() const =0Nv::Blast::TkIdentifiable [pure virtual]
process()=0Nv::Blast::TkGroup [pure virtual]
release()=0Nv::Blast::TkObject [pure virtual]
setID(const NvBlastID &id)=0Nv::Blast::TkIdentifiable [pure virtual]
sync(bool block=true)=0Nv::Blast::TkGroup [pure virtual]
TkObject()Nv::Blast::TkObject [inline]
userDataNv::Blast::TkObject
~TkObject()Nv::Blast::TkObject [inline, protected, virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.html new file mode 100644 index 0000000..897ed0e --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.html @@ -0,0 +1,233 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkGroup Class Reference + + + + + + + + +
+

Nv::Blast::TkGroup Class Reference

#include <NvBlastTkGroup.h> +

+

+Inheritance diagram for Nv::Blast::TkGroup:
+
+ +

+ +Nv::Blast::TkIdentifiable +Nv::Blast::TkObject + +
+ +

+List of all members. + + + + + + + + + + + + + + +

Public Member Functions

virtual bool addActor (TkActor &actor)=0
virtual uint32_t getActorCount () const =0
virtual uint32_t getActors (TkActor **buffer, uint32_t bufferSize, uint32_t indexStart=0) const =0
virtual void getStats (TkGroupStats &stats) const =0
virtual bool process ()=0
virtual bool sync (bool block=true)=0
+


Detailed Description

+A group is a processing unit, to which the user may add TkActors. New actors generated from splitting a TkActor are automatically put into the same group. However, any actor may be removed from its group and placed into another group (or no group) by the user's choice.

+When the group's process function is called, all actors' damage buffers will be processed and turned into fracture events and the actor is split if applicable. This work is done in separate (possibly multiple) threads. The sync function waits for the processing threads to finish and dispatches events for processing that actually occurred.


Member Function Documentation

+ +
+
+ + + + + + + + + +
virtual bool Nv::Blast::TkGroup::addActor (TkActor actor  )  [pure virtual]
+
+
+ +

+Add the actor to this group, if the actor does not currently belong to a group.

+

Parameters:
+ + +
[in] actor The actor to add.
+
+
Returns:
true if successful, false otherwise.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkGroup::getActorCount (  )  const [pure virtual]
+
+
+ +

+The number of actors currently in this group.

+

Returns:
the number of TkActors that currently exist in this group.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual uint32_t Nv::Blast::TkGroup::getActors (TkActor **  buffer,
uint32_t  bufferSize,
uint32_t  indexStart = 0 
) const [pure virtual]
+
+
+ +

+Retrieve an array of pointers (into the user-supplied buffer) to actors.

+

Parameters:
+ + + + +
[out] buffer A user-supplied array of TkActor pointers.
[in] bufferSize The number of elements available to write into buffer.
[in] indexStart The starting index of the actor.
+
+
Returns:
the number of TkActor pointers written to the buffer.
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::TkGroup::getStats (TkGroupStats stats  )  const [pure virtual]
+
+
+ +

+For profile builds only, request stats of the last successful processing. Inactive in other builds. The times and counters reported account for all the TkWorker (accumulated) taking part in the processing.

+

Parameters:
+ + +
[in] stats The struct to be filled in.
+
+ +
+

+ +

+
+ + + + + + + + +
virtual bool Nv::Blast::TkGroup::process (  )  [pure virtual]
+
+
+ +

+TkActors that have been damaged with applyFracture() such that they may be split into separate actors are split by this function. TkActors that have damage queued through the actor's damage() function will be fractured and split by this function. Fracture and splitting work will be run on different threads provided through TkGroupDesc::pxTaskManager. All work is done asynchronously, and the results are gathered by the sync() function.

+Note: The number of threads provided by pxTaskManager must not change over the group's lifetime.

+

Returns:
true if processing may be launched (this group is not currently processing), false otherwise.
+ +
+

+ +

+
+ + + + + + + + + +
virtual bool Nv::Blast::TkGroup::sync (bool  block = true  )  [pure virtual]
+
+
+ +

+If all threads spawned by process() have finished, and sync() has not yet been called since, then this function gathers the results of the split operations on the actors in this group. Events will be dispatched to notify listeners of new and deleted actors.

+

Parameters:
+ + +
[in] block If true, this function waits until all threads have completed execution, then performs the gather and dispatch work. If false, this function will perform the gather and dispatch work only if threads have completed execution, otherwise it returns immediately.
+
+
Returns:
true if gather and dispatch work have been performed, false otherwise.
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.png new file mode 100644 index 0000000..8ff4573 Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable-members.html new file mode 100644 index 0000000..c5738f9 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable-members.html @@ -0,0 +1,37 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkIdentifiable Member List

This is the complete list of members for Nv::Blast::TkIdentifiable, including all inherited members.

+ + + + + + + +
getID() const =0Nv::Blast::TkIdentifiable [pure virtual]
getType() const =0Nv::Blast::TkIdentifiable [pure virtual]
release()=0Nv::Blast::TkObject [pure virtual]
setID(const NvBlastID &id)=0Nv::Blast::TkIdentifiable [pure virtual]
TkObject()Nv::Blast::TkObject [inline]
userDataNv::Blast::TkObject
~TkObject()Nv::Blast::TkObject [inline, protected, virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.html new file mode 100644 index 0000000..36df689 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.html @@ -0,0 +1,124 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkIdentifiable Class Reference + + + + + + + + +
+

Nv::Blast::TkIdentifiable Class Reference

#include <NvBlastTkIdentifiable.h> +

+

+Inheritance diagram for Nv::Blast::TkIdentifiable:
+
+ +

+ +Nv::Blast::TkObject +Nv::Blast::TkGroup +Nv::Blast::TkSerializable +Nv::Blast::TkAsset +Nv::Blast::TkFamily + +
+ +

+List of all members. + + + + + + + + +

Public Member Functions

virtual const NvBlastIDgetID () const =0
virtual const TkTypegetType () const =0
virtual void setID (const NvBlastID &id)=0
+


Detailed Description

+TkIdentifiable objects have getID and setID methods for individual objects. They also have a type (class) identification.

Member Function Documentation

+ +
+
+ + + + + + + + +
virtual const NvBlastID& Nv::Blast::TkIdentifiable::getID (  )  const [pure virtual]
+
+
+ +

+Return the ID associated with this object.

+

Returns:
the ID for this object.
+ +
+

+ +

+
+ + + + + + + + +
virtual const TkType& Nv::Blast::TkIdentifiable::getType (  )  const [pure virtual]
+
+
+ +

+Access to the static (class) type data for this object.

+

Returns:
the static type data for this object type.
+ +
+

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::TkIdentifiable::setID (const NvBlastID id  )  [pure virtual]
+
+
+ +

+Set the ID for this object. +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.png new file mode 100644 index 0000000..5fb3675 Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint-members.html new file mode 100644 index 0000000..e2437c5 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkJoint Member List

This is the complete list of members for Nv::Blast::TkJoint, including all inherited members.

+ + + + + +
getData() const =0Nv::Blast::TkJoint [pure virtual]
release()=0Nv::Blast::TkObject [pure virtual]
TkObject()Nv::Blast::TkObject [inline]
userDataNv::Blast::TkObject
~TkObject()Nv::Blast::TkObject [inline, protected, virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint.html new file mode 100644 index 0000000..59d0890 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint.html @@ -0,0 +1,77 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkJoint Class Reference + + + + + + + + +
+

Nv::Blast::TkJoint Class Reference

#include <NvBlastTkJoint.h> +

+

+Inheritance diagram for Nv::Blast::TkJoint:
+
+ +

+ +Nv::Blast::TkObject + +
+ +

+List of all members. + + + + +

Public Member Functions

virtual const TkJointData getData () const =0
+


Detailed Description

+The TkJoint is may join two different TkActors, or be created internally within a single TkActor.

+When a TkActor is created from a TkAsset with jointed bonds (the asset is created using a TkAssetDesc with joint flags on bonds, see TkActorDesc) then internal TkJoint objects are created and associated with every TkActor created from that TkAsset. The user only gets notification of the internal TkJoint objects when the TkActor is split into separate TkActor objects that hold the support chunks joined by an internal TkJoint.

+The user will be notified when the TkActor objects that are attached to TkJoint objects change, or are released. In that case, a TkEvent with a TkJointUpdateEvent payload is dispatched to TkEventListener objects registered with the TkFamily objects to which the actors belong.


Member Function Documentation

+ +
+
+ + + + + + + + +
virtual const TkJointData Nv::Blast::TkJoint::getData (  )  const [pure virtual]
+
+
+ +

+Retrieve data in this joint.

+

Returns:
a TkJointData containing this joint's data.
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint.png new file mode 100644 index 0000000..c7fc1f8 Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_joint.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object-members.html new file mode 100644 index 0000000..3570821 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkObject Member List

This is the complete list of members for Nv::Blast::TkObject, including all inherited members.

+ + + + +
release()=0Nv::Blast::TkObject [pure virtual]
TkObject()Nv::Blast::TkObject [inline]
userDataNv::Blast::TkObject
~TkObject()Nv::Blast::TkObject [inline, protected, virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object.html new file mode 100644 index 0000000..0b911b0 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object.html @@ -0,0 +1,142 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkObject Class Reference + + + + + + + + +
+

Nv::Blast::TkObject Class Reference

#include <NvBlastTkObject.h> +

+

+Inheritance diagram for Nv::Blast::TkObject:
+
+ +

+ +Nv::Blast::TkActor +Nv::Blast::TkIdentifiable +Nv::Blast::TkJoint +Nv::Blast::TkGroup +Nv::Blast::TkSerializable +Nv::Blast::TkAsset +Nv::Blast::TkFamily + +
+ +

+List of all members. + + + + + + + + + + + + +

Public Member Functions

virtual void release ()=0
 TkObject ()

Public Attributes

void * userData

Protected Member Functions

virtual ~TkObject ()
+


Detailed Description

+Base class for all objects in Tk. All TkObjects are releasable.

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::TkObject::TkObject (  )  [inline]
+
+
+ +

+Constructor clears userData. +

+

+ +

+
+ + + + + + + + +
virtual Nv::Blast::TkObject::~TkObject (  )  [inline, protected, virtual]
+
+
+ +

+Destructor is virtual and not public - use the release() method instead of explicitly deleting a TkObject +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
virtual void Nv::Blast::TkObject::release (  )  [pure virtual]
+
+
+ +

+Release this object and free associated memory. +

+

+


Member Data Documentation

+ +
+ +
+ +

+Pointer field available to the user. +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object.png new file mode 100644 index 0000000..a5e557b Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_object.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable-members.html new file mode 100644 index 0000000..669c4b5 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable-members.html @@ -0,0 +1,39 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkSerializable Member List

This is the complete list of members for Nv::Blast::TkSerializable, including all inherited members.

+ + + + + + + + + +
getID() const =0Nv::Blast::TkIdentifiable [pure virtual]
getType() const =0Nv::Blast::TkIdentifiable [pure virtual]
release()=0Nv::Blast::TkObject [pure virtual]
serialize(physx::general_PxIOStream2::PxFileBuf &stream) const =0Nv::Blast::TkSerializable [pure virtual]
setID(const NvBlastID &id)=0Nv::Blast::TkIdentifiable [pure virtual]
TkObject()Nv::Blast::TkObject [inline]
userDataNv::Blast::TkObject
userIntDataNv::Blast::TkSerializable
~TkObject()Nv::Blast::TkObject [inline, protected, virtual]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable.html new file mode 100644 index 0000000..2a9f89b --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable.html @@ -0,0 +1,103 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkSerializable Class Reference + + + + + + + + +
+

Nv::Blast::TkSerializable Class Reference

#include <NvBlastTkSerializable.h> +

+

+Inheritance diagram for Nv::Blast::TkSerializable:
+
+ +

+ +Nv::Blast::TkIdentifiable +Nv::Blast::TkObject +Nv::Blast::TkAsset +Nv::Blast::TkFamily + +
+ +

+List of all members. + + + + + + + +

Public Member Functions

virtual bool serialize (physx::general_PxIOStream2::PxFileBuf &stream) const =0

Public Attributes

uint64_t userIntData
+


Detailed Description

+TkSerializable objects support the serialize interface, and are returned by TkFramework::deserialize.

Member Function Documentation

+ +
+
+ + + + + + + + + +
virtual bool Nv::Blast::TkSerializable::serialize (physx::general_PxIOStream2::PxFileBuf &  stream  )  const [pure virtual]
+
+
+ +

+Write the object data to the user-defined PxFileBuf stream.

+

Parameters:
+ + +
[in] stream User-defined stream object.
+
+
Returns:
true if serialization was successful, false otherwise.
+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+Integer field available to the user. This data is serialized. +

+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable.png new file mode 100644 index 0000000..3f84d30 Binary files /dev/null and b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_serializable.png differ diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_type-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_type-members.html new file mode 100644 index 0000000..a0fdf95 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_type-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkType Member List

This is the complete list of members for Nv::Blast::TkType, including all inherited members.

+ + + +
getName() const =0Nv::Blast::TkType [pure virtual]
getVersion() const =0Nv::Blast::TkType [pure virtual]
operator==(const TkType &type) const Nv::Blast::TkType [inline]

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_type.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_type.html new file mode 100644 index 0000000..966f488 --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_type.html @@ -0,0 +1,118 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkType Class Reference + + + + + + + + +
+

Nv::Blast::TkType Class Reference

#include <NvBlastTkType.h> +

+ +

+List of all members. + + + + + + + + +

Public Member Functions

virtual const char * getName () const =0
virtual uint32_t getVersion () const =0
bool operator== (const TkType &type) const
+


Detailed Description

+Interface for static (class) type data. This data is used for identification in streams, class-specific object queries in TkFramework, etc. Only classes derived from TkIdentifiable use TkType data.

Member Function Documentation

+ +
+
+ + + + + + + + +
virtual const char* Nv::Blast::TkType::getName (  )  const [pure virtual]
+
+
+ +

+The class name.

+

Returns:
the class name.
+ +
+

+ +

+
+ + + + + + + + +
virtual uint32_t Nv::Blast::TkType::getVersion (  )  const [pure virtual]
+
+
+ +

+The data format version for this class. When deserializing, this version must match the current version. If not, the user may convert the data format using the format conversion extension.

+

Returns:
the version number.
+ +
+

+ +

+
+ + + + + + + + + +
bool Nv::Blast::TkType::operator== (const TkType type  )  const [inline]
+
+
+ +

+Test for equality. This type is used in static (per-class) data, so types are equal exactly when their addresses are equal.

+

Parameters:
+ + +
[in] type The TkType to compare with this TkType.
+
+
Returns:
true if this type equals the input type, false otherwise.
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator-members.html new file mode 100644 index 0000000..0b2741f --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator-members.html @@ -0,0 +1,42 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::VoronoiSitesGenerator Member List

This is the complete list of members for Nv::Blast::VoronoiSitesGenerator, including all inherited members.

+ + + + + + + + + + + + +
addSite(const physx::PxVec3 &site)Nv::Blast::VoronoiSitesGenerator
clearStencil()Nv::Blast::VoronoiSitesGenerator
clusteredSitesGeneration(const uint32_t numberOfClusters, const uint32_t sitesPerCluster, float clusterRadius)Nv::Blast::VoronoiSitesGenerator
deleteInSphere(const float radius, const physx::PxVec3 &center, const float eraserProbability=1)Nv::Blast::VoronoiSitesGenerator
generateInSphere(const uint32_t count, const float radius, const physx::PxVec3 &center)Nv::Blast::VoronoiSitesGenerator
getVoronoiSites()Nv::Blast::VoronoiSitesGenerator
radialPattern(const physx::PxVec3 &center, const physx::PxVec3 &normal, float radius, int32_t angularSteps, int32_t radialSteps, float angleOffset=0.0f, float variability=0.0f)Nv::Blast::VoronoiSitesGenerator
setBaseMesh(Mesh *m)Nv::Blast::VoronoiSitesGenerator
setStencil(Mesh *stencil)Nv::Blast::VoronoiSitesGenerator
uniformlyGenerateSitesInMesh(const uint32_t numberOfSites)Nv::Blast::VoronoiSitesGenerator
VoronoiSitesGenerator(Mesh *mesh, RandomGeneratorBase *rnd)Nv::Blast::VoronoiSitesGenerator
~VoronoiSitesGenerator()Nv::Blast::VoronoiSitesGenerator

+ + + + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator.html new file mode 100644 index 0000000..bdfcffa --- /dev/null +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator.html @@ -0,0 +1,452 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::VoronoiSitesGenerator Class Reference + + + + + + + + +
+

Nv::Blast::VoronoiSitesGenerator Class Reference

#include <NvBlastExtAuthoringFractureTool.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

void addSite (const physx::PxVec3 &site)
void clearStencil ()
void clusteredSitesGeneration (const uint32_t numberOfClusters, const uint32_t sitesPerCluster, float clusterRadius)
void deleteInSphere (const float radius, const physx::PxVec3 &center, const float eraserProbability=1)
void generateInSphere (const uint32_t count, const float radius, const physx::PxVec3 &center)
std::vector< physx::PxVec3 > & getVoronoiSites ()
void radialPattern (const physx::PxVec3 &center, const physx::PxVec3 &normal, float radius, int32_t angularSteps, int32_t radialSteps, float angleOffset=0.0f, float variability=0.0f)
void setBaseMesh (Mesh *m)
void setStencil (Mesh *stencil)
void uniformlyGenerateSitesInMesh (const uint32_t numberOfSites)
 VoronoiSitesGenerator (Mesh *mesh, RandomGeneratorBase *rnd)
 ~VoronoiSitesGenerator ()
+


Detailed Description

+Class for voronoi sites generation inside supplied mesh.

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
Nv::Blast::VoronoiSitesGenerator::VoronoiSitesGenerator (Mesh mesh,
RandomGeneratorBase rnd 
)
+
+
+ +

+Voronoi sites should not be generated outside of the fractured mesh, so VoronoiSitesGenerator should be supplied with fracture mesh.

Parameters:
+ + + +
[in] mesh Fracture mesh
[in] rnd User supplied random value generator.
+
+
Returns:
+ +
+

+ +

+
+ + + + + + + + +
Nv::Blast::VoronoiSitesGenerator::~VoronoiSitesGenerator (  ) 
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
void Nv::Blast::VoronoiSitesGenerator::addSite (const physx::PxVec3 &  site  ) 
+
+
+ +

+Add site in particular point

Parameters:
+ + +
[in] site Site coordinates
+
+ +
+

+ +

+
+ + + + + + + + +
void Nv::Blast::VoronoiSitesGenerator::clearStencil (  ) 
+
+
+ +

+Removes stencil mesh +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Nv::Blast::VoronoiSitesGenerator::clusteredSitesGeneration (const uint32_t  numberOfClusters,
const uint32_t  sitesPerCluster,
float  clusterRadius 
)
+
+
+ +

+Generate sites in clustered fashion

Parameters:
+ + + + +
[in] numberOfClusters Number of generated clusters
[in] sitesPerCluster Number of sites in each cluster
[in] clusterRadius Voronoi cells cluster radius
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Nv::Blast::VoronoiSitesGenerator::deleteInSphere (const float  radius,
const physx::PxVec3 &  center,
const float  eraserProbability = 1 
)
+
+
+ +

+Deletes sites inside supplied sphere

Parameters:
+ + + + +
[in] radius Radius of sphere
[in] center Center of sphere
[in] eraserProbability Probability of removing some particular site
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Nv::Blast::VoronoiSitesGenerator::generateInSphere (const uint32_t  count,
const float  radius,
const physx::PxVec3 &  center 
)
+
+
+ +

+Generate sites inside sphere

Parameters:
+ + + + +
[in] count Count of generated sites
[in] radius Radius of sphere
[in] center Center of sphere
+
+ +
+

+ +

+
+ + + + + + + + +
std::vector<physx::PxVec3>& Nv::Blast::VoronoiSitesGenerator::getVoronoiSites (  ) 
+
+
+ +

+Returns reference on vector of generated voronoi sites. +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void Nv::Blast::VoronoiSitesGenerator::radialPattern (const physx::PxVec3 &  center,
const physx::PxVec3 &  normal,
float  radius,
int32_t  angularSteps,
int32_t  radialSteps,
float  angleOffset = 0.0f,
float  variability = 0.0f 
)
+
+
+ +

+Radial pattern of sites generation

Parameters:
+ + + + + + + + +
[in] center Center of generated pattern
[in] normal Normal to plane in which sites are generated
[in] radius Pattern radius
[in] angularSteps Number of angular steps
[in] radialSteps Number of radial steps
[in] angleOffset Angle offset at each radial step
[in] variability Randomness of sites distribution
+
+ +
+

+ +

+
+ + + + + + + + + +
void Nv::Blast::VoronoiSitesGenerator::setBaseMesh (Mesh m  ) 
+
+
+ +

+Set base fracture mesh +

+

+ +

+
+ + + + + + + + + +
void Nv::Blast::VoronoiSitesGenerator::setStencil (Mesh stencil  ) 
+
+
+ +

+Set stencil mesh. With stencil mesh sites are generated only inside both of fracture and stencil meshes.

Parameters:
+ + +
[in] stencil Stencil mesh.
+
+ +
+

+ +

+
+ + + + + + + + + +
void Nv::Blast::VoronoiSitesGenerator::uniformlyGenerateSitesInMesh (const uint32_t  numberOfSites  ) 
+
+
+ +

+Uniformly generate sites inside the mesh

Parameters:
+ + +
[in] numberOfSites Number of generated sites
+
+ +
+

+


The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/classes.html b/docs/api_docs/files/classes.html new file mode 100644 index 0000000..84fefc6 --- /dev/null +++ b/docs/api_docs/files/classes.html @@ -0,0 +1,47 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Alphabetical List + + + + + + + +
+

Class Index

A | B | C | D | E | F | I | L | M | N | P | R | S | T | V

+ +
  A  
+
ExtPxChunk (Nv::Blast)   IndexDLink (Nv::Blast)   NvBlastFamily   TkEvent (Nv::Blast)   
ApexImporterConfig (Nv::Blast::ApexImporter)   ExtPxFamily (Nv::Blast)   IndexDList (Nv::Blast)   NvBlastFamilyDataFormat   TkEventListener (Nv::Blast)   
ApexImportTool (Nv::Blast::ApexImporter)   ExtPxFamilyDesc (Nv::Blast)   IteratorBase (Nv::Blast)   NvBlastFractureBuffers   TkFamily (Nv::Blast)   
  B  
+
ExtPxListener (Nv::Blast)   
  L  
+
NvBlastGraphShaderActor   TkFractureCommands (Nv::Blast)   
BlastBondGenerator (Nv::Blast)   ExtPxManager (Nv::Blast)   Less (Nv::Blast)   NvBlastID   TkFractureEvents (Nv::Blast)   
BondGenerationConfig (Nv::Blast)   ExtPxShapeDescTemplate (Nv::Blast)   LListIt (Nv::Blast)   NvBlastMessage   TkFramework (Nv::Blast)   
  C  
+
ExtPxSpawnSettings (Nv::Blast)   
  M  
+
NvBlastProfilerDetail   TkFrameworkDesc (Nv::Blast)   
ChunkInfo (Nv::Blast)   ExtPxSubchunk (Nv::Blast)   Mesh (Nv::Blast)   NvBlastProgramParams   TkGroup (Nv::Blast)   
CollisionHull (Nv::Blast)   ExtStressSolver (Nv::Blast)   
  N  
+
NvBlastSubgraphShaderActor   TkGroupDesc (Nv::Blast)   
CollisionHull::HullPolygon (Nv::Blast)   ExtStressSolverSettings (Nv::Blast)   NvBlastActor   NvBlastSupportGraph   TkGroupStats (Nv::Blast)   
ConvexMeshBuilder (Nv::Blast)   ExtSync (Nv::Blast)   NvBlastActorDesc   NvBlastTimers   TkIdentifiable (Nv::Blast)   
  D  
+
ExtSyncEvent (Nv::Blast)   NvBlastActorSplitEvent   
  P  
+
TkJoint (Nv::Blast)   
DLink (Nv::Blast)   ExtSyncEventFamilySync (Nv::Blast)   NvBlastAsset   PlaneChunkIndexer (Nv::Blast)   TkJointData (Nv::Blast)   
DList (Nv::Blast)   ExtSyncEventFracture (Nv::Blast)   NvBlastAssetDataFormat   
  R  
+
TkJointDesc (Nv::Blast)   
DList::It (Nv::Blast)   ExtSyncEventInstance (Nv::Blast)   NvBlastAssetDesc   RandomGeneratorBase (Nv::Blast)   TkJointUpdateEvent (Nv::Blast)   
DListIt (Nv::Blast)   ExtSyncEventPhysicsSync (Nv::Blast)   NvBlastBond   
  S  
+
TkObject (Nv::Blast)   
  E  
+
ExtSyncEventPhysicsSync::ActorData (Nv::Blast)   NvBlastBondDesc   SlicingConfiguration (Nv::Blast)   TkSerializable (Nv::Blast)   
Edge (Nv::Blast)   ExtSyncEventType (Nv::Blast)   NvBlastBondFractureData   
  T  
+
TkSplitEvent (Nv::Blast)   
ExtImpactDamageManager (Nv::Blast)   
  F  
+
NvBlastChunk   Time (Nv::Blast)   TkType (Nv::Blast)   
ExtImpactSettings (Nv::Blast)   Facet (Nv::Blast)   NvBlastChunkDesc   TkActor (Nv::Blast)   TkTypeIndex (Nv::Blast)   
ExtPxActor (Nv::Blast)   FixedArray (Nv::Blast)   NvBlastChunkFractureData   TkActorData (Nv::Blast)   Triangle (Nv::Blast)   
ExtPxActorDescTemplate (Nv::Blast)   FixedBitmap (Nv::Blast)   NvBlastDamageProgram   TkActorDesc (Nv::Blast)   TriangleIndexed (Nv::Blast)   
ExtPxAsset (Nv::Blast)   FixedBoolArray (Nv::Blast)   NvBlastDataBlock   TkAsset (Nv::Blast)   
  V  
+
ExtPxAssetDesc (Nv::Blast)   FixedPriorityQueue (Nv::Blast)   NvBlastExtMaterial   TkAssetDesc (Nv::Blast)   Vertex (Nv::Blast)   
ExtPxAssetDesc::ChunkDesc (Nv::Blast)   FractureTool (Nv::Blast)   NvBlastExtRadialDamageDesc   TkAssetJointDesc (Nv::Blast)   VoronoiSitesGenerator (Nv::Blast)   
ExtPxAssetDesc::SubchunkDesc (Nv::Blast)   
  I  
+
NvBlastExtShearDamageDesc   

A | B | C | D | E | F | I | L | M | N | P | R | S | T | V

+

+ + + + diff --git a/docs/api_docs/files/copyrights_8txt.html b/docs/api_docs/files/copyrights_8txt.html new file mode 100644 index 0000000..20ba7e9 --- /dev/null +++ b/docs/api_docs/files/copyrights_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/copyrights.txt File Reference + + + + + + + +
+

docs/_source/copyrights.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/data__converter_8txt.html b/docs/api_docs/files/data__converter_8txt.html new file mode 100644 index 0000000..0f46b53 --- /dev/null +++ b/docs/api_docs/files/data__converter_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/data_converter.txt File Reference + + + + + + + +
+

docs/_source/data_converter.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/definitions_8txt.html b/docs/api_docs/files/definitions_8txt.html new file mode 100644 index 0000000..49d6576 --- /dev/null +++ b/docs/api_docs/files/definitions_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/definitions.txt File Reference + + + + + + + +
+

docs/_source/definitions.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/doxygen.png b/docs/api_docs/files/doxygen.png new file mode 100644 index 0000000..f0a274b Binary files /dev/null and b/docs/api_docs/files/doxygen.png differ diff --git a/docs/api_docs/files/ext__authoring_8txt.html b/docs/api_docs/files/ext__authoring_8txt.html new file mode 100644 index 0000000..1fd08d6 --- /dev/null +++ b/docs/api_docs/files/ext__authoring_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/ext_authoring.txt File Reference + + + + + + + +
+

docs/_source/ext_authoring.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/ext__converterll_8txt.html b/docs/api_docs/files/ext__converterll_8txt.html new file mode 100644 index 0000000..19fbe7e --- /dev/null +++ b/docs/api_docs/files/ext__converterll_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/ext_converterll.txt File Reference + + + + + + + +
+

docs/_source/ext_converterll.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/ext__import_8txt.html b/docs/api_docs/files/ext__import_8txt.html new file mode 100644 index 0000000..fce5256 --- /dev/null +++ b/docs/api_docs/files/ext__import_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/ext_import.txt File Reference + + + + + + + +
+

docs/_source/ext_import.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/ext__materials_8txt.html b/docs/api_docs/files/ext__materials_8txt.html new file mode 100644 index 0000000..bd4bdeb --- /dev/null +++ b/docs/api_docs/files/ext__materials_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/ext_materials.txt File Reference + + + + + + + +
+

docs/_source/ext_materials.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/ext__physx_8txt.html b/docs/api_docs/files/ext__physx_8txt.html new file mode 100644 index 0000000..b0f6cd3 --- /dev/null +++ b/docs/api_docs/files/ext__physx_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/ext_physx.txt File Reference + + + + + + + +
+

docs/_source/ext_physx.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/ext__serialization_8txt.html b/docs/api_docs/files/ext__serialization_8txt.html new file mode 100644 index 0000000..aae7271 --- /dev/null +++ b/docs/api_docs/files/ext__serialization_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/ext_serialization.txt File Reference + + + + + + + +
+

docs/_source/ext_serialization.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/files.html b/docs/api_docs/files/files.html new file mode 100644 index 0000000..13548b6 --- /dev/null +++ b/docs/api_docs/files/files.html @@ -0,0 +1,82 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: File Index + + + + + + + +
+

File List

Here is a list of all files with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sdk/common/NvBlastAssert.h [code]
sdk/common/NvBlastAtomic.h [code]
sdk/common/NvBlastDLink.h [code]
sdk/common/NvBlastFixedArray.h [code]
sdk/common/NvBlastFixedBitmap.h [code]
sdk/common/NvBlastFixedBoolArray.h [code]
sdk/common/NvBlastFixedPriorityQueue.h [code]
sdk/common/NvBlastGeometry.h [code]
sdk/common/NvBlastIncludeWindows.h [code]
sdk/common/NvBlastIndexFns.h [code]
sdk/common/NvBlastIteratorBase.h [code]
sdk/common/NvBlastMath.h [code]
sdk/common/NvBlastMemory.h [code]
sdk/common/NvBlastPreprocessorInternal.h [code]
sdk/common/NvBlastTime.h [code]
sdk/extensions/authoring/include/NvBlastExtAuthoringBondGenerator.h [code]
sdk/extensions/authoring/include/NvBlastExtAuthoringCollisionBuilder.h [code]
sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h [code]
sdk/extensions/authoring/include/NvBlastExtAuthoringMesh.h [code]
sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h [code]
sdk/extensions/converter/include/NvBlastExtDataConverter.h [code]
sdk/extensions/import/include/NvBlastExtApexImportTool.h [code]
sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h [code]
sdk/extensions/physx/include/NvBlastExtPx.h [code]
sdk/extensions/physx/include/NvBlastExtPxActor.h [code]
sdk/extensions/physx/include/NvBlastExtPxAsset.h [code]
sdk/extensions/physx/include/NvBlastExtPxFamily.h [code]
sdk/extensions/physx/include/NvBlastExtPxListener.h [code]
sdk/extensions/physx/include/NvBlastExtPxManager.h [code]
sdk/extensions/physx/include/NvBlastExtStressSolver.h [code]
sdk/extensions/physx/include/NvBlastExtSync.h [code]
sdk/extensions/serialization/include/NvBlastExtSerializationInterface.h [code]
sdk/extensions/serialization/include/NvBlastExtSerializationLLInterface.h [code]
sdk/extensions/shaders/include/NvBlastExtDamageShaders.h [code]
sdk/lowlevel/include/NvBlast.h [code]
sdk/lowlevel/include/NvBlastPreprocessor.h [code]
sdk/lowlevel/include/NvBlastProfiler.h [code]
sdk/lowlevel/include/NvBlastTypes.h [code]
sdk/profiler/NvBlastProfilerInternal.h [code]
sdk/toolkit/include/NvBlastTk.h [code]
sdk/toolkit/include/NvBlastTkActor.h [code]
sdk/toolkit/include/NvBlastTkAsset.h [code]
sdk/toolkit/include/NvBlastTkEvent.h [code]
sdk/toolkit/include/NvBlastTkFamily.h [code]
sdk/toolkit/include/NvBlastTkFramework.h [code]
sdk/toolkit/include/NvBlastTkGroup.h [code]
sdk/toolkit/include/NvBlastTkIdentifiable.h [code]
sdk/toolkit/include/NvBlastTkJoint.h [code]
sdk/toolkit/include/NvBlastTkObject.h [code]
sdk/toolkit/include/NvBlastTkSerializable.h [code]
sdk/toolkit/include/NvBlastTkType.h [code]
+
+ + + + diff --git a/docs/api_docs/files/ftv2blank.png b/docs/api_docs/files/ftv2blank.png new file mode 100644 index 0000000..493c3c0 Binary files /dev/null and b/docs/api_docs/files/ftv2blank.png differ diff --git a/docs/api_docs/files/ftv2doc.png b/docs/api_docs/files/ftv2doc.png new file mode 100644 index 0000000..f72999f Binary files /dev/null and b/docs/api_docs/files/ftv2doc.png differ diff --git a/docs/api_docs/files/ftv2folderclosed.png b/docs/api_docs/files/ftv2folderclosed.png new file mode 100644 index 0000000..d6d0634 Binary files /dev/null and b/docs/api_docs/files/ftv2folderclosed.png differ diff --git a/docs/api_docs/files/ftv2folderopen.png b/docs/api_docs/files/ftv2folderopen.png new file mode 100644 index 0000000..bbe2c91 Binary files /dev/null and b/docs/api_docs/files/ftv2folderopen.png differ diff --git a/docs/api_docs/files/ftv2lastnode.png b/docs/api_docs/files/ftv2lastnode.png new file mode 100644 index 0000000..e7b9ba9 Binary files /dev/null and b/docs/api_docs/files/ftv2lastnode.png differ diff --git a/docs/api_docs/files/ftv2link.png b/docs/api_docs/files/ftv2link.png new file mode 100644 index 0000000..14f3fed Binary files /dev/null and b/docs/api_docs/files/ftv2link.png differ diff --git a/docs/api_docs/files/ftv2mlastnode.png b/docs/api_docs/files/ftv2mlastnode.png new file mode 100644 index 0000000..09ceb6a Binary files /dev/null and b/docs/api_docs/files/ftv2mlastnode.png differ diff --git a/docs/api_docs/files/ftv2mnode.png b/docs/api_docs/files/ftv2mnode.png new file mode 100644 index 0000000..3254c05 Binary files /dev/null and b/docs/api_docs/files/ftv2mnode.png differ diff --git a/docs/api_docs/files/ftv2node.png b/docs/api_docs/files/ftv2node.png new file mode 100644 index 0000000..c9f06a5 Binary files /dev/null and b/docs/api_docs/files/ftv2node.png differ diff --git a/docs/api_docs/files/ftv2plastnode.png b/docs/api_docs/files/ftv2plastnode.png new file mode 100644 index 0000000..0b07e00 Binary files /dev/null and b/docs/api_docs/files/ftv2plastnode.png differ diff --git a/docs/api_docs/files/ftv2pnode.png b/docs/api_docs/files/ftv2pnode.png new file mode 100644 index 0000000..2001b79 Binary files /dev/null and b/docs/api_docs/files/ftv2pnode.png differ diff --git a/docs/api_docs/files/ftv2vertline.png b/docs/api_docs/files/ftv2vertline.png new file mode 100644 index 0000000..b330f3a Binary files /dev/null and b/docs/api_docs/files/ftv2vertline.png differ diff --git a/docs/api_docs/files/functions.html b/docs/api_docs/files/functions.html new file mode 100644 index 0000000..a35b46c --- /dev/null +++ b/docs/api_docs/files/functions.html @@ -0,0 +1,137 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- a -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x62.html b/docs/api_docs/files/functions_0x62.html new file mode 100644 index 0000000..704d19d --- /dev/null +++ b/docs/api_docs/files/functions_0x62.html @@ -0,0 +1,119 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- b -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x63.html b/docs/api_docs/files/functions_0x63.html new file mode 100644 index 0000000..9177980 --- /dev/null +++ b/docs/api_docs/files/functions_0x63.html @@ -0,0 +1,156 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- c -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x64.html b/docs/api_docs/files/functions_0x64.html new file mode 100644 index 0000000..e6e4ae9 --- /dev/null +++ b/docs/api_docs/files/functions_0x64.html @@ -0,0 +1,116 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- d -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x65.html b/docs/api_docs/files/functions_0x65.html new file mode 100644 index 0000000..99bbe29 --- /dev/null +++ b/docs/api_docs/files/functions_0x65.html @@ -0,0 +1,115 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- e -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x66.html b/docs/api_docs/files/functions_0x66.html new file mode 100644 index 0000000..ed8c3dd --- /dev/null +++ b/docs/api_docs/files/functions_0x66.html @@ -0,0 +1,147 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- f -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x67.html b/docs/api_docs/files/functions_0x67.html new file mode 100644 index 0000000..b8532be --- /dev/null +++ b/docs/api_docs/files/functions_0x67.html @@ -0,0 +1,303 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- g -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x68.html b/docs/api_docs/files/functions_0x68.html new file mode 100644 index 0000000..a220edb --- /dev/null +++ b/docs/api_docs/files/functions_0x68.html @@ -0,0 +1,78 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- h -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x69.html b/docs/api_docs/files/functions_0x69.html new file mode 100644 index 0000000..8d907ec --- /dev/null +++ b/docs/api_docs/files/functions_0x69.html @@ -0,0 +1,131 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- i -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x6a.html b/docs/api_docs/files/functions_0x6a.html new file mode 100644 index 0000000..5e1a529 --- /dev/null +++ b/docs/api_docs/files/functions_0x6a.html @@ -0,0 +1,77 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- j -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x6c.html b/docs/api_docs/files/functions_0x6c.html new file mode 100644 index 0000000..d9c8640 --- /dev/null +++ b/docs/api_docs/files/functions_0x6c.html @@ -0,0 +1,83 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- l -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x6d.html b/docs/api_docs/files/functions_0x6d.html new file mode 100644 index 0000000..64a5bfa --- /dev/null +++ b/docs/api_docs/files/functions_0x6d.html @@ -0,0 +1,122 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- m -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x6e.html b/docs/api_docs/files/functions_0x6e.html new file mode 100644 index 0000000..c788d70 --- /dev/null +++ b/docs/api_docs/files/functions_0x6e.html @@ -0,0 +1,98 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- n -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x6f.html b/docs/api_docs/files/functions_0x6f.html new file mode 100644 index 0000000..d6505aa --- /dev/null +++ b/docs/api_docs/files/functions_0x6f.html @@ -0,0 +1,104 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- o -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x70.html b/docs/api_docs/files/functions_0x70.html new file mode 100644 index 0000000..e8c6416 --- /dev/null +++ b/docs/api_docs/files/functions_0x70.html @@ -0,0 +1,117 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- p -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x71.html b/docs/api_docs/files/functions_0x71.html new file mode 100644 index 0000000..cb14bf7 --- /dev/null +++ b/docs/api_docs/files/functions_0x71.html @@ -0,0 +1,75 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- q -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x72.html b/docs/api_docs/files/functions_0x72.html new file mode 100644 index 0000000..2519ff3 --- /dev/null +++ b/docs/api_docs/files/functions_0x72.html @@ -0,0 +1,124 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- r -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x73.html b/docs/api_docs/files/functions_0x73.html new file mode 100644 index 0000000..5ada531 --- /dev/null +++ b/docs/api_docs/files/functions_0x73.html @@ -0,0 +1,165 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- s -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x74.html b/docs/api_docs/files/functions_0x74.html new file mode 100644 index 0000000..94b4fcf --- /dev/null +++ b/docs/api_docs/files/functions_0x74.html @@ -0,0 +1,117 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- t -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x75.html b/docs/api_docs/files/functions_0x75.html new file mode 100644 index 0000000..b90b0cb --- /dev/null +++ b/docs/api_docs/files/functions_0x75.html @@ -0,0 +1,106 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- u -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x76.html b/docs/api_docs/files/functions_0x76.html new file mode 100644 index 0000000..cffbb5d --- /dev/null +++ b/docs/api_docs/files/functions_0x76.html @@ -0,0 +1,87 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- v -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x77.html b/docs/api_docs/files/functions_0x77.html new file mode 100644 index 0000000..b325dba --- /dev/null +++ b/docs/api_docs/files/functions_0x77.html @@ -0,0 +1,77 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- w -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x78.html b/docs/api_docs/files/functions_0x78.html new file mode 100644 index 0000000..fa98e21 --- /dev/null +++ b/docs/api_docs/files/functions_0x78.html @@ -0,0 +1,75 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- x -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x79.html b/docs/api_docs/files/functions_0x79.html new file mode 100644 index 0000000..d096e6d --- /dev/null +++ b/docs/api_docs/files/functions_0x79.html @@ -0,0 +1,75 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- y -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x7a.html b/docs/api_docs/files/functions_0x7a.html new file mode 100644 index 0000000..dcf6bbf --- /dev/null +++ b/docs/api_docs/files/functions_0x7a.html @@ -0,0 +1,75 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- z -

+
+ + + + diff --git a/docs/api_docs/files/functions_0x7e.html b/docs/api_docs/files/functions_0x7e.html new file mode 100644 index 0000000..8e4b5f3 --- /dev/null +++ b/docs/api_docs/files/functions_0x7e.html @@ -0,0 +1,91 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all class members with links to the classes they belong to: +

+

- ~ -

+
+ + + + diff --git a/docs/api_docs/files/functions_enum.html b/docs/api_docs/files/functions_enum.html new file mode 100644 index 0000000..ec758f3 --- /dev/null +++ b/docs/api_docs/files/functions_enum.html @@ -0,0 +1,71 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Enumerations + + + + + + + +
+ +
+
+  +

+

+
+ + + + diff --git a/docs/api_docs/files/functions_eval.html b/docs/api_docs/files/functions_eval.html new file mode 100644 index 0000000..2b16585 --- /dev/null +++ b/docs/api_docs/files/functions_eval.html @@ -0,0 +1,193 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Enumerator + + + + + + + +
+ +
+
+ +
+
+  +

+

- a -

+

- b -

+

- c -

+

- d -

+

- e -

+

- f -

+

- g -

+

- h -

+

- i -

+

- j -

+

- l -

+

- m -

+

- n -

+

- p -

+

- r -

+

- s -

+

- t -

+

- u -

+

- w -

+
+ + + + diff --git a/docs/api_docs/files/functions_func.html b/docs/api_docs/files/functions_func.html new file mode 100644 index 0000000..70f31ad --- /dev/null +++ b/docs/api_docs/files/functions_func.html @@ -0,0 +1,90 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- a -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x62.html b/docs/api_docs/files/functions_func_0x62.html new file mode 100644 index 0000000..399ac1d --- /dev/null +++ b/docs/api_docs/files/functions_func_0x62.html @@ -0,0 +1,75 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- b -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x63.html b/docs/api_docs/files/functions_func_0x63.html new file mode 100644 index 0000000..1674a3c --- /dev/null +++ b/docs/api_docs/files/functions_func_0x63.html @@ -0,0 +1,98 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- c -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x64.html b/docs/api_docs/files/functions_func_0x64.html new file mode 100644 index 0000000..7d2f44a --- /dev/null +++ b/docs/api_docs/files/functions_func_0x64.html @@ -0,0 +1,82 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- d -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x65.html b/docs/api_docs/files/functions_func_0x65.html new file mode 100644 index 0000000..9dbdaf5 --- /dev/null +++ b/docs/api_docs/files/functions_func_0x65.html @@ -0,0 +1,79 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- e -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x66.html b/docs/api_docs/files/functions_func_0x66.html new file mode 100644 index 0000000..ef70621 --- /dev/null +++ b/docs/api_docs/files/functions_func_0x66.html @@ -0,0 +1,90 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- f -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x67.html b/docs/api_docs/files/functions_func_0x67.html new file mode 100644 index 0000000..42dcca8 --- /dev/null +++ b/docs/api_docs/files/functions_func_0x67.html @@ -0,0 +1,280 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- g -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x69.html b/docs/api_docs/files/functions_func_0x69.html new file mode 100644 index 0000000..fce6136 --- /dev/null +++ b/docs/api_docs/files/functions_func_0x69.html @@ -0,0 +1,99 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- i -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x6c.html b/docs/api_docs/files/functions_func_0x6c.html new file mode 100644 index 0000000..f6793e2 --- /dev/null +++ b/docs/api_docs/files/functions_func_0x6c.html @@ -0,0 +1,69 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- l -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x6d.html b/docs/api_docs/files/functions_func_0x6d.html new file mode 100644 index 0000000..d7203b6 --- /dev/null +++ b/docs/api_docs/files/functions_func_0x6d.html @@ -0,0 +1,67 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- m -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x6f.html b/docs/api_docs/files/functions_func_0x6f.html new file mode 100644 index 0000000..ee0253a --- /dev/null +++ b/docs/api_docs/files/functions_func_0x6f.html @@ -0,0 +1,94 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- o -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x70.html b/docs/api_docs/files/functions_func_0x70.html new file mode 100644 index 0000000..ea785f6 --- /dev/null +++ b/docs/api_docs/files/functions_func_0x70.html @@ -0,0 +1,81 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- p -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x72.html b/docs/api_docs/files/functions_func_0x72.html new file mode 100644 index 0000000..4f11a50 --- /dev/null +++ b/docs/api_docs/files/functions_func_0x72.html @@ -0,0 +1,110 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- r -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x73.html b/docs/api_docs/files/functions_func_0x73.html new file mode 100644 index 0000000..76bd3cc --- /dev/null +++ b/docs/api_docs/files/functions_func_0x73.html @@ -0,0 +1,119 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- s -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x74.html b/docs/api_docs/files/functions_func_0x74.html new file mode 100644 index 0000000..74e3bd1 --- /dev/null +++ b/docs/api_docs/files/functions_func_0x74.html @@ -0,0 +1,86 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- t -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x75.html b/docs/api_docs/files/functions_func_0x75.html new file mode 100644 index 0000000..93144d2 --- /dev/null +++ b/docs/api_docs/files/functions_func_0x75.html @@ -0,0 +1,72 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- u -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x76.html b/docs/api_docs/files/functions_func_0x76.html new file mode 100644 index 0000000..931e32a --- /dev/null +++ b/docs/api_docs/files/functions_func_0x76.html @@ -0,0 +1,71 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- v -

+
+ + + + diff --git a/docs/api_docs/files/functions_func_0x7e.html b/docs/api_docs/files/functions_func_0x7e.html new file mode 100644 index 0000000..fe37b27 --- /dev/null +++ b/docs/api_docs/files/functions_func_0x7e.html @@ -0,0 +1,83 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Functions + + + + + + + +
+ +
+
+ +
+
+  +

+

- ~ -

+
+ + + + diff --git a/docs/api_docs/files/functions_rela.html b/docs/api_docs/files/functions_rela.html new file mode 100644 index 0000000..6f77796 --- /dev/null +++ b/docs/api_docs/files/functions_rela.html @@ -0,0 +1,45 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Related Functions + + + + + + + +
+ +
+
+  +

+

+
+ + + + diff --git a/docs/api_docs/files/functions_vars.html b/docs/api_docs/files/functions_vars.html new file mode 100644 index 0000000..b34d775 --- /dev/null +++ b/docs/api_docs/files/functions_vars.html @@ -0,0 +1,104 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- a -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x62.html b/docs/api_docs/files/functions_vars_0x62.html new file mode 100644 index 0000000..f47ac85 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x62.html @@ -0,0 +1,101 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- b -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x63.html b/docs/api_docs/files/functions_vars_0x63.html new file mode 100644 index 0000000..75c9eaf --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x63.html @@ -0,0 +1,110 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- c -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x64.html b/docs/api_docs/files/functions_vars_0x64.html new file mode 100644 index 0000000..69073c1 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x64.html @@ -0,0 +1,90 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- d -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x65.html b/docs/api_docs/files/functions_vars_0x65.html new file mode 100644 index 0000000..1f2a39d --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x65.html @@ -0,0 +1,85 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- e -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x66.html b/docs/api_docs/files/functions_vars_0x66.html new file mode 100644 index 0000000..c6717f2 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x66.html @@ -0,0 +1,98 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- f -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x67.html b/docs/api_docs/files/functions_vars_0x67.html new file mode 100644 index 0000000..c8ceba6 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x67.html @@ -0,0 +1,84 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- g -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x68.html b/docs/api_docs/files/functions_vars_0x68.html new file mode 100644 index 0000000..82df222 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x68.html @@ -0,0 +1,74 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- h -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x69.html b/docs/api_docs/files/functions_vars_0x69.html new file mode 100644 index 0000000..8031fad --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x69.html @@ -0,0 +1,88 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- i -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x6a.html b/docs/api_docs/files/functions_vars_0x6a.html new file mode 100644 index 0000000..cf7a91d --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x6a.html @@ -0,0 +1,73 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- j -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x6d.html b/docs/api_docs/files/functions_vars_0x6d.html new file mode 100644 index 0000000..ff97583 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x6d.html @@ -0,0 +1,114 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- m -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x6e.html b/docs/api_docs/files/functions_vars_0x6e.html new file mode 100644 index 0000000..fdefcf8 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x6e.html @@ -0,0 +1,93 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- n -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x6f.html b/docs/api_docs/files/functions_vars_0x6f.html new file mode 100644 index 0000000..2da4f3b --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x6f.html @@ -0,0 +1,73 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- o -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x70.html b/docs/api_docs/files/functions_vars_0x70.html new file mode 100644 index 0000000..12a0eb8 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x70.html @@ -0,0 +1,97 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- p -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x71.html b/docs/api_docs/files/functions_vars_0x71.html new file mode 100644 index 0000000..4f537ea --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x71.html @@ -0,0 +1,73 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- q -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x72.html b/docs/api_docs/files/functions_vars_0x72.html new file mode 100644 index 0000000..df1884a --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x72.html @@ -0,0 +1,75 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- r -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x73.html b/docs/api_docs/files/functions_vars_0x73.html new file mode 100644 index 0000000..011a544 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x73.html @@ -0,0 +1,98 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- s -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x74.html b/docs/api_docs/files/functions_vars_0x74.html new file mode 100644 index 0000000..42150a9 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x74.html @@ -0,0 +1,87 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- t -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x75.html b/docs/api_docs/files/functions_vars_0x75.html new file mode 100644 index 0000000..32ee931 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x75.html @@ -0,0 +1,95 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- u -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x76.html b/docs/api_docs/files/functions_vars_0x76.html new file mode 100644 index 0000000..63d0ffe --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x76.html @@ -0,0 +1,76 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- v -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x77.html b/docs/api_docs/files/functions_vars_0x77.html new file mode 100644 index 0000000..6bc7e71 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x77.html @@ -0,0 +1,73 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- w -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x78.html b/docs/api_docs/files/functions_vars_0x78.html new file mode 100644 index 0000000..d52105d --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x78.html @@ -0,0 +1,73 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- x -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x79.html b/docs/api_docs/files/functions_vars_0x79.html new file mode 100644 index 0000000..c966c77 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x79.html @@ -0,0 +1,73 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- y -

+
+ + + + diff --git a/docs/api_docs/files/functions_vars_0x7a.html b/docs/api_docs/files/functions_vars_0x7a.html new file mode 100644 index 0000000..6f50630 --- /dev/null +++ b/docs/api_docs/files/functions_vars_0x7a.html @@ -0,0 +1,73 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members - Variables + + + + + + + +
+ +
+
+ +
+
+  +

+

- z -

+
+ + + + diff --git a/docs/api_docs/files/globals.html b/docs/api_docs/files/globals.html new file mode 100644 index 0000000..6fa0fa3 --- /dev/null +++ b/docs/api_docs/files/globals.html @@ -0,0 +1,352 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+Here is a list of all file members with links to the files they belong to: +

+

- _ -

+

- d -

+

- n -

+

- p -

+

- s -

+
+ + + + diff --git a/docs/api_docs/files/globals_defs.html b/docs/api_docs/files/globals_defs.html new file mode 100644 index 0000000..0ceb20e --- /dev/null +++ b/docs/api_docs/files/globals_defs.html @@ -0,0 +1,174 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+  +

+

- _ -

+

- n -

+

- p -

+
+ + + + diff --git a/docs/api_docs/files/globals_func.html b/docs/api_docs/files/globals_func.html new file mode 100644 index 0000000..b7f3cff --- /dev/null +++ b/docs/api_docs/files/globals_func.html @@ -0,0 +1,218 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+ +
+
+  +

+

- d -

+

- n -

+

- s -

+
+ + + + diff --git a/docs/api_docs/files/globals_type.html b/docs/api_docs/files/globals_type.html new file mode 100644 index 0000000..8d4a08d --- /dev/null +++ b/docs/api_docs/files/globals_type.html @@ -0,0 +1,47 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+  +

+

+
+ + + + diff --git a/docs/api_docs/files/hierarchy.html b/docs/api_docs/files/hierarchy.html new file mode 100644 index 0000000..7b04cb8 --- /dev/null +++ b/docs/api_docs/files/hierarchy.html @@ -0,0 +1,172 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Hierarchical Index + + + + + + + +
+

Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically: +
+ + + + diff --git a/docs/api_docs/files/index.html b/docs/api_docs/files/index.html new file mode 100644 index 0000000..d962991 --- /dev/null +++ b/docs/api_docs/files/index.html @@ -0,0 +1,11 @@ + + +NVIDIA(R) Blast(R) SDK 1.0 API Reference + + + + + <a href="main.html">Frames are disabled. Click here to go to the main page.</a> + + + diff --git a/docs/api_docs/files/introduction_8txt.html b/docs/api_docs/files/introduction_8txt.html new file mode 100644 index 0000000..f9b1b7e --- /dev/null +++ b/docs/api_docs/files/introduction_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/introduction.txt File Reference + + + + + + + +
+

docs/_source/introduction.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/main.html b/docs/api_docs/files/main.html new file mode 100644 index 0000000..5ceff66 --- /dev/null +++ b/docs/api_docs/files/main.html @@ -0,0 +1,45 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Main Page + + + + + + + +
+

NVIDIA(R) Blast(R) SDK 1.0 API Reference Documentation

+

+

+
+ + + + diff --git a/docs/api_docs/files/namespace_nv.html b/docs/api_docs/files/namespace_nv.html new file mode 100644 index 0000000..7e74426 --- /dev/null +++ b/docs/api_docs/files/namespace_nv.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv Namespace Reference + + + + + + + +
+

Nv Namespace Reference

+ + + + +

Namespaces

namespace  Blast
+
+ + + + diff --git a/docs/api_docs/files/namespace_nv_1_1_blast.html b/docs/api_docs/files/namespace_nv_1_1_blast.html new file mode 100644 index 0000000..4c81601 --- /dev/null +++ b/docs/api_docs/files/namespace_nv_1_1_blast.html @@ -0,0 +1,1054 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast Namespace Reference + + + + + + + + +
+

Nv::Blast Namespace Reference

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Namespaces

namespace  ApexImporter
namespace  VecMath

Classes

class  BlastBondGenerator
struct  BondGenerationConfig
struct  ChunkInfo
struct  CollisionHull
class  ConvexMeshBuilder
struct  DLink
class  DList
class  DListIt
struct  Edge
class  ExtImpactDamageManager
struct  ExtImpactSettings
class  ExtPxActor
struct  ExtPxActorDescTemplate
class  ExtPxAsset
struct  ExtPxAssetDesc
struct  ExtPxChunk
class  ExtPxFamily
struct  ExtPxFamilyDesc
class  ExtPxListener
class  ExtPxManager
struct  ExtPxShapeDescTemplate
struct  ExtPxSpawnSettings
struct  ExtPxSubchunk
class  ExtStressSolver
struct  ExtStressSolverSettings
class  ExtSync
struct  ExtSyncEvent
struct  ExtSyncEventFamilySync
struct  ExtSyncEventFracture
struct  ExtSyncEventInstance
struct  ExtSyncEventPhysicsSync
struct  ExtSyncEventType
struct  Facet
class  FixedArray
class  FixedBitmap
class  FixedBoolArray
class  FixedPriorityQueue
class  FractureTool
struct  IndexDLink
class  IndexDList
class  IteratorBase
struct  Less
class  LListIt
class  Mesh
struct  PlaneChunkIndexer
class  RandomGeneratorBase
struct  SlicingConfiguration
class  Time
class  TkActor
struct  TkActorData
struct  TkActorDesc
class  TkAsset
struct  TkAssetDesc
struct  TkAssetJointDesc
struct  TkEvent
class  TkEventListener
class  TkFamily
struct  TkFractureCommands
struct  TkFractureEvents
class  TkFramework
struct  TkFrameworkDesc
class  TkGroup
struct  TkGroupDesc
struct  TkGroupStats
class  TkIdentifiable
class  TkJoint
struct  TkJointData
struct  TkJointDesc
struct  TkJointUpdateEvent
class  TkObject
class  TkSerializable
struct  TkSplitEvent
class  TkType
struct  TkTypeIndex
struct  Triangle
struct  TriangleIndexed
struct  Vertex
class  VoronoiSitesGenerator

Typedefs

typedef bool(* ExtImpactDamageFunction )(void *data, ExtPxActor *actor, physx::PxShape *shape, physx::PxVec3 worldPos, physx::PxVec3 worldForce)
typedef physx::PxJoint *(* ExtPxCreateJointFunction )(ExtPxActor *actor0, const physx::PxTransform &localFrame0, ExtPxActor *actor1, const physx::PxTransform &localFrame1, physx::PxPhysics &physics, TkJoint &joint)

Functions

template<typename T >
NV_INLINE T align16 (T value)
int32_t atomicDecrement (volatile int32_t *val)
int32_t atomicIncrement (volatile int32_t *val)
bool convertDataBlock (std::vector< char > &outBlock, const std::vector< char > &inBlock, uint32_t *outBlockVersion=nullptr)
template<typename T >
void createIndexStartLookup (T *lookup, T indexBase, T indexRange, T *indexSource, T indexCount, T indexByteStride)
NV_FORCE_INLINE uint32_t findNodeByPosition (const float point[4], const uint32_t graphNodesCount, const uint32_t *graphNodeIndices, const NvBlastSupportGraph &graph, const NvBlastBond *bonds, const float *bondHealths)
NV_FORCE_INLINE uint32_t findNodeByPosition (const float point[4], const uint32_t graphNodesCount, const uint32_t *graphNodeIndices, const uint32_t *adjacencyPartition, const uint32_t *adjacentNodeIndices, const uint32_t *adjacentBondIndices, const NvBlastBond *bonds, const float *bondHealths)
NV_FORCE_INLINE uint32_t findNodeByPositionLinked (const float point[4], const uint32_t firstGraphNodeIndex, const uint32_t *familyGraphNodeIndexLinks, const uint32_t *adjacencyPartition, const uint32_t *adjacentNodeIndices, const uint32_t *adjacentBondIndices, const NvBlastBond *bonds, const float *bondHealths)
MeshgetBigBox (const physx::PxVec3 &point, float size)
MeshgetCuttingBox (const physx::PxVec3 &point, const physx::PxVec3 &normal, float size, int32_t id)
MeshgetNoisyCuttingBoxPair (const physx::PxVec3 &point, const physx::PxVec3 &normal, float size, float jaggedPlaneSize, uint32_t resolution, int32_t id, float amplitude, float frequency, int32_t octaves, int32_t seed)
template<typename T >
NV_INLINE T invalidIndex ()
void inverseNormalAndSetIndices (Mesh *mesh, int32_t id)
template<typename T >
void invertMap (T *inverseMap, const T *map, const T size)
template<typename T >
NV_INLINE bool isInvalidIndex (T index)
template<typename T >
NV_INLINE T pointerOffset (const void *p, ptrdiff_t offset)
template<typename T >
NV_INLINE T pointerOffset (void *p, ptrdiff_t offset)
void setCuttingBox (const physx::PxVec3 &point, const physx::PxVec3 &normal, Mesh *mesh, float size, int32_t id)
+

Typedef Documentation

+ +
+
+ + + + +
typedef bool(* Nv::Blast::ExtImpactDamageFunction)(void *data, ExtPxActor *actor, physx::PxShape *shape, physx::PxVec3 worldPos, physx::PxVec3 worldForce)
+
+
+ +

+Custom Damage Function +

+

+ +

+
+ + + + +
typedef physx::PxJoint*(* Nv::Blast::ExtPxCreateJointFunction)(ExtPxActor *actor0, const physx::PxTransform &localFrame0, ExtPxActor *actor1, const physx::PxTransform &localFrame1, physx::PxPhysics &physics, TkJoint &joint)
+
+
+ +

+Function pointer for PxJoint creation.

+It will be called when new joints are being created. It should return valid PxJoint pointer or nullptr. +

+

+


Function Documentation

+ +
+
+
+template<typename T >
+ + + + + + + + + +
NV_INLINE T Nv::Blast::align16 ( value  )  [inline]
+
+
+ +

+Utility function to align the given value to the next 16-byte boundary.

+Returns the aligned value. +

+

+ +

+
+ + + + + + + + + +
int32_t Nv::Blast::atomicDecrement (volatile int32_t *  val  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
int32_t Nv::Blast::atomicIncrement (volatile int32_t *  val  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool Nv::Blast::convertDataBlock (std::vector< char > &  outBlock,
const std::vector< char > &  inBlock,
uint32_t *  outBlockVersion = nullptr 
)
+
+
+ +

+Generic version conversion function for Blast data blocks.

+Automatically determines block type (one of NvBlastDataBlock::Type) and uses appropriate converter.

+

Parameters:
+ + + + +
[out] outBlock User-supplied memory block to fill with new data.
[in] inBlock Data block to convert.
[in] outBlockVersion Version to convert too, pass 'nullptr' to convert to the latest version.
+
+
Returns:
true iff conversion was successful.
+ +
+

+ +

+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void Nv::Blast::createIndexStartLookup (T *  lookup,
indexBase,
indexRange,
T *  indexSource,
indexCount,
indexByteStride 
) [inline]
+
+
+ +

+Create a lookup table for data sorted by a templated index type.

+Note: when using this function with unsigned integer index types invalidIndex<T>() is treated as a value less than zero.

+On input:

+The indices must lie in the interval [indexBase, indexBase+indexRange].

+indexSource must point to the first index in the data.

+indexCount must be set to the number of indices in the data.

+indexByteStride must be set to the distance, in bytes, between subequent indices.

+lookup must point to a T array of size indexRange+2.

+On return:

+lookup will be filled such that:

+lookup[i] = the position of first data element with index (i + indexBase)

+lookup[indexRange+1] = indexCount

+The last (indexRange+1) element is used so that one may always determine the number of data elements with the given index using:

+count = lookup[i+1] - lookup[i]

+Note, if an index (i + indexBase) is not present in the data then, lookup[i+1] = lookup[i], so the count (above) will correctly be zero. In this case, the actual value of lookup[i] is irrelevant. +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NV_FORCE_INLINE uint32_t Nv::Blast::findNodeByPosition (const float  point[4],
const uint32_t  graphNodesCount,
const uint32_t *  graphNodeIndices,
const NvBlastSupportGraph graph,
const NvBlastBond bonds,
const float *  bondHealths 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NV_FORCE_INLINE uint32_t Nv::Blast::findNodeByPosition (const float  point[4],
const uint32_t  graphNodesCount,
const uint32_t *  graphNodeIndices,
const uint32_t *  adjacencyPartition,
const uint32_t *  adjacentNodeIndices,
const uint32_t *  adjacentBondIndices,
const NvBlastBond bonds,
const float *  bondHealths 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NV_FORCE_INLINE uint32_t Nv::Blast::findNodeByPositionLinked (const float  point[4],
const uint32_t  firstGraphNodeIndex,
const uint32_t *  familyGraphNodeIndexLinks,
const uint32_t *  adjacencyPartition,
const uint32_t *  adjacentNodeIndices,
const uint32_t *  adjacentBondIndices,
const NvBlastBond bonds,
const float *  bondHealths 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
Mesh* Nv::Blast::getBigBox (const physx::PxVec3 &  point,
float  size 
)
+
+
+ +

+Create box at some particular position.

Parameters:
+ + + +
[in] point Cutting face center
[in] size Cutting box size
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mesh* Nv::Blast::getCuttingBox (const physx::PxVec3 &  point,
const physx::PxVec3 &  normal,
float  size,
int32_t  id 
)
+
+
+ +

+Create cutting box at some particular position.

Parameters:
+ + + + + +
[in] point Cutting face center
[in] normal Cutting face normal
[in] size Cutting box size
[in] id Cutting box ID
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mesh* Nv::Blast::getNoisyCuttingBoxPair (const physx::PxVec3 &  point,
const physx::PxVec3 &  normal,
float  size,
float  jaggedPlaneSize,
uint32_t  resolution,
int32_t  id,
float  amplitude,
float  frequency,
int32_t  octaves,
int32_t  seed 
)
+
+
+ +

+Create slicing box with noisy cutting surface.

Parameters:
+ + + + + + + + + + + +
[in] point Cutting face center
[in] normal Cutting face normal
[in] size Cutting box size
[in] jaggedPlaneSize Noisy surface size
[in] resolution Noisy surface resolution
[in] id Cutting box ID
[in] amplitude Noise amplitude
[in] frequency Noise frequency
[in] octaves Noise octaves
[in] seed Random generator seed, used for noise generation.
+
+ +
+

+ +

+
+
+template<typename T >
+ + + + + + + + +
NV_INLINE T Nv::Blast::invalidIndex (  )  [inline]
+
+
+ +

+Set to invalid index. +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void Nv::Blast::inverseNormalAndSetIndices (Mesh *  mesh,
int32_t  id 
)
+
+
+ +

+Inverses normals of cutting box and sets indices.

Parameters:
+ + + +
[in] mesh Cutting box mesh
[in] id Cutting box ID
+
+ +
+

+ +

+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Nv::Blast::invertMap (T *  inverseMap,
const T *  map,
const T  size 
) [inline]
+
+
+ +

+Creates the inverse of a map, such that inverseMap[map[i]] = i. Unmapped indices are set to invalidIndex<T>.

+

Parameters:
+ + + + +
[out] inverseMap inverse map space of given size
[in] map original map of given size, unmapped entries must contain invalidIndex<T>
[in] size size of the involved maps
+
+ +
+

+ +

+
+
+template<typename T >
+ + + + + + + + + +
NV_INLINE bool Nv::Blast::isInvalidIndex ( index  )  [inline]
+
+
+ +

+Test for invalid index (max representable integer). +

+

+ +

+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
NV_INLINE const void * Nv::Blast::pointerOffset (const void *  p,
ptrdiff_t  offset 
) [inline]
+
+
+ +

+ +

+

+ +

+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
NV_INLINE void * Nv::Blast::pointerOffset (void *  p,
ptrdiff_t  offset 
) [inline]
+
+
+ +

+Offset void* pointer by 'offset' bytes helper-functions +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void Nv::Blast::setCuttingBox (const physx::PxVec3 &  point,
const physx::PxVec3 &  normal,
Mesh *  mesh,
float  size,
int32_t  id 
)
+
+
+ +

+Helper functions Set cutting box at some particular position.

Parameters:
+ + + + + + +
[in] point Cutting face center
[in] normal Cutting face normal
[in] mesh Cutting box mesh
[in] size Cutting box size
[in] id Cutting box ID
+
+ +
+

+

+ + + + diff --git a/docs/api_docs/files/namespace_nv_1_1_blast_1_1_apex_importer.html b/docs/api_docs/files/namespace_nv_1_1_blast_1_1_apex_importer.html new file mode 100644 index 0000000..a728028 --- /dev/null +++ b/docs/api_docs/files/namespace_nv_1_1_blast_1_1_apex_importer.html @@ -0,0 +1,39 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ApexImporter Namespace Reference + + + + + + + + +
+

Nv::Blast::ApexImporter Namespace Reference

+ + + + + + +

Classes

struct  ApexImporterConfig
class  ApexImportTool
+
+ + + + diff --git a/docs/api_docs/files/namespace_nv_1_1_blast_1_1_vec_math.html b/docs/api_docs/files/namespace_nv_1_1_blast_1_1_vec_math.html new file mode 100644 index 0000000..d6ce848 --- /dev/null +++ b/docs/api_docs/files/namespace_nv_1_1_blast_1_1_vec_math.html @@ -0,0 +1,265 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::VecMath Namespace Reference + + + + + + + + +
+

Nv::Blast::VecMath Namespace Reference

+ + + + + + + + + + + + + + + + +

Functions

NV_INLINE void add (const float a[3], const float b[3], float r[3])
NV_INLINE void add (const float a[3], float b[3])
NV_INLINE void div (float a[3], float divisor)
NV_INLINE float dot (const float a[3], const float b[3])
NV_INLINE void mul (float a[3], float multiplier)
NV_INLINE float normal (const float a[3], float r[3])
NV_INLINE void sub (const float a[3], const float b[3], float r[3])
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
NV_INLINE void Nv::Blast::VecMath::add (const float  a[3],
const float  b[3],
float  r[3] 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
NV_INLINE void Nv::Blast::VecMath::add (const float  a[3],
float  b[3] 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
NV_INLINE void Nv::Blast::VecMath::div (float  a[3],
float  divisor 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
NV_INLINE float Nv::Blast::VecMath::dot (const float  a[3],
const float  b[3] 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
NV_INLINE void Nv::Blast::VecMath::mul (float  a[3],
float  multiplier 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
NV_INLINE float Nv::Blast::VecMath::normal (const float  a[3],
float  r[3] 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
NV_INLINE void Nv::Blast::VecMath::sub (const float  a[3],
const float  b[3],
float  r[3] 
)
+
+
+ +

+ +

+

+

+ + + + diff --git a/docs/api_docs/files/namespacemembers.html b/docs/api_docs/files/namespacemembers.html new file mode 100644 index 0000000..d208caf --- /dev/null +++ b/docs/api_docs/files/namespacemembers.html @@ -0,0 +1,88 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+Here is a list of all namespace members with links to the namespace documentation for each member: +

+

+
+ + + + diff --git a/docs/api_docs/files/namespacemembers_func.html b/docs/api_docs/files/namespacemembers_func.html new file mode 100644 index 0000000..f5d69ef --- /dev/null +++ b/docs/api_docs/files/namespacemembers_func.html @@ -0,0 +1,84 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+  +

+

+
+ + + + diff --git a/docs/api_docs/files/namespacemembers_type.html b/docs/api_docs/files/namespacemembers_type.html new file mode 100644 index 0000000..e312358 --- /dev/null +++ b/docs/api_docs/files/namespacemembers_type.html @@ -0,0 +1,44 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Class Members + + + + + + + +
+ +
+
+  +

+

+
+ + + + diff --git a/docs/api_docs/files/namespacenvidia.html b/docs/api_docs/files/namespacenvidia.html new file mode 100644 index 0000000..52add2b --- /dev/null +++ b/docs/api_docs/files/namespacenvidia.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: nvidia Namespace Reference + + + + + + + +
+

nvidia Namespace Reference

+ + + + +

Namespaces

namespace  apex
+
+ + + + diff --git a/docs/api_docs/files/namespacenvidia_1_1apex.html b/docs/api_docs/files/namespacenvidia_1_1apex.html new file mode 100644 index 0000000..e1dd54d --- /dev/null +++ b/docs/api_docs/files/namespacenvidia_1_1apex.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: nvidia::apex Namespace Reference + + + + + + + + +
+

nvidia::apex Namespace Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/namespacephysx.html b/docs/api_docs/files/namespacephysx.html new file mode 100644 index 0000000..aa632a9 --- /dev/null +++ b/docs/api_docs/files/namespacephysx.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: physx Namespace Reference + + + + + + + +
+

physx Namespace Reference

+ + + + +

Namespaces

namespace  general_PxIOStream2
+
+ + + + diff --git a/docs/api_docs/files/namespacephysx_1_1general___px_i_o_stream2.html b/docs/api_docs/files/namespacephysx_1_1general___px_i_o_stream2.html new file mode 100644 index 0000000..221fe96 --- /dev/null +++ b/docs/api_docs/files/namespacephysx_1_1general___px_i_o_stream2.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: physx::general_PxIOStream2 Namespace Reference + + + + + + + + +
+

physx::general_PxIOStream2 Namespace Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/namespaces.html b/docs/api_docs/files/namespaces.html new file mode 100644 index 0000000..4ce7ef8 --- /dev/null +++ b/docs/api_docs/files/namespaces.html @@ -0,0 +1,39 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Namespace Index + + + + + + + +
+

Namespace List

Here is a list of all namespaces with brief descriptions: + + + + + + + + +
Nv
Nv::Blast
Nv::Blast::ApexImporter
Nv::Blast::VecMath
nvidia
nvidia::apex
physx
physx::general_PxIOStream2
+
+ + + + diff --git a/docs/api_docs/files/pageauthoring.html b/docs/api_docs/files/pageauthoring.html new file mode 100644 index 0000000..20d1c00 --- /dev/null +++ b/docs/api_docs/files/pageauthoring.html @@ -0,0 +1,107 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: AuthoringTool + + + + + + + +
+

AuthoringTool

The application AuthoringTool is a command-line asset authoring utility. It reads a file containing a single graphics mesh (currently .fbx and .obj format are supported in this tool), and fractures it according to the parameters given in the command line. User can configure output of tool. It can save render mesh geometry to .fbx or .obj file.

+Additionally user can set how Blast data should be saved:

+1) BPXA-asset which incorporates Blast data and collision geometry for physics engine.

+2) LL-asset which is Low Level asset data

+3) Tk-asset which is Toolkit asset data

+BPXA and .obj files may be consumed by the SampleAssetViewer.

+

+
+USAGE:
+
+   AuthoringTool  <infile> <output asset name> [--ovar <by default 0.0>] [--avar <by default 0.0>] [--slices <by default 1 1 1>] [--radius <by default 1.0>]
+                                      	       [--clusters <by default 5>][--cells <by default 5>] [--mode <v - voronoi, c - clustered voronoi, s - slicing.>] 
+											   [--block] [--proto]
+                                       	       [--fbx] [--obj] [--fbxascii]
+                                               [--ue4] [--ll] [--tk] [--bpxa]
+                                               [--outputDir <by default directory of the input file>] [--]
+                                               [--version] [-h]  
+
+
+Where:
+
+   Blast data output mode:
+
+  	 --bpxa output BPXA asset
+   	 --tk   output Toolkit asset
+  	 --ll   output Low Level asset
+
+   Blast data serialization mode:
+   
+	 --block - Serialize Blast asset as continuous block of memory	 
+	 --proto - Serialize Blast asset with CapnProto
+	 
+   Render mesh geometry output mode:
+
+	--fbx Output render mesh to .fbx file
+	--obj Output render mesh to .obj file
+	
+		   
+   --ue4 Enable output FBX with UE4 coordinate system	
+	
+   --ovar <by default 0.0>
+     Slicing offset variation
+
+   --avar <by default 0.0>
+     Slicing angle variation
+
+   --slices <by default 1 1 1>
+     Number of slices per direction
+
+   --clusters <by default 5>
+     Uniform Voronoi cluster count
+
+   --cells <by default 5>
+     Voronoi cells count
+
+   --mode <v - voronoi, c - clustered voronoi, s - slicing.>
+     Fracturing mode
+   
+   --radius <by default 0.5> 
+	 Cluster radius for clustered Voronoi fracturing mode.
+
+   --outputDir <output directory>
+	 Result output directory. If is not specified, result will be saved to folder with input file.
+
+
+   --,  --ignore_rest
+     Ignores the rest of the labeled arguments following this flag.
+
+   --version
+     Displays version information and exits.
+
+   -h,  --help
+     Displays usage information and exits.
+
+

+
+ See Copyrights for license information regarding third-party software used by ApexImporter.

+
+

+ + + + diff --git a/docs/api_docs/files/pageconverter.html b/docs/api_docs/files/pageconverter.html new file mode 100644 index 0000000..18ac0a3 --- /dev/null +++ b/docs/api_docs/files/pageconverter.html @@ -0,0 +1,62 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: DataConverter + + + + + + + +
+

DataConverter

+
+USAGE:
+
+   DataConverter  -i <infile> -o <outfile> [-v <outversion>] [--]
+                         [--version] [-h]
+
+Where:
+
+   -i <infile>,  --infile <infile>
+     (required)  Input binary file.
+
+   -o <outfile>,  --outfile <outfile>
+     (required)  Output binary file.
+
+   -v <outversion>,  --outversion <outversion>
+     Output binary block version. Pass -1 or ignore this parameter to
+     convert to latest version.
+
+   --,  --ignore_rest
+     Ignores the rest of the labeled arguments following this flag.
+
+   --version
+     Displays version information and exits.
+
+   -h,  --help
+     Displays usage information and exits.
+
+

+Blast™ low-level and Tk libraries will only load data in the most current format. If your data is in an older format, you may use the Data Format Conversion Extension (NvBlastExtConverterLL) API to convert to the current format.

+DataConverter.exe is a utility to convert Blast™ data from an older format into the current format. The data must be stored in a binary-format file with filename given as the <infile> parameter. It uses the Data Format Conversion Extension (NvBlastExtConverterLL) API to perform the conversion.

+Currently, DataConverter only works on the low-level data formats for an asset (NvBlastAsset) and family (NvBlastFamily). The .blast files used by SampleAssetViewer (see Samples) may be converted using this tool.

+
+

+ + + + diff --git a/docs/api_docs/files/pagecopyrights.html b/docs/api_docs/files/pagecopyrights.html new file mode 100644 index 0000000..9e5af5c --- /dev/null +++ b/docs/api_docs/files/pagecopyrights.html @@ -0,0 +1,57 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Copyrights + + + + + + + +
+

Copyrights

+TinyObjLoader

+Blast™ Samples and the tool ApexImporter use TinyObjLoader by Syoyo Fudita. This is licensed under the 2-clause BSD, given below.

+

+Copyright (c) 2012-2015, Syoyo Fujita
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+

+
+

+ + + + diff --git a/docs/api_docs/files/pagedefinitions.html b/docs/api_docs/files/pagedefinitions.html new file mode 100644 index 0000000..a5360c3 --- /dev/null +++ b/docs/api_docs/files/pagedefinitions.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Definitions + + + + + + + +
+

Definitions

+

+
+

+ + + + diff --git a/docs/api_docs/files/pageextapeximport.html b/docs/api_docs/files/pageextapeximport.html new file mode 100644 index 0000000..903fb98 --- /dev/null +++ b/docs/api_docs/files/pageextapeximport.html @@ -0,0 +1,40 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Apex Import (NvBlastExtApexImport) + + + + + + + +
+

Apex Import (NvBlastExtApexImport)

Blast extensions provide Nv::Blast::ApexImporter::ApexImportTool, which can be used for converting APEX Destructible assets into Blast assets.

+This tool supports two bond generation modes and can be configured by providing:

struct ApexImporterConfig
+{
+    enum InterfaceSearchMode { EXACT, FORCED, MODE_COUNT };
+    InterfaceSearchMode infSearchMode;
+}
+

+1) EXACT - Importer tries to find triangles from two chunks which lay in common surface. If such triangles are found, their intersections are considered as the interface.

+2) FORCED - Bond creation is forced no matter how far chunks from each other. Interface parameters are approximated.

+Nv::Blast::ApexImporter::ApexImportTool can be itinialized by providing ApexSDK and ModuleDestructible, or they can be created internally.

+If ApexSDK and ModuleDestructible were provided, they are not freed when Nv::Blast::ApexImporter::~ApexImportTool() is called.
+

+ + + + diff --git a/docs/api_docs/files/pageextapi.html b/docs/api_docs/files/pageextapi.html new file mode 100644 index 0000000..1fc8564 --- /dev/null +++ b/docs/api_docs/files/pageextapi.html @@ -0,0 +1,40 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Extensions (NvBlastExt) + + + + + + + +
+

Extensions (NvBlastExt)

These are the current Blast extensions:
+
+ Asset Authoring (NvBlastExtAuthoring)
+ Apex Import (NvBlastExtApexImport)
+ Serialization (NvBlastExtSerialization)
+ Data Format Conversion Extension (NvBlastExtConverterLL)
+ Damage Shaders (NvBlastExtShaders)
+ PhysX Extensions
+
+ To use them, include the appropriate headers in include/extensions (each extension will describe which headers are necessary), and link to the desired NvBlastExt*{config}{arch} library in the lib folder. Here, config is the usual DEBUG/CHECKED/PROFILE (or nothing for release), and {arch} distinguishes achitecture, if needed (such as _x86 or _x64).

+
+

+ + + + diff --git a/docs/api_docs/files/pageextauthoring.html b/docs/api_docs/files/pageextauthoring.html new file mode 100644 index 0000000..7fae565 --- /dev/null +++ b/docs/api_docs/files/pageextauthoring.html @@ -0,0 +1,44 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Asset Authoring (NvBlastExtAuthoring) + + + + + + + +
+

Asset Authoring (NvBlastExtAuthoring)

Blast extensions provide tools for creation Blast asset from provided geometry mesh.

+There are three tools for creation Blast asset.

+First one is FractureTool which is used for fracturing input mesh. It supports Voronoi fracturing method and slicing. Internal surface of output chunks can be tesselated and noise can be applied to it. Slicing method supports slicing with noisy slicing surface, which makes possible creation of jagged slicing line. Noisy slicing is switched on by setting non-zero noise amplitude in slicing parameters.

+Nv::Blast::FractureTool supports two types of output:

+1) Array of triangles - tool fills provided array with triangles of chunk, ID of chunk should be provided.

+2) Buffered output - tool fills provided array with vertices, and another array of arrays with indices. Indices form triplets of vertices of triangle.

+Nv::Blast::ConvexMeshBuilder is tool for creation collision geometry for physics engine. It recieves mesh vertices, and returns convex hull of that vertices. If creation of convex hull fails, tool creates collision geometry as a bounding box of provided vertices.

+Tool provides method to trim convex hulls against each other. It can be used along with noisy slicing to avoid "explosive" behavior due to penetration of neighboor collision hulls into each other. As a drawback penetration of render meshes into each other is possible due to trimmed collision geometry.

+Nv::Blast::BlastBondGenerator tool for creation Blast Bond descriptors from provided geometry data. It has separate method which is optimized for working FractureTool.

    int32_t Nv::Blast::BlastBondGenerator::buildDescFromInternalFracture(FractureTool* tool, const std::vector<bool>& chunkIsSupport, std::vector<NvBlastBondDesc>& resultBondDescs, std::vector<NvBlastChunkDesc>& resultChunkDescriptors);
+

+Other methods can work with prefractured mesh created in Third party tool, and can be used for converting prefractured models to Blast assets.

+Nv::Blast::BlastBondGenerator supports two modes of NvBlastBond data generation:

+1) Exact - in this mode exact common surface between chunks is found and considered as interface between them. Exact normal, area and centroid are computed.

+2) Average - this mode uses approximations of interface, and can be used for gathering NvBlastBond data for assets, where chunks penetrate each other, e.g. chunks with noise.

+
+

+ + + + diff --git a/docs/api_docs/files/pageextconverterll.html b/docs/api_docs/files/pageextconverterll.html new file mode 100644 index 0000000..391973d --- /dev/null +++ b/docs/api_docs/files/pageextconverterll.html @@ -0,0 +1,51 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Data Format Conversion Extension (NvBlastExtConverterLL) + + + + + + + +
+

Data Format Conversion Extension (NvBlastExtConverterLL)

The low-level converter extension is a utility to convert NvBlastAsset and NvBlastFamily data from one format to another.

+The format version of an asset may be obtained using the function

+

uint32_t assetVersion = NvBlastAssetGetFormatVersion(asset, logFn);
+

+and likewise the format version of a family may be obtained using the function

+

uint32_t familyVersion = NvBlastAssetGetFormatVersion(family, logFn);
+

+If the format version does not match the SDK's current version for one of these objects, the data may not be used with the current SDK. The NvBlastExtConverterLL extension will apply a chain of conversion functions to transform an asset or family from its stored version to any other version, provided that such a chain exists.

+To apply it, simply use the function convertDataBlock. For example, given an asset pointer,

+

vector<char> inBlock, outBlock;
+
+inBlock.resize( NvBlastAssetGetSize(asset), logFn );
+memcpy( inBlock.data(), asset, NvBlastAssetGetSize(asset) );
+
+if ( convertDataBlock(outBlock, inBlock) )
+{
+    NvBlastAsset* convertedAsset = outBlock.data();
+
+    // Use convertedAsset here
+}
+

+
+

+ + + + diff --git a/docs/api_docs/files/pageextphysx.html b/docs/api_docs/files/pageextphysx.html new file mode 100644 index 0000000..0d0c366 --- /dev/null +++ b/docs/api_docs/files/pageextphysx.html @@ -0,0 +1,175 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: PhysX Extensions + + + + + + + +
+

PhysX Extensions

NvBlastExtPhysX contains extensions for easier use of Blast Toolkit with the PhysX SDK. There are 3 of them: +

+This library also contains an extension for synchronizing Blast state:

+

+
+

+ExtPxManager

+Physics Manager - is a reference implementation for keeping Blast Actors synced with PhysX actors. It's main job is to listen for TkFamily events and update PxScene (by adding and removing PxActors) accordingly.

+In order to use it create ExtPxManager:

+

ExtPxManager* pxManager = ExtPxManager::create(m_physics, m_tkFramework);
+

+For every TkAsset prepare ExtPxAsset. Which contains TkAsset + collection of physics geometry for every chunk. Every chunk can contain any number of subchunks. Where each subchunk is basically PxConvexMeshGeometry with transform. Also every chunk can be marked as static (isStatic flag). If actor contains at least one static chunks in it's support graph it makes an actor kinematic (static), otherwise it's dynamic. Having zero subchunks makes chunk invisible in physics scene, it can be used for example to represent 'earth' as a special invisible static chunk and connect all near earth chunks to it.

+To create a ExtPxFamily from an ExtPxAsset:

+

ExtPxFamilyDesc familyDesc;
+familyDesc.pxAsset = pxAsset;
+familyDesc.group = tkGroup;
+familyDesc.actorDesc.initialBondHealths = nullptr;
+familyDesc.actorDesc.initialSupportChunkHealths = nullptr;
+familyDesc.actorDesc.uniformInitialBondHealth = BOND_HEALTH_MAX;
+familyDesc.actorDesc.uniformInitialLowerSupportChunkHealth = 1.0f;
+ExtPxFamily* family = pxManager->createFamily(desc);
+

+You can subscribe to family events in order to sync graphics (or anything else) with physics:

+

family->subscribe(listener);
+

+Listener will be notified with all physics actors added and removed.

+And finally spawn the family in some world position (the first actor/actors will be created and event will be fired to the listener):

+

ExtPxSpawnSettings spawnSettings = {
+    &pxScene,
+    defaultPxMaterial,
+    RIGIDBODY_DENSITY
+};
+
+family->spawn(PxTransform(0, 0, 0), spawnSettings);
+

+You can get families actor's either from listening to events or by calling getActors(). Every ExtPxActor matches 1 <-> 1 with TkActor (which matches NvBlastActor accordingly).

+

ExtPxActor* actor = ....; 
+physx::PxRigidDynamic rigidDynamic = actor->getPxActor(); // 
+

+ExtPxActor remains internally unchanged through it's life time. Use ExtPxActor getChunkIndices() and getPxActor() to update graphics representation. Sample code:

+

    const uint32_t* chunkIndices;
+    size_t chunkIndexCount;
+    actor.getChunkIndices(chunkIndices, chunkIndexCount);
+    for (uint32_t i = 0; i < chunkIndexCount; i++)
+    {
+        uint32_t chunkIndex = chunkIndices[i];
+        for (Renderable* r : m_chunks[chunkIndex].renderables)
+        {
+            r->setTransform(actor.getPxActor()->getGlobalPose() * pxAsset.chunks[chunkIndex].convexes[0].transform);
+        }
+    }
+

+In order to use joints set joint create function with ExtPxManager::setCreateJointFunction(...). It will be called when new TkJoint's are being created. All the joint updates and remove will be handled by manager internally.

+
+

+ExtImpactDamageManager

+Impact Damage Manager - is a reference implementation for fast and easy impact damage support. It's built on top of ExtPxManager.

+In order to use it create it:

+

ExtImpactDamageManager* impactManager = ExtImpactDamageManager::create(pxManager);
+

+Call it's onContact method on every PxSimulationEventCallback onContact()

+

    class EventCallback : public PxSimulationEventCallback
+    {
+    public:
+        EventCallback(ExtImpactDamageManager* manager) : m_manager(manager) {}
+
+        virtual void onContact(const PxContactPairHeader& pairHeader, const PxContactPair* pairs, uint32_t nbPairs)
+        {
+            m_manager->onContact(pairHeader, pairs, nbPairs);
+        }
+
+    private:
+        ExtImpactDamageManager*     m_manager;
+    };
+

+Call applyDamage() when you want the buffered damage to be applied:

+

impactManager->applyDamage();
+

+Also important to enable contact notification with custom filter shader for PxScene. ImpactDamageManager has a reference filter shader implementation which can be used for that:

+

PxSceneDesc sceneDesc;
+sceneDesc.filterShader = ExtImpactDamageManager::FilterShader;
+

+
+

+ExtStressSolver

+Stress Solver - is a reference implementation of stress propagation using Blast support graph.

+Features

+ +

+Usage

+In order to use it instance stress solver by providing ExtPxFamily:

+

ExtStressSolver* stressSolver = ExtStressSolver::create(family);
+

+And then call update() every frame:

+

bool doDamage = true; // if you want to actually apply stress and damage actors
+stressSolver->update(doDamage);
+

+By default it will apply scene gravity on static actors and centrifugal force on dynamic actors. Also applyImpulse(...) can be called for additional stress to apply:

+

stressSolver->applyImpulse(actor, position, force);
+

+It fully utilizes the fact that it knows initial support graph structure and does maximum of processing in create(...) method calls. After that all actors split calls are synced internally quite fast and only the actual stress propagation takes most of computational time. Computational time is linearly proprtional to bondIterationsPerFrame setting. To fine tune look for balance between bondIterationsPerFrame and graphReductionLevel . The more bond iterations are set the more precise computation will be. The smaller graph allows to make higher fidelity computations witihing the same bond iterations per frame (same time spent), but actual cracks (damaged bonds) will be more sparsed as the result.

+
+

+ExtSync

+Synchronization Extension (NvBlastExtSync) - is a reference implementation for synchronizing Blast state.

+The idea is that you can use it to write synchronization events to the buffer (on server for example) and then apply this buffer on a client. TkFamily ID should be properly set for that.

+3 types of events are supported:

+

+

+In order to use it create ExtSync:

+

ExtSync* sync = ExtSync::create();
+

+Then let ExtSync insatnce listen to family fracture commands and write them to internal buffer:

+

TkFamily* family = ...;
+family->addListener(*sync);
+
+// fracture family
+// ....
+

+You can fully record TkFamily state or ExtPxFamily state at any moment by calling:

+

sync->syncFamily(tkFamily);
+// or
+sync->syncFamily(pxFamily);
+

+Now you can take sync buffer:

+

const ExtSyncEvent*const* buffer;
+uint32_t size;
+sync->acquireSyncBuffer(buffer, size);
+
+m_savedBuffer.resize(size);
+for (uint32_t i = 0; i < size; ++i)
+{
+    m_savedBuffer[i] = buffer[i]->clone();
+}
+
+sync->releaseSyncBuffer();
+

+On the client you can then apply this buffer:

+

sync->applySyncBuffer(tkFramework, m_savedBuffer.data(), m_savedBuffer.size(), group, pxManager);
+

+ExtPxManager is required only if sync buffer contains ExtSyncEventType::Physics events.

+
+

+ + + + diff --git a/docs/api_docs/files/pageextserialization.html b/docs/api_docs/files/pageextserialization.html new file mode 100644 index 0000000..fc253de --- /dev/null +++ b/docs/api_docs/files/pageextserialization.html @@ -0,0 +1,31 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Serialization (NvBlastExtSerialization) + + + + + + + +
+

Serialization (NvBlastExtSerialization)

TBD

+
+

+ + + + diff --git a/docs/api_docs/files/pageextshaders.html b/docs/api_docs/files/pageextshaders.html new file mode 100644 index 0000000..f7b3099 --- /dev/null +++ b/docs/api_docs/files/pageextshaders.html @@ -0,0 +1,48 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Damage Shaders (NvBlastExtShaders) + + + + + + + +
+

Damage Shaders (NvBlastExtShaders)

Blast Extensions provide basic implementations of programs generating fracture commands, the first step in breaking a Blast™ Actor, see Damage and Fracturing. These programs come as two shader functions (callbacks) for Actors with a support graph and Actors with just one chunk respectively. The NvBlastDamageProgram containing both shaders can be used for low-level directly (NvBlastActorGenerateFracture) or for TkActor's damage and fracture functions.

+

+The appropriate shader will be called for an Actor being processed, along with the necessary Actor's geometry and program parameters. The parameters (NvBlastProgramParams) are set to contain

+1. Material, something that describes an Actor properties (e.g. mass, stiffness, fragility) which are not expected to be changed often.

+2. Damage description, something that describes a particular damage event (e.g. position, radius and force of explosion).

+

    NvBlastExtMaterial material = { singleChunkThreshold, graphChunkThreshold, bondTangentialThreshold, bondNormalThreshold, damageAttenuation };
+    NvBlastExtRadialDamageDesc damageDesc = { compressive, posX, posY, posZ, minR, maxR };
+

+When used with TkActor::damage() functions, TkActor will cache the necessary data for deferred processing through TkGroup. This includes accumulating damage requests for the same material and program parameter combination. A default material can be set for a TkFamily that all its Actors uses.

+

    tkGroup->addActor(*tkActor);
+    tkActor->damage(damageProgram, damageDesc0, sizeof(NvBlastExtRadialDamageDesc), &material);
+    tkActor->damage(damageProgram, damageDesc1, sizeof(NvBlastExtRadialDamageDesc), &material);
+    tkGroup->process();
+    tkGroup->sync();
+

+In contrast, the user is responsible for providing all the damage descriptions persisting through the low-level NvBlastActorGenerateFracture call when not using the Tk layer.

+

    NvBlastProgramParams programParams = { damageDescs, 2, &material };
+    NvBlastActorGenerateFracture(commandBuffers, actor, damageProgram, &programParams, nullptr, nullptr);
+
+ + + + diff --git a/docs/api_docs/files/pagehlapi.html b/docs/api_docs/files/pagehlapi.html new file mode 100644 index 0000000..5946817 --- /dev/null +++ b/docs/api_docs/files/pagehlapi.html @@ -0,0 +1,481 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: High Level (Toolkit) API (NvBlastTk) + + + + + + + +
+

High Level (Toolkit) API (NvBlastTk)

Table of Contents

+Introduction to NvBlastTk

+NvBlastTk Class Hierarchy

+Linking and Header Files

+Creating the TkFramework

+Creating a TkAsset

+Instancing a TkAsset: Creation of a TkActor and a TkFamily

+Groups

+Applying Damage to Actors and Families

+Joints

+Events

+Object and Type Identification

+
+

+Introduction to NvBlastTk

+The high-level API, NvBlastTk (Tk stands for "toolkit"), is intended to be a more powerful library and a much more convenient entry point into the use of Blast™. Like the low-level library, Tk is physics and graphics-agnostic. Whereas the low-level API is C-style, Tk uses a C++ API. Everything in Tk is in the namespace:

+

Nv::Blast
+

+(the only exceptions are global-scope functions to create and access a framework singleton, see below). Every object in Tk is prefixed with 'Tk'. For example, the Tk framework interface is:

+

+ For the remainder of this page we will be in the Nv::Blast namespace, and will drop the explicit scope Nv::Blast:: from our names.
+
+

+BlastTk adds:

+

+

+
+

+NvBlastTk Class Hierarchy

+ +

+
+

+Linking and Header Files

+To use the BlastTk library, the application need only inlclude the header NvBlastTk.h, found in the include/toolkit folder, and link against the appropriate version of the NvBlastTk library. Depending on the platform and configuration, various suffixes will be added to the library name. The general naming scheme is

+NvBlastTk(config)(arch).(ext)

+(config) is DEBUG, CHECKED, OR PROFILE for the corresponding configurations. For a release configuration there is no (config) suffix.

+(arch) is _x86 or _x64 for Windows 32- and 64-bit builds, respectively, and empty for non-Windows platforms.

+(ext) is .lib for static linking and .dll for dynamic linking on Windows. On XBoxOne it is .lib, and on PS4 it is .a.

+
+

+Creating the TkFramework

+As a reminder, in this document we assume we are in the Nv::Blast namespace:

+

using Nv::Blast;
+

+In order to use NvBlastTk, one first has to create a TkFramework singleton. This requires a descriptor which holds two callback classes defined by the user. These classes are derived from the physx::PxErrorCallback and physx::PxAllocatorCallback interfaces, and define message handling and allocation/deallocation functions, respectively. Assuming the user has already defined these objects with names gErrorCallback and gAllocatorCallback, the TkFramework descriptor is built as follows:

+

TkFrameworkDesc desc;
+desc.errorCallback = &gErrorCallback;           // physx::PxErrorCallback-derived callback object
+desc.allocatorCallback = &gAllocatorCallback;   // physx::PxAllocatorCallback-derived callback object
+

+One then creates the framework:

+

TkFramework* framework = NvBlastTkFrameworkCreate( desc );
+

+The framework is a global singleton, and may be accessed via:

+

TkFramework* framework = NvBlastTkFrameworkGet();
+

+In the sections that follow, it is assumed that a framework has been created, and we have a pointer to it named 'framework' within scope.

+Finally, to release the framework, use

+

framework->release();
+

+This will release all assets, families, actors, joints, and groups.

+
+

+Creating a TkAsset

+The TkAsset object is a high-level wrapper for the low-level NvBlastAsset (see Creating an Asset from a Descriptor (Authoring)). The descriptor used to create a TkAsset, a TkAssetDesc, is derived from NvBlastAssetDesc. The base fields should be filled in as described in (Creating an Asset from a Descriptor (Authoring)). The new field is an optional array of flags to be associated with each bond in the base descriptor. Currently the only flag is "BondJointed," and if set will cause an "internal joint" to be created in actors (TkActor type) created from the asset. See (Joints) for more on joints in BlastTk.

+

TkAssetDesc desc;
+
+myFunctionToFillInLowLevelAssetFields(desc);    // Fill in the low-level (NvBlastAssetDesc) fields as usual
+
+std::vector<uint8_t*> bondFlags(desc.bondCount, 0); // Clear all flags
+
+// Set BondJointed flags corresponding to joints selected by the user (assumes a myBondIsJointedFunction to make this selection)
+for (uint32_t i = 0; i < desc.bondCount; ++i)
+{
+    if (myBondIsJointedFunction(i)) // User-authored
+    {
+        bondFlags[i] |= TkAssetDesc::BondJointed;
+    }
+}
+
+TkAsset* asset = framework->createAsset(desc);  // Create a new TkAsset
+

+The createAsset function used above creates a low-level NvBlastAsset from the base fields of the descriptor, and then adds internal joint descriptors based upon the bonds' centroids and attached chunks. An alternative method to create a TkAsset allows the user to pass in a pre-existing NvBlastAsset, and a list of joint descriptors. If the TkAsset is to have no internal joints, then the joint descriptors are not necessary and with an NvBlastAsset pointer llAsset, a TkAsset may be created simply by using

+

TkAsset* asset = framework->createAsset(llAsset);
+

+By default, such a TkAsset will not "own" the llAsset. When the TkAsset is released, the llAsset memory will be untouched. You can pass ownership to the TkAsset using all of the default parameters of the createAsset function:

+

TkAsset* asset = framework->createAsset(llAsset, nullptr, 0, true);
+

+The last parameter sets ownership.

+If one wants to author internal joints in a TkAsset using this second createAsset method, one must pass in a valid array of joint descriptors of type TkAssetJointDesc. Each joint descriptor takes two positions and two node indices. The positions are the joint's attachment positions in asset space, and the nodes indices are those of the graph nodes that correspond to support chunks. These indices are not, in general, the same as the chunk indices. An example of initialization of the joint descriptors is given below.

+

std::vector<TkAssetJointDesc> jointDescs(jointCount);   // Assume jointCount = the number of joints to add
+jointDescs[0].nodeIndices[0] = 0;   // Attach node 0 to node 1
+jointDescs[0].nodeIndices[1] = 1;
+jointDescs[0].attachPoistions[0] = physx::PxVec3( 1.0f, 2.0f, 3.0f );   // Attachment positions are often the same within an asset, but they don't have to be
+jointDescs[0].attachPoistions[1] = physx::PxVec3( 1.0f, 2.0f, 3.0f );
+// ... etc.
+
+TkAsset* asset = framework->createAsset(llAsset, jointDescs.data(), jointDescs.size());
+

+The code above assumes you know the support graph nodes to which you'd like to attach joints. Often, the user only knows the corresponding chunk indices. Fortunately it's easy to map chunk indices to graph node indices. In order to get the map, use the low-level function

+

const uint32_t map = NvBlastAssetGetChunkToGraphNodeMap(llAsset, nullptr);
+

+This map is an array with an entry for every chunk index. To get the graph node index for a chunk indexed chunkIndex, use

+

uint32_t nodeIndex = map[chunkIndex];
+

+If the chunk indexed by chunkIndex does not correspond to a support chunk, then the mapped value will be UINT32_MAX, the invalid index. Otherwise, the mapped value will be a valid graph node index.

+Finally, to release a TkAsset, as with any TkObject-derived object, use the release() method:

+asset->release();

+
+

+Instancing a TkAsset: Creation of a TkActor and a TkFamily

+Whereas with the Blast™ low-level (Low Level API (NvBlast)), one must explicitly create a family (NvBlastFamily) from an asset (NvBlastAsset) before creating the first actor (NvBlastActor) in the family, NvBlastTk creates a TkFamily automatically when an unfractured TkActor is instanced from a TkAsset using the framework's createActor function. This family is accessible through the actor and any actor that is created from splitting it. The family not released automatically when all actors within it have been released. The user must use the TkObject::release() method to do so. (Or wait until the framework is released.) If a family is released that contains actors, the actors within will be released as well.

+The TkFamily has a special roll in NvBlastTk, holding user-supplied event listeners (TkEventListener). All internal actor creation and destruction events are broadcast to listeners through split events (TkSplitEvent). These signal when a fracturing operation has destroyed an actor and created child actors from it. TkActor creation or release that occurs from an explicit API call do not produce events. For example when creating a first unfractured instance of an asset using createAsset, or when calling the release() method on a TkActor. TkJoint events are similarly broadcast to receivers (TkJointEvent). These signal when the actors which are joined by the joints change, so that the user may update a corresponding physical joint. They also signal when a joint no longer attaches actors and is therefore unreferenced. The user may invalidate or release the joint using the TkObject release() method when this occurs (more on joint ownership in Joints).

+To create an unfractured TkActor instance from a TkAsset, one first fills in a descriptor (TkActorDesc) and passes it to the framework's createActor function. As with the TkAssetDesc, the TkActorDesc is derived from its low-level counterpart, the NvBlastActorDesc. In addition the TkActorDesc holds a pointer to the TkAsset being instanced. An example of TkActor creation is given below, given a TkAsset pointer asset.

+

TkActorDesc desc;
+
+myFunctionToFillInLowLevelActorFields(desc);    // Fill in the low-level (NvBlastActorDesc) fields as usual
+
+desc.asset = asset;
+
+TkActor* actor = framework->createActor(desc);
+

+The TkFamily created with the actor above may be accessed through the actor's getFamily field:

+

TkFamily& family = actor->getFamily();
+

+The returned value is a reference since a TkActor's family can never be NULL. Actors resulting from the split of a "parent" actor will always belong to the parent's family.

+For most applications, the user will need to create a listener object to pass to every family created, in order to keep their physics and graphics representations in sync with the splitting of the TkActor. For more on this, see Events.

+
+

+Groups

+One feature of NvBlastTk is multithreading of damage processing. The mechanism by which the toolkit does this is the group object, TkGroup. Groups are created at the request of the user; the user may create as many groups as they like. Actors may be added or removed from groups in any way the user wishes, with the only constraint being that a given actor may belong to no more than one group. A group is a processing object, much like a scene in a physics simulation. Indeed, a natural pattern would be to associate one group per physics scene, and synchronize the group processing with scene simulation. Another pattern would be to subdivide the world into neighborhoods, and associate each neighborhood with a group. A distributed game could take advantage of this structure to similarly distribute computation.

+When processing, a group spawns tasks to calculate the effects of all damage taken by the group's actors. The group's sync function waits for all tasks to finish, and then has each family associated with its actors broadcast events to its listeners.

+Actors resulting from the split of a "parent" actor will be placed automatically into the group that the parent belonged to. This is similar to the assigment of families from a split, except that unlike families, the user then has the option to move the new actors to other groups, or no group at all.

+Also similar to families, groups are not automatically released when the last actor is removed from it. Unlike families, when a group is released, the actors which belong to the group are not released. They will, however, be removed from the group before the release is complete.

+Because a group spawns tasks, for flexibility it requires a user-defined task manager. This manager needs to implement the type physx::PxTaskManager interface.

+A typical usage is outlined below. See Applying Damage to Actors and Families for methods of applying damage to actors.

+

// Create actors from descriptors desc1, desc2, ... etc., and attach a listener to each new family created
+TkActor* actor1 = framework->createActor(desc1);
+actor1->getFamily().addListener(gMyReceiver);       // gMyReceiver is a TkEventListener-derived object.  More on events in a subsequent section.
+TkActor* actor2 = framework->createActor(desc2);
+actor2->getFamily().addListener(gMyReceiver);
+TkActor* actor3 = framework->createActor(desc3);
+actor3->getFamily().addListener(gMyReceiver);
+// etc...
+
+// Let's create two groups.  First, create a group descriptor.  This may be used to create both groups.
+TkGroupDesc groupDesc;
+groupDesc.pxTaskManager = &gTaskManager;    // physx::PxTaskManager-derived object
+
+// Now create the groups
+TkGroup* group1 = framework->createGroup(groupDesc);
+TkGroup* group2 = framework->createGroup(groupDesc);
+
+// Add actor1 and actor2 to group1, and actor2 to group3...
+group1->addActor(actor1);
+group1->addActor(actor2);
+group2->addActor(actor3);
+// etc...
+
+// Now apply damage to all actors - *NOTE* damage is described in detail in the next section.
+// For now we will just assume a "myDamageFunction" to apply the damage.
+myDamageFunction(actor1);
+myDamageFunction(actor2);
+myDamageFunction(actor3);
+// etc...
+
+// Calling the groups' process functions will spawn tasks to process damage taken to the contained actors.
+group1->process();
+group2->process();
+
+// The user may insert code to be run asynchronously with group processing...
+
+// Call the groups' sync functions (with default block = true argument) to wait for processing to finish and fire off events.
+group1->sync();
+group2->sync();
+
+// When the groups are no longer needed, they may be released with the usual release method.
+group1->release();
+group2->release();
+

+
+

+Applying Damage to Actors and Families

+Damage in NvBlastTk uses the same damage program scheme as the low-level SDK (see Damage and Fracturing). One passes the program (NvBlastDamageProgram), damage descriptor (program-dependent), and material (also program-dependent) to a TkActor::damage function. Ultimately, the damage descriptor and material data are all parameters used by the damage program. The distinction is that the damage descriptor should describe properties of the thing doing the damage, while the material should describe properties of the actor (the thing being damaged). The interpretation of this data is entirely up to the program's functions, however.

+For convenience, the user may set a default material in the actor's family. This assumes, of course, that the material parameters for this default are compatible with the program being used to damage the family's actors.

+Examples of the three TkActor damage methods are given below.

+
+

+Multiple Damage Descriptors using NvBlastProgramParams

+N.B. - with this method of damage, the lifetime of the NvBlastProgramParams must extend at least until the TkGroup::sync call for the actor.

+

NvBlastDamageProgram program =
+{
+    myGraphShaderFunction,      // A function with the NvBlastGraphShaderFunction signature
+    mySubgraphShaderFunction    // A function with the NvBlastSubgraphShaderFunction signature
+};
+
+// The example struct "RadialDamageDesc" is modeled after NvBlastExtRadialDamageDesc in the NvBlastExtShaders extension
+RadialDamageDesc damageDescs[2];
+
+damageDescs[0].compressive = 10.0f;
+damageDescs[0].position[0] = 1.0f;
+damageDescs[0].position[1] = 2.0f;
+damageDescs[0].position[2] = 3.0f;
+damageDescs[0].minRadius = 0.0f;
+damageDescs[0].maxRadius = 1.0f;
+
+damageDescs[1].compressive = 100.0f;
+damageDescs[1].position[0] = 3.0f;
+damageDescs[1].position[1] = 4.0f;
+damageDescs[1].position[2] = 5.0f;
+damageDescs[1].minRadius = 0.0f;
+damageDescs[1].maxRadius = 5.0f;
+
+// The example material "Material" is modeled after NvBlastExtMaterial in the NvBlastExtShaders extension
+Material material;
+
+material.singleChunkThreshold = 1.0f;
+material.graphChunkThreshold = 1.0f;
+material.bondTangentialThreshold = 0.5f;
+material.bondNormalThreshold = 0.25f;
+material.damageAttenuation = 0.75f
+
+// Set the damage params struct
+NvBlastProgramParams params = { damageDescs, 2, &material };
+
+// Apply damage
+actor->damage(program, &params);    // params must be kept around until TkGroup::sync is called!
+

+
+

+Single Damage Descriptor with Default TkFamily Material

+This method of damage copies the damage descriptor into a buffer, so the user need not hold onto a copy after the damage function call. Only one damage descriptor may be passed in at once.

+To use this method, the user must first set a default material in the actor's family. For example:

+

// The example material "Material" is modeled after NvBlastExtMaterial in the NvBlastExtShaders extension
+Material material;
+
+material.singleChunkThreshold = 1.0f;
+material.graphChunkThreshold = 1.0f;
+material.bondTangentialThreshold = 0.5f;
+material.bondNormalThreshold = 0.25f;
+material.damageAttenuation = 0.75f
+
+// Set the default material used by the material-less TkActor::damage call
+actor->getFamily().setMaterial(&material);
+

+N.B. the lifetime of the material set must extend at least until the TkGroup::sync call for the actor.

+Then to apply damage, use:

+

NvBlastDamageProgram program =
+{
+    myGraphShaderFunction,      // A function with the NvBlastGraphShaderFunction signature
+    mySubgraphShaderFunction    // A function with the NvBlastSubgraphShaderFunction signature
+};
+
+// The example struct "RadialDamageDesc" is modeled after NvBlastExtRadialDamageDesc in the NvBlastExtShaders extension
+RadialDamageDesc damageDesc;
+
+damageDesc.compressive = 10.0f;
+damageDesc.position[0] = 1.0f;
+damageDesc.position[1] = 2.0f;
+damageDesc.position[2] = 3.0f;
+damageDesc.minRadius = 0.0f;
+damageDesc.maxRadius = 1.0f;
+
+// Apply damage
+actor->damage(program, &damageDesc, (uint32_t)sizeof(RadialDamageDesc));
+

+
+

+Single Damage Descriptor with Specified Material

+This method is just like the one above, except that the user has the opportunity to override the material used during damage.

+N.B. - the lifetime of the material passed in must extend at least until the TkGroup::sync call for the actor.

+This call is just like the one above with an extra material parameter:

+

actor->damage(program, &damageDesc, (uint32_t)sizeof(RadialDamageDesc), &material);
+

+
+

+Joints

+Joints in NvBlastTk are abstract representations of physical joints. When joints become active, change the actors they join, or become unreferenced (the actors they join disappear), the user will receive notification via a TkJointUpdateEvent (see Events).

+Joints may be defined as a part of a TkAsset, in which case they are consisdered "internal" joints. (See Creating a TkAsset.) Since the first instance of a TkAsset is a single TkActor, internal joints are defined between chunks within the same actor. Therefore they are not active (there is no point in joining two locations in a single rigid body). Upon splitting into multiple actors, however, an internal joint's chunks may now belong to two different TkActors. When this happens, the user will receive a TkJointUpdateEvent of subtype TkJointUpdateEvent::External. The event contains a pointer to the TkJoint, and from that the user has access to the information needed to create a physical joint between the rigid bodies that correspond to the joined TkActors.

+Joints may also be created externally at runtime, using the TkFramework::createJoint function. A joint created this way must be between two different TkActors. Because of this, the joint is immediately considered active, and so no TkJointUpdateEvent is generated from its creation. The user should create a physical joint to correspond to the joint returned by createJoint. An externally created joint of this type has another distinguishing characteristic: it may join an actor to "the world," or "Newtonial Reference Frame" (NRF). To do this, one TkFamily pointer in the joint descriptor is set to NULL. Examples are given below.

+

TkJointDesc desc;
+desc.families[0] = &actor0->getFamily();    // Assume we have a valid actor0 pointer
+desc.chunkIndices[0] = 1;   // This chunk *must* be a support chunk in the asset that created desc.families[0]
+desc.attachPositions[0] = physx::PxVec3(1.f, 2.f; 3.f); // The attach position is in asset space
+desc.families[1] = &actor1->getFamily();    // Assume we have a valid actor1 pointer... note, actor0 and actor1 could have the same family
+desc.chunkIndices[1] = 10;  // This chunk *must* be a support chunk in the asset that created desc.families[1]
+desc.attachPositions[1] = physx::PxVec3(4.f, 5.f; 6.f); // The attach position is in asset space
+
+// Create the external joint from the descriptor, which joins actor0 and actor1
+TkJoint* joint = framework->createJoint(desc);
+
+// Now join actor0 to the NRF
+// desc.families[0] already contains actor0's family
+desc.chunkIndices[0] = 2;   // Again, this chunk must be a support chunk in the asset that created desc.families[0]
+desc.attachPositions[0] = physx::PxVec3(0.f, 0.f; 0.f); // The attach position is in asset space
+desc.families[1] = nullptr; // Setting the family to NULL designates the world (NRF)
+// The value of desc.chunkIndices[1] is not used, since desc.families[1] is NULL
+desc.attachPositions[1] = physx::PxVec3(0.f, 0.f, 10.0f);   // Attach position in the world
+
+// Create the external joint which joins actor0 to the world
+TkJoint* jointNRF = framework->createJoint(desc);
+

+
+

+Releasing Joints

+TkJoints are not released by Blast™, except when the TkFramework is released. Otherwise, the user is responsible for releasing TkJoints after they become unreferenced. This is facilitated by the Unreferenced subtype of the TkJointUpdateEvent. After receiving this event for joint, the user may choose to release, using the typical TkObject::release() method.

+

joint->release();
+

+Note, this method can be called at any time, even before the joint is unreferenced. When called, it will remove its references to its attached actors first, causing the joint to then become unreferenced. For example, if the user wishes to break a physical joint in their simulation, they can then release the corresponding TkJoint.

+It should be mentioned, however, that joints created with an asset are allocated differently from external joints created using TkFramework::createJoint. Internal joints created from the joint descriptors in a TkAsset are block allocated with every TkFamily that instances the asset. Calling the release() method on those joints will remove any remaining references to them (as mentioned above), but will not perform any deallocation. Only when the TkFamily itself is released will the internal joint memory for that family be released. This is true even if the internal joints become "external" from actor splitting. Joints that become external are still associated with a single family and their memory still resides with that family.

+On the other hand, joints that start out life external by way of the TkFramework::createJoint function have a separate allocation, and do not have memory tied to any TkFamily (even if both actors joined are in the same family). Releasing a family holding one of the actors in such a "purely external" joint will trigger a TkJointUpdateEvent of subtype Unreferenced, however, signalling that the joint is ready for user release.

+
+

+Events

+NvBlastTk uses events to communicate the results of actor splitting, joint updates from actor splitting, and fracture event buffers that can be used to synchronize fracturing between multiple clients.

+Events are broadcast to listeners which implement the TkEventListener interface. Listeners are held by TkFamily objects. During a TkGroup::sync call (see Groups), relevant events are broadcast to the listeners in the families associated with the actors in the group.

+A typical user's receiver implementation might take on the form shown below.

+

class MyActorAndJointListener : public TkEventListener
+{
+    // TkEventListener interface
+    void receive(const TkEvent* events, uint32_t eventCount) override
+    {
+        // Events are batched into an event buffer.  Loop over all events:
+        for (uint32_t i = 0; i < eventCount; ++i)
+        {
+            const TkEvent& event = events[i];
+
+            // See TkEvent documentation for event types
+            switch (event.type)
+            {
+            case TkSplitEvent::EVENT_TYPE:  // A TkActor has split into smaller actors
+            {
+                const TkSplitEvent* splitEvent = event.getPayload<TkSplitEvent>();  // Split event payload
+
+                // The parent actor may no longer be valid.  Instead, we receive the information it held
+                // which we need to update our app's representation (e.g. removal of the corresponding physics actor)
+                myRemoveActorFunction(splitEvent->parentData.family, splitEvent->parentData.index, splitEvent->parentData.userData);
+
+                // The split event contains an array of "child" actors that came from the parent.  These are valid
+                // TkActor pointers and may be used to create physics and graphics representations in our application
+                for (uint32_t j = 0; j < splitEvent->numChildren; ++j)
+                {
+                    myCreateActorFunction(splitEvent->children[j]);
+                }
+            }
+            break;
+
+            case TkJointUpdateEvent::EVENT_TYPE:
+            {
+                const TkJointUpdateEvent* jointEvent = event.getPayload<TkJointUpdateEvent>();  // Joint update event payload
+
+                // Joint events have three subtypes, see which one we have
+                switch (jointEvent->subtype)
+                {
+                case TkJointUpdateEvent::External:
+                    myCreateJointFunction(jointEvent->joint);   // An internal joint has been "exposed" (now joins two different actors).  Create a physics joint.
+                    break;
+                case TkJointUpdateEvent::Changed:
+                    myUpdatejointFunction(jointEvent->joint);   // A joint's actors have changed, so we need to update its corresponding physics joint.
+                    break;
+                case TkJointUpdateEvent::Unreferenced:
+                    myDestroyJointFunction(jointEvent->joint);  // This joint is no longer referenced, so we may delete the corresponding physics joint.
+                    break;
+                }
+            }
+
+            // Unhandled:
+            case TkFractureCommands::EVENT_TYPE:
+            case TkFractureEvents::EVENT_TYPE:
+            default:
+            break;
+            }
+        }
+    }
+};
+

+Whenever a new TkActor is created by the user (via TkFramework::createActor, see Instancing a TkAsset: Creation of a TkActor and a TkFamily), its newly-made family should be given whatever listeners the user wishes to attach. For example,

+

TkActor* actor = framework->createActor(actorDesc);
+
+actor->getFamily().addListener(myListener); //  myListener is an object which implements TkEventListener (see MyActorAndJointListener above, for example)
+

+Listeners may also be removed from families at any time.

+
+

+Object and Type Identification

+NvBlastTk objects that are derived from TkIdentifiable (TkAsset, TkFamily, and TkGroup) support an object and class (type) identification system. The TkIdentifiable interfaces setID and getID allow the user to set and access an NvBlastID for each object. The NvBlastID is a 128-bit identifier. TkIdentifiable objects are tracked by the TkFramework, which may be used to look up an object by its NvBlastID.

+Upon creation, TkIdentifiable objects are given a GUID, a unique NvBlastID. The is welcome to change the object's guid at any time, with the restriction that the GUID cannot be all zero bytes.

+With an object's GUID, one may look up the object using the TkFramework function findObjectByID:

+

TkIdentifiable* object = framework->findObjectByID(id); // id = an NvBlastID GUID
+

+If the object is found, a non-NULL pointer will be returned.

+TkIdentifiable-derived classes also have a class identification system, the TkType interface. From an individual object one may use the TkIdentifiable interface getType to access the class's TkType interface. Alternatively, one may use the TkFramework getType function with TkTypeIndex::Enum argument. For example, to get the TkType interface for the TkAsset class, use

+

const TkType* assetType = framework->getType(TkTypeIndex::Asset);
+

+The type interface may be used:

+

+

+For example, to access a list of all families:

+

// Get the TkFamily type interface
+const TkType* familyType = framework->getType(TkTypeIndex::Family);
+
+// Get the family count to allocate a buffer
+const uint32_t familyCount = framework->getObjectCount(familyType);
+std::vector<TkIdentifiable*> families(familyCount);
+
+// Write the families to the buffer
+const uint32_t familiesFound = framework->getObjects(families.data(), familyCount, familyType);
+

+In the above code, the values of familyCount and familiesFound should be equal. An alternative usage of TkFramework::getObjects allows the user to write to a (potentially) smaller buffer, iteratively. For example:

+

uint32_t familiesFound;
+uint32_t totalFamilyCount = 0;
+do
+{
+    // Write to a fixed-size buffer
+    TkIdentifiable* familyBuffer[16];
+    familiesFound = framework->getObjects(familyBuffer, 16, familyType, totalFamilyCount);
+    totalFamilyCount += familiesFound;
+
+    // Process the families found so far
+    myProcessFamiliesFunction(familyBuffer, familiesFound);
+} while (familiesFound == 16);
+

+To use the type interface to identify a class, perhaps after serialization or lookup by ID, one may do something like:

+

\\ Assume we have a TkIdentifiable pointer called "object"
+
+// Get the type interfaces of interest
+const TkType* assetType = framework->getType(TkTypeIndex::Asset);
+const TkType* familyType = framework->getType(TkTypeIndex::Family);
+
+if (object->getType() == *assetType)
+{
+    TkAsset* asset = static_cast<TkAsset*>(object);
+
+    // Process the object as a TkAsset
+}
+if (object->getType() == *familyType)
+else
+{
+    TkFamily* family = static_cast<TkFamily*>(object);
+
+    // Process the object as a TkFamily
+}
+

+A TkIdentifiable-derived class may be queried for its name using the TkType interface, using TkType::getName(). This function returns a const char pointer to a string.

+Finally, one may query the class for its current format version number using TkType::getVersion().

+
+

+ + + + diff --git a/docs/api_docs/files/pageimporter.html b/docs/api_docs/files/pageimporter.html new file mode 100644 index 0000000..81f7a5a --- /dev/null +++ b/docs/api_docs/files/pageimporter.html @@ -0,0 +1,95 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: ApexImporter + + + + + + + +
+

ApexImporter

ApexImporter is a tool for converting destructible assets from APEX Destruction format to Blast™ asset format. Whereas APEX Destruction only needs a list of connected chunks, Blast™ has a Bond structure to describe chunk connections. Each Bond describes the interface between two chunks, and needs the area, centroid, and average normal of this interface. ApexImporter computes this data automatically. Interface search can be done in several ways: +

+A bond is not created if area of interface is zero. The interface centroid is computed as center of mass of all interface polygon points. The interface normal is computed as an average of normals of all planes comprising the interface surface.

+Note - for Blast™ to operate with satisfactory fracturing behavior, it does not require exact area, centroid, and normal values for Bonds.

+Along with creating a Blast™ asset, ApexImporter creates an *.obj or *.fbx file with description of chunks render geometry. Blast asset data can be saved to *.llasset, *.tkasset or *.bpxa format. BPXA asset contains collision geometry and can be used in SampleAssetViewer.

+

+USAGE:
+
+		ApexImporter -f <infile> -n <output asset name>
+			     [--fbx] [--obj][--fbxascii] [--ue4] [--ll] [--tk]
+                             [--bpxa] [-d] [-m <0 - EXACT, 1 - FORCED>] 
+			     [-o <output directory>] [--] [--version] [-h]
+
+
+Where: 
+
+   -f <infile>,  --file <infile>
+     (required)  File to load
+
+   -n <output asset name>,  --outAssetName <output asset name>
+     (required)  Output asset name
+
+   --fbx
+     Output a FBX mesh to the output directory
+
+   --obj
+     Output a OBJ mesh to the output directory
+
+   --fbxascii
+     Output FBX as an ascii file (defaults to binary output)
+
+   --ue4
+     Output FBX with UE4 coordinate system
+
+   --ll
+     Output LL Blast asset to the output directory (ext: llasset)
+
+   --tk
+     Output TkAsset to the output directory (ext: tkasset)
+
+   --bpxa
+     Output ExtPxAsset to the output directory (ext: bpxa)
+
+   -d,  --debug
+     Print debug output
+
+   -m <0 - EXACT, 1 - FORCED>,  --mode <0 - EXACT, 1 - FORCED>,
+     Interface search mode
+
+   -o <output directory>,  --outputDir <output directory>
+     Result output directory. If is not specified, result will be saved to folder with input file.
+
+   --,  --ignore_rest
+     Ignores the rest of the labeled arguments following this flag.
+
+   --version
+     Displays version information and exits.
+
+   -h,  --help
+     Displays usage information and exits.
+
+

+
+ See Copyrights for license information regarding third-party software used by ApexImporter.

+
+

+ + + + diff --git a/docs/api_docs/files/pageintroduction.html b/docs/api_docs/files/pageintroduction.html new file mode 100644 index 0000000..5c3bedc --- /dev/null +++ b/docs/api_docs/files/pageintroduction.html @@ -0,0 +1,48 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Introduction + + + + + + + +
+

Introduction

Blast™ is an NVIDIA GameWorks™ destruction library. It consists of a Low Level API (NvBlast), a High Level (Toolkit) API (NvBlastTk) (Blast™ Toolkit or BlastTk), and Extensions (NvBlastExt) (Blast™ Extensions or BlastExt). This layered API is designed to allow short ramp-up time for first usage (through the Ext and Tk APIs) while also allowing for customization and optimization by experienced users through the low-level API.

+This library is intended to replace APEX Destruction. It is being developed with years of user feedback and experience, with the goal of addressing shortcomings in performance, stability, and customizability of the APEX Destruction module.

+Asset Structure

+Blast™ is currently designed to support rigid body, pre-fractured destruction. Future versions may support runtime fracturing or deformation.

+The static data associated with a destructible is stored in an asset. Assets are instanced into actors, which may be damaged and fractured. When fractured, actors are broken into pieces called chunks. Connected groups of chunks belong to new actors. The grouping of chunks into actors is determined by the support graph in the asset.

+Chunks are defined hierarchically, so that when a chunk is fractured its child chunks are created. The user may tag any chunk in this hierarchy as a support chunk. This is covered in more detail in the Support Model section. The user also supplies a description of the connections between support chunks. A bond represents the surface joining neighboring chunks. A bond is represented by a surface centroid, an average surface normal, and the surface area. These quantities don't need to be exact for Blast™ to operate effectively.

+Multiple chunk hierarchies may exist in a single asset. The root chunks (see Definitions) will be visible when the asset is initially instanced. Subsequent fracturing has the effect of breaking the root chunks into their hierarchical descendants.

+Support Model

+Blast™ requires that support chunks form an exact cover (see the definition of exact coverage in Definitions). However, it is quite forgiving with respect to user input when creating an asset. The geometric interpretation of exact coverage is that the support chunks fill the space of the root (unfractured) chunk, without any volume being covered by more than one chunk. Upon asset creation, missing coverage will be filled in by Blast™, by assigning support to chunks at the highest place possible (closest to root) in the hierarchy. If support is redundant, that is a chunk and one of its descendant chunks are both marked as support by the user, then Blast™ will remove support from the descendant chunk.

+Support chunks that are joined by bonds will be grouped together in the same actor when fracturing occurs. In order to take advantage of the chunk hieararchy to reduce the number of chunks which represent an actor physically and graphically, Blast™ calculates a list of visible chunks from the support chunks in an actor. These may be the support chunks, or they may be ancestors of support chunks if all descendant support chunks are in the actor.

+Support chunks do not have to be leaves in the chunk hierarchy, nor do they have to be at the same depth in the hierarchy. Children of support chunks will always be the sole chunk in their actor, since there is no bond defined between them. If an actor consists of of a subsupport chunk (see Definitions), the visible chunk is the same chunk.

+Damage Model

+Damage is defined as loss of an actor's material integrity. This is modeled by a simple health value associated with the bonds and chunks in the support graph. The user applies damage to an actor at a given location, with a maximum effect radius. The resulting loss of bond and chunk health is determined by a user-defined material function. In this way the user can customize the effect of damage based upon the bonds' properties such as normal and area, as well as distance from impact location.

+Damage is applied from a damage event buffer. After all damage events are processed, bonds with non-positive healths are considered to be broken. Blast™ performs island detection on the support graph to find all groups of support chunks that are connected by unbroken bonds, and any new islands found result in new actors.

+If an actor is composed of a single support or subsupport chunk with subsupport descendants, then there is no bond structure to model damage. Instead, such a chunk is considered to have its own health value, which may be decreased by damage. When such a lower-support (see Definitions) chunk's health is non-positive, its associated actor is deleted and replaced by actors that represent its child chunks, if any.

+The effect of damage on leaf chunks depends upon which API is used. The low-level API does not delete leaf chunks. It is up to the user to delete them, and manage their physical and graphical representation outside of Blast™ if so desired.

+Backwards Compatibility

+The Blast™ SDK provides the ApexImporter tool to allow APEX Destructible assets to be reused. A Blast™ asset requires more information in its support graph than an APEX Destuctible asset does. Whereas the latter only contains a list of chunk neighbors, the bonds used by Blast™ include a small amount of geometric information, as described in Asset Structure.

+
+

+ + + + diff --git a/docs/api_docs/files/pagellapi.html b/docs/api_docs/files/pagellapi.html new file mode 100644 index 0000000..1748161 --- /dev/null +++ b/docs/api_docs/files/pagellapi.html @@ -0,0 +1,266 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Low Level API (NvBlast) + + + + + + + +
+

Low Level API (NvBlast)

Table of Contents

+Introduction

+Linking and Header Files

+Creating an Asset from a Descriptor (Authoring)

+Creating Actors and Families

+Damage and Fracturing

+
+

+Introduction

+The low-level API is the core of Blast™ destruction. It is designed to be a minimal API that allows an experienced user to incorporate destruction into their application. Summarizing what the low-level API has, or rather doesn't have:

+

+

+
+

+Linking and Header Files

+To use the low-level Blast™ SDK, the application need only inlclude the header NvBlast.h, found in the top-level include folder, and link against the appropriate version of the NvBlast library. Depending on the platform and configuration, various suffixes will be added to the library name. The general naming scheme is

+NvBlast(config)(arch).(ext)

+(config) is DEBUG, CHECKED, OR PROFILE for the corresponding configurations. For a release configuration there is no (config) suffix.

+(arch) is _x86 or _x64 for Windows 32- and 64-bit builds, respectively, and empty for non-Windows platforms.

+(ext) is .lib for static linking and .dll for dynamic linking on Windows. On XBoxOne it is .lib, and on PS4 it is .a.

+
+

+Creating an Asset from a Descriptor (Authoring)

+The NvBlastAsset is an opaque type pointing to an object constructed by Blast™ in memory allocated by the user. To create an asset from a descriptor, use the function NvBlastAssetCreate. See the function documentation for a description of its parameters.

+N.B., there are strict rules for the ordering of chunks with an asset, and also conditions on the chunks marked as "support" (using the NvBlastChunkDesc::SupportFlag). See the function documentation for these conditions. NvBlastAssetCreate does not reorder chunks or modify support flags to meet these conditions. If the conditions are not met, NvBlastAssetCreate fails and returns NULL. However, Blast™ provides helper functions to reorder chunk descriptors and modify the support flags within those descriptors so that they are valid for asset creation. The helper functions return a mapping from the original chunk ordering to the new chunk ordering, so that corresponding adjustments or mappings may be made for graphics and other data the user associates with chunks.

+Example code is given below.

+

std::vector<NvBlastChunkDesc> chunkDescs;
+chunkDescs.resize( chunkCount );    // chunkCount > 0
+
+chunkDescs[0].parentChunkIndex = UINT32_MAX;    // invalid index denotes a chunk hierarchy root
+chunkDescs[0].centroid[0] = 0.f;    // centroid position in asset-local space
+chunkDescs[0].centroid[1] = 0.f;
+chunkDescs[0].centroid[2] = 0.f;
+chunkDescs[0].volume = 1.f; // Unit volume
+chunkDescs[0].flags = NvBlastChunkDesc::NoFlags;
+chunkDescs[0].ID = 0;   // User-supplied ID.  For example, this can be the index of the chunkDesc.
+                        // The ID can be left undefined.
+
+chunkDescs[1].parentChunkIndex = 0; // child of chunk described by chunkDescs[0]
+chunkDescs[1].centroid[0] = 2.f;    // centroid position in asset-local space
+chunkDescs[1].centroid[1] = 4.f;
+chunkDescs[1].centroid[2] = 6.f;
+chunkDescs[1].volume = 1.0; // Unit volume
+chunkDescs[1].flags = NvBlastChunkDesc::SupportFlag; // This chunk should be represented in the support graph
+chunkDescs[1].ID = 1;
+
+// ... etc.
+
+std::vector<NvBlastBondDesc> bondDescs;
+bondDescs.resize( bondCount );  // bondCount > 0
+
+bondDescs[0].chunkIndices[0] = 1;   // chunkIndices refer to chunk descriptor indices for support chunks
+bondDescs[0].chunkIndices[1] = 2;
+bondDescs[0].bond.m_normal[0] = 1.f;    // normal in the +x direction
+bondDescs[0].bond.m_normal[1] = 0.f;
+bondDescs[0].bond.m_normal[2] = 0.f;
+bondDescs[0].bond.m_area = 1.0; // unit area
+bondDescs[0].bond.m_centroid[0] = 1.f;  // centroid position in asset-local space
+bondDescs[0].bond.m_centroid[1] = 2.f;
+bondDescs[0].bond.m_centroid[2] = 3.f;
+bondDescs[0].m_userData = 0;    // this can be used to tell the user more information about this
+                                // bond for example to create a joint when this bond breaks
+
+// ... etc.
+
+// Set the fields of the descriptor
+NvBlastAssetDesc assetDesc;
+assetDesc.chunkCount = chunkCount;
+assetDesc.chunkDescs = chunkDescs.data();
+assetDesc.bondCount = bondCount;
+assetDesc.bondDescs = bondDescs.data();
+
+// Now ensure the support coverage in the chunk descriptors is exact, and the chunks are correctly ordered
+std::vector<char> scratch( chunkCount * sizeof(NvBlastChunkDesc) ); // This is enough scratch for both NvBlastEnsureAssetExactSupportCoverage and NvBlastReorderAssetDescChunks
+NvBlastEnsureAssetExactSupportCoverage( chunkDescs.data(), chunkCount, scratch.data(), nullptr );
+std::vector<uint32_t> map(chunkCount);  // Will be filled with a map from the original chunk descriptor order to the new one
+NvBlastReorderAssetDescChunks( chunkDescs.data(), chunkDescs, bondDescs.data(), bondCount, map, scratch.data(), nullptr );
+
+// Create the asset
+scratch.resize( NvBlastGetRequiredScratchForCreateAsset( &assetDesc ) );    // Provide scratch memory for asset creation
+void* mem = malloc( NvBlastGetAssetMemorySize( &assetDesc ) );      // Allocate memory for the asset object
+NvBlastAsset* asset = NvBlastCreateAsset( mem, &assetDesc, scratch.data(), nullptr );   // the log function (last argument) is optional
+

+
+ It should be noted that the geometric information (centroid, volume, area, normal) in chunks and bonds is only used by damage shader functions (see Damage Shaders (NvBlastExtShaders)). Depending on the shader, some, all, or none of the geometric information will be needed. The user may write damage shader functions that interpret this data in any way they wish.

+
+

+Cloning an Asset (Serialization and Deserialization)

+To clone an asset, or equivalently serialize and deserialize it (as long as the deserialized asset is being created on a host with the same data version and endianness), one only needs to copy the memory associated with the NvBlastAsset.

+

uint32_t assetSize = NvBlastAssetGetSize( data );
+
+NvBlastAsset* newAsset = (NvBlastAsset*)malloc(assetSize);  // NOTE: the memory buffer <em> must <\em> be 16-byte aligned!
+memcpy( newAsset, asset, assetSize );   // this data may be copied into a buffer, stored to a file, etc.
+

+N.B. the comment after the malloc call above. NvBlastAsset memory must be 16-byte aligned.

+
+

+Releasing an Asset

+Blast&tm low-level does no internal allocation; since the memory is allocated by the user, one simply has to free the memory they've allocated. The asset pointer returned by NvBlastCreateAsset has the same numerical value as the mem block passed in (if the function is successful, or NULL otherwise). So releasing an asset done as follows:

+

free( asset );
+

+
+

+Creating Actors and Families

+Actors live within a family created from asset data. To create an actor, one must first create a family. This family is used by the initial actor created from the asset, as well as all of the descendent actors created by recursively fracturing the initial actor. Like assets, family allocation is done by the user.

+To create a family, use:

+

// Allocate memory for the family object - this depends on the asset being represented by the family.
+void* mem = malloc( NvBlastAssetGetFamilyMemorySize( &asset ) );
+
+NvBlastFamily* family = NvBlastAssetCreateFamily( mem, &asset, nullptr );
+

+When an actor is first created from an asset, it represents the root of the chunk hierarchy, that is the unfractured object. To create this actor, use:

+

// Set the fields of the descriptor
+NvBlastActorDesc actorDesc;
+actorDesc.asset = asset;    // point to a valid asset
+actorDesc.initialBondHealth = 1.0f;  // this health value will be given to all bonds
+actorDesc.initialChunkHealth = 1.0f; // this health value will be given to all lower-support chunks
+
+// Provide scratch memory
+std::vector<char> scratch( NvBlastFamilyGetRequiredScratchForCreateFirstActor( &actorDesc ) );
+
+// Create the first actor
+NvBlastActor* actor = NvBlastFamilyCreateFirstActor( family, &actorDesc, scratch.data(), nullptr ); // ready to be associated with physics and graphics by the user
+

+
+

+Copying Actors (Serialization and Deserialization)

+There are two forms of serialization: family serialization and single actor serialization. Family serialization is extremely fast as it only requires a single memory copy. All actors in the family may be saved, loaded, or copied at once in this way.

+
+

+Family Serialization

+To serialize a family, use the family pointer which may be retrieved from any active actor in the family if needed, using the NvBlastActorGetFamily function:

+

const NvBlastFamily* family = NvBlastActorGetFamily( &actor, nullptr );
+

+Then the size of the family may be obtained using:

+

size_t size = NvBlastFamilyGetSize( family, nullptr );
+

+Now this memory may be copied, saved to disk, etc. To clone the family, for example, we can duplicate the memory:

+

std::vector<char> buffer( size );
+NvBlastFamily* family2 = reinterpret_cast<NvBlastFamily*>( buffer.data() );
+memcpy( family2, family, size );
+

+N.B. If this data has been serialized from an external source, the family will not contain a valid reference to its associated asset. The user must set the family's asset. The family does however contain the asset's GUID, to help the user match the correct asset to the family. So one way of restoring the asset to the family follows:

+

const NvBlastGUID guid = NvBlastFamilyGetAssetGUID( family2, nullptr );
+// ... here the user must retrieve the asset using the GUID or by some other means
+NvBlastFamilySetAsset( family2, asset, nullptr );
+

+The data in family2 will contain the same actors as the original family. To access them, use:

+

uint32_t actorCount = NvBlastFamilyGetActorCount( family2, nullptr );
+std::vector<NvBlastActor*> actors( actorCount );
+uint32_t actorsWritten = NvBlastFamilyGetActors( actors.data(), actorCount, family2, nullptr );
+

+In the code above, actorsWritten should equal actorCount.

+
+

+Single Actor Serialization

+To perform single-actor serialization, first find the buffer size required to store the serialization data:

+

size_t bufferSize = NvBlastActorGetSerializationSize( actor, nullptr );
+

+If you want to use an upper bound which will be large enough for any actor in a family, you may use:

+

size_t bufferSize = NvBlastAssetGetActorSerializationSizeUpperBound( asset, nullptr );
+

+Then create a buffer of that size and use NvBlastActorSerialize to write to the buffer:

+

std::vector<char> buffer( bufferSize );
+size_t bytesWritten = NvBlastActorSerialize( buffer, bufferSize, actor, nullptr );
+

+To deserialize the buffer, an appropriate family must be created. It must not already hold a copy of the actor. It must be formed using the correct asset (the one that originally created the actor):

+

NvBlastFamily* family = NvBlastAssetCreateFamily( asset, malloc, nullptr );
+

+Then deserialize into the family:

+

NvBlastActor* newActor = NvBlastFamilyDeserializeActor( family, buffer.data(), nullptr );
+

+If newActor is not NULL, then the actor was successfully deserialized.

+
+

+Deactivating an Actor

+Actors may not be released in the usual sense of deallocation. This is because actors' memory is stored as a block within the owning family. The memory is only released when the family is released. However, one may deactivate an actor using NvBlastActorDeactivate. This clears the actor's chunk lists and marks it as invalid, effectively disassociating it from the family. The user should consider this actor to be destroyed.

+

bool success = NvBlastActorDeactivate( actor ); // actor should always be a pointer, as it is an opaque type
+

+
+

+Releasing a family

+As mentioned above, releasing an actor does not actually do any deallocation; it simply invalidates the actor within its family. To actually deallocate memory, you must deallocate the family. Note, this will invalidate all actors in the family. This is a fast way to delete all actors that were created from repeated fracturing of a single instance. As with NvBlastAsse, memory is allocated by the user, so to release the family simply free that memory:

+

free( family );
+

+The family will not be automatically released when all actors within it are invalidated using NvBlastActorDeactivate. However, the user may keep track of the number of active actors in a family using

+

uint32_t actorCount = NvBlastFamilyGetActorCount( family, nullptr );
+

+The result of the call above, actually a reference count for the family, is accurate even if actors are created and deleted from different threads.

+
+

+Damage and Fracturing

+Damaging and fracturing is a staged process. In a first step, a NvBlastDamageProgram creates lists of Bonds and Chunks to damage - so called Fracture Commands. The lists are created from input specific to the NvBlastDamageProgram.
+ NvBlastDamagePrograms are composed of a NvBlastGraphShaderFunction and a NvBlastSubgraphShaderFunction operating on support graphs (support chunks and bonds) and disconnected subsupport chunks respectively. An implementer can freely define the shader functions and paramters. Different functions can have the effect of emulating different physical materials.
+ Blast™ provides example implementations of such functions in Damage Shaders (NvBlastExtShaders), see also NvBlastExtDamageShaders.h. The NvBlastDamageProgram is used through NvBlastActorGenerateFracture that will provide the necessary internal data for the NvBlastActor being processed. The shader functions see the internal data as NvBlastGraphShaderActor and NvBlastSubgraphShaderActor respectively.

+The second stage is carried out with NvBlastActorApplyFracture. This function takes the previously generated Fracture Commands and applies them to the NvBlastActor. The result of every applied command is reported as a respective Fracture Event if requested.

+Fracture Commands and Fracture Events both are represented by NvBlastFractureBuffers. The splitting of the actor into child actors is not done until the third stage, NvBlastActorSplit, is called. Fractures may be repeatedly applied to an actor before splitting.

+The NvBlastActorGenerateFracture, NvBlastActorApplyFracture and NvBlastActorSplit functions are profiled in Profile configurations. This is done through a pointer to a NvBlastTimers struct passed into the functions. If this pointer is not NULL, then timing values will be accumulated in the referenced struct.

+The following example illustrates the process:

+

// Step one: Generate Fracture Commands
+
+// Damage programs (shader functions), material properties and damage description relate to each other.
+// Together they define how actors will break by generating the desired set of Fracture Commands for Bonds and Chunks.
+NvBlastDamageProgram damageProgram = { GraphShader, SubgraphShader };
+NvBlastProgramParams programParams = { damageDescs, damageDescCount, materialProperties };
+
+// Generating the set of Fracture Commands does not modify the NvBlastActor.
+NvBlastActorGenerateFracture(fractureCommands, actor, damageProgram, &programParams, logFn, &timers);
+
+
+// Step two: Apply Fracture Commands
+
+// Applying Fracture Commands does modify the state of the NvBlastActor.
+// The Fracture Events report the resulting state of each Bond or Chunk involved.
+// Chunks fractured hard enough will also fracture their children, creating Fracture Events for each.
+NvBlastActorApplyFracture(fractureEvents, actor, fractureCommands, logFn, &timers);
+
+
+// Step three: Splitting
+
+// The Actor may be split into all its smallest pieces.
+uint32_t maxNewActorCount = NvBlastActorSplitMaxActorCount(actor);
+std::vector<NvBlastActor*> newActors(maxNewActorCount);
+
+// Make this memory available to NvBlastSplitEvent.
+NvBlastActorSplitEvent splitEvent;
+splitEvent.newActors = newActors.data();
+
+// Some temporary memory is necessary as well.
+std::vector<char> scratch(NvBlastActorGetRequiredScratchForSplit(actor));
+
+// New actors created are reported in splitEvent.newActors.
+// If newActorCount != 0, then the old actor is deleted and is reported in splitEvent.deletedActor.
+size_t newActorCount = NvBlastActorSplit(&splitEvent, actor, maxNewActorCount, scratch.data(), logFn, &timers);
+

+
+

+ + + + diff --git a/docs/api_docs/files/pagereleasenotes.html b/docs/api_docs/files/pagereleasenotes.html new file mode 100644 index 0000000..f53849a --- /dev/null +++ b/docs/api_docs/files/pagereleasenotes.html @@ -0,0 +1,102 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Release Notes + + + + + + + +
+

Release Notes

+
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+Blast(tm) SDK 1.0 beta (24-Jan-2017)
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+Changes
+-------
+* Material API simplified (NvBlastProgramParams)
+* Nv::Blast::ExtPhysics renamed Nv::Blast::ExtPx
+* Various small changes to the low-level API (function renaming, argument list changes, etc.)
+* Extensions libraries reconfigured according to major dependencies and functionality:
+** Authoring
+** Import (depends on PhysX and APEX)
+** PhysX (depends on PhysX)
+** Serialization (depends on PhysX and Cap'n Proto)
+** Shaders
+* Source folder reorganization: low-level, Tk, and extensions all under an sdk folder
+
+New Features
+------------
+* TkFamily serialization
+* Versioned data serialization extensions for both low-level and Tk, based on Cap'n Proto
+* TkJoint API, can create joints at runtime, attachments to Newtonian Reference Frame supported
+* CMake projects
+* PackMan used for dependencies
+* Per-bond and per-chunk health initialization
+* XBoxOne and Windows support for perf zones
+* Timers in Tk
+* Stress solver (automatic bond breaking)
+* ExtPx asset serialization, combined TkAsset + PhysX collision meshes (.bpxa files)
+
+Removed Features
+----------------
+* TkComposite objects.  Composites may be created using the new TkJoint API in the TkFramework
+
+Known Issues
+------------
+* Serialization requires documentation
+
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+Blast(tm) SDK 1.0 alpha (21-Oct-2016)
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+Features
+--------
+Blast (low-level) library
+BlastTk (high-level) library
+BlastExt (extensions) library including:
+* AssetAuthoring
+* DataConverter
+* BlastID Utilities
+* ApexImporter Utilities
+* Materials
+* Physics Manager
+* Sync Layer
+Tools:
+* ApexImporter
+* DataConverter
+* AuthoringTool
+Samples:
+SampleAssetViewer
+
+Known Issues
+------------
+* Documentation incomplete
+* TkFamily cannot be serialized
+* Data conversion utility for Tk library does not exist
+* Material API is still changing
+
+
+
+ + + + diff --git a/docs/api_docs/files/pages.html b/docs/api_docs/files/pages.html new file mode 100644 index 0000000..455d390 --- /dev/null +++ b/docs/api_docs/files/pages.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Page Index + + + + + + + +
+

Related Pages

Here is a list of all related documentation pages: +
+ + + + diff --git a/docs/api_docs/files/pagesampleassetviewer.html b/docs/api_docs/files/pagesampleassetviewer.html new file mode 100644 index 0000000..32d42b9 --- /dev/null +++ b/docs/api_docs/files/pagesampleassetviewer.html @@ -0,0 +1,100 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: SampleAssetViewer + + + + + + + +
+

SampleAssetViewer

The windows-specific bin subfolders contain the application SampleAssetViewer.exe.

+This application can load model file sets (.blast, .obj, .collision) that are generated by the ApexImporter or AuthoringTool tools.

+Loading a Destructible Model

+To load a specific file set, make sure the .blast, .obj, and .collision files all have the same name (except for extension). Then use the commandline options

+

+-t PATHNAME -n ASSETNAME -p X Y Z -r AX AY AZ ANGLE
+

+Here, PATHNAME is the path to the directory containing the three (.blast, .obj, .collision) files. ASSETNAME is the common name of those files. (X, Y, Z) is the translation to give to the actor that is created. (AX, AY, AZ, ANGLE) is the rotation axis and angle (in degrees) to apply to the actor.

+Loading Multiple Destructible Models

+To load multiple destructible models, use a config file. The viewer reads .xml config files, which you can select using the command line argument

+

+-x FILENAME
+

+Running the application with no commandline arguments, the viewer will load samples/resources/configs/assets.xml by default. This file references the models in the subdirectories of samples/resources/models.

+Using SampleAssetViewer

+Upon startup, the viewer will instance its first asset in its assets list. Using the default assets.xml, this is a brick will.

+The menu is displayed using an overlay on the left side of the screen. It is divided into many submenus, which are described below.

+In any scene, you may press 'F' to fire a box into the scene in the direction the camer is pointing.

+You may also press SPACE to toggle between damage and drag mode. (The mode is shown at the top of the screen.) In drag mode, dynamic objects can be manipulated by placing the mouse cursor over them, and using Left Mouse / Drag to pull on the object. In damage mode, left-clicking a destructible actor will apply damage to it.

+You may select between three different damage tools using the 1, 2, and 3 keys. Each will color the damage sphere (shown at the mouse hit location) a different color:

+

+

+You may change the size of the damage sphere using the center mouse wheel, or the Damage Tool menu (see below).

+Right mouse button-drag to rotate the camera, and move using W, S, A, and D for forward, back, left, and right, respectively. Q and E move the camera down and up, relative to the current orientation.

+Pressing 'R' will reset the scene. Pressing 'P' toggles physical simulation.

+Menu Items

+

+Scene

+Here you can select which assets to add to the scene, set the material damage properties, and enable a stress solver.

+In Replace mode (the default, set by radio button), selecting assets in the Assets list will remove all destructible actors from the scene and insert the selected one. In Append mode (the other radio button), selecting a new asset will insert its actor into the scene while keeping the others as well.

+You may also select actors in the Scene Actors list, and remove (or reload) the actor using the buttons below the list. Reloading an actor will restore it to its unfractured state.

+Note, in addition to destructible actors, the Scene Actors list shows the boxes that were fired into the scene using the 'F' key. You may remove those using this UI as well.

+The Blast Material properties are used by the various damage tools available.

+

+

+A stress solver may be enabled by selcting the Stress Solver Enabled checkbox. When enabled you will be presented with several options. NOTE: you must then select the Stress Damage Enabled checkbox in order to allow stress to do damage to the actors in the scene. Bond Iterations Per Frame - is max amount of bonds allowed to be processed in one frame. The more this value the better quality of stress solver, but the time taken by it is increased linearly. You can check this timing in Stats submenu. Using this value stress solver takes fixed amount of CPU time on asset of any size. So the more asset complex (the more bonds it has) the less total iterations (on all bonds) are made. Use graph reduction level param to simplify stress graph for large assets. You can look at stress graph using by using Debug Render submenu. Stress linear and angular factors are corresponded for amount of damage to be applied on bonds from linear and angular momentum of stress on every bond.

+Replay control section allows to control recording and replaying Blast events. It demonstrates the usage of ExtSync extension. You may start/stop recording of blast events (damage, split). If you toggle to sync initial actors once recording starts full blast state is saved.

+Blast

+Here you may disable or enable impact damage, using the Impact Damage checkbox (on by default).

+The Fragility setting is a multiplier that turns impact forces into damage amounts.

+You can toggle to pass impact damage to stress solver instead of just applying it with simple damage shader. Impact impulse will be passed to stress graph and damage will be applied accordingly to stress solver settings mentioned above.

+When dragging static actors (with mouse dragging tool) stress impulse is also applied on stress graph. Use Dragging To Stress Factor to tune the amount.

+You can limit rigid body count with next setting, all the actors created above this count will be ignored.

+Damage Tool

+Here you may set the effect of the damage caused by the damage tool (left mouse click)

+

+

+Stats

+Here you will find various timers, counts, and sizes. A running graph shows the frame time in ms.

+The "Last X" times shown at the end of this list record the time spent during the last damage or split calls. These are broken down into sections, each contributing to the parent time. "Child" function times are denoted by indentation.

+Application

+Here you may pause the physics simulation (the same as pressing 'P') and reload shaders.

+Debug Render

+Here you may select wireframe rendering, which is useful for the various debug render options given.

+You may select the debug render options from the Blast Debug Render Mode dropdown. Note: pressing 'I' will cycle through this menu:

+

+

+PhysX

+This menu controls PhysX simulation parameters. Here you may choose to use fixed time steps (off by default), and set the time step (if Use Fixed Timestep is checked) with the Fixed Timestep control.

+If a suitable GPU is available, GPU Physics may be enabled using the Use GPU Physics control.

+Renderer

+Here you may change the lighting, shadow, and ambient occlusion (HBAO) options.

+Hints / Help

+Gives selected keyboard shortcuts.

+
+ See Copyrights for license information regarding third-party software used by the samples.

+
+

+ + + + diff --git a/docs/api_docs/files/pagesamples.html b/docs/api_docs/files/pagesamples.html new file mode 100644 index 0000000..4ee00d5 --- /dev/null +++ b/docs/api_docs/files/pagesamples.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Samples + + + + + + + +
+

Samples

The samples folder contains:

+SampleAssetViewer

+
+

+ + + + diff --git a/docs/api_docs/files/pagetools.html b/docs/api_docs/files/pagetools.html new file mode 100644 index 0000000..ead8d22 --- /dev/null +++ b/docs/api_docs/files/pagetools.html @@ -0,0 +1,43 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Tools + + + + + + + +
+

Tools


+ See Copyrights for license information regarding third-party software used by the tools.

+
+

+Apex Importer

+Import Apex assets into Blast format.

+ApexImporter

+Data Converter

+Convert serialized data from an old format to the current format.

+DataConverter

+Authoring Tool

+Command line authoring tool.

+AuthoringTool

+
+

+ + + + diff --git a/docs/api_docs/files/pageusersguide.html b/docs/api_docs/files/pageusersguide.html new file mode 100644 index 0000000..81c2068 --- /dev/null +++ b/docs/api_docs/files/pageusersguide.html @@ -0,0 +1,39 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: User's Guide + + + + + + + +
+

User's Guide

Blast™ User's Guide

+Introduction

+Low Level API (NvBlast)

+High Level (Toolkit) API (NvBlastTk)

+Extensions (NvBlastExt)

+Tools

+Samples

+Definitions

+Copyrights

+
+

+ + + + diff --git a/docs/api_docs/files/release__notes_8txt.html b/docs/api_docs/files/release__notes_8txt.html new file mode 100644 index 0000000..1b6aeec --- /dev/null +++ b/docs/api_docs/files/release__notes_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/release_notes.txt File Reference + + + + + + + +
+

docs/release_notes.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/sample__asset__viewer_8txt.html b/docs/api_docs/files/sample__asset__viewer_8txt.html new file mode 100644 index 0000000..a7b5acd --- /dev/null +++ b/docs/api_docs/files/sample__asset__viewer_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/sample_asset_viewer.txt File Reference + + + + + + + +
+

docs/_source/sample_asset_viewer.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/samples_8txt.html b/docs/api_docs/files/samples_8txt.html new file mode 100644 index 0000000..018ec43 --- /dev/null +++ b/docs/api_docs/files/samples_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/samples.txt File Reference + + + + + + + +
+

docs/_source/samples.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_apex_importer_1_1_apex_importer_config-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_apex_importer_1_1_apex_importer_config-members.html new file mode 100644 index 0000000..5db86a8 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_apex_importer_1_1_apex_importer_config-members.html @@ -0,0 +1,37 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ApexImporter::ApexImporterConfig Member List

This is the complete list of members for Nv::Blast::ApexImporter::ApexImporterConfig, including all inherited members.

+ + + + + + + +
ApexImporterConfig()Nv::Blast::ApexImporter::ApexImporterConfig [inline]
EXACT enum valueNv::Blast::ApexImporter::ApexImporterConfig
FORCED enum valueNv::Blast::ApexImporter::ApexImporterConfig
infSearchModeNv::Blast::ApexImporter::ApexImporterConfig
InterfaceSearchMode enum nameNv::Blast::ApexImporter::ApexImporterConfig
MODE_COUNT enum valueNv::Blast::ApexImporter::ApexImporterConfig
setDefaults()Nv::Blast::ApexImporter::ApexImporterConfig [inline]

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_apex_importer_1_1_apex_importer_config.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_apex_importer_1_1_apex_importer_config.html new file mode 100644 index 0000000..cb571b3 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_apex_importer_1_1_apex_importer_config.html @@ -0,0 +1,133 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ApexImporter::ApexImporterConfig Struct Reference + + + + + + + + +
+

Nv::Blast::ApexImporter::ApexImporterConfig Struct Reference

#include <NvBlastExtApexImportTool.h> +

+ +

+List of all members. + + + + + + + + + + +

Public Types


Public Member Functions

 ApexImporterConfig ()
void setDefaults ()

Public Attributes

InterfaceSearchMode infSearchMode
+


Member Enumeration Documentation

+ +
+ +
+ +

+Interface search mode:

+EXACT - - Importer tries to find triangles from two chunks which lay in common surface. If such triangles are found, their intersections are considered as the interface.

+FORCED - Bond creation is forced no matter how far chunks from each other.

Enumerator:
+ + + + +
EXACT  +
FORCED  +
MODE_COUNT  +
+
+ +
+

+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::ApexImporter::ApexImporterConfig::ApexImporterConfig (  )  [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
void Nv::Blast::ApexImporter::ApexImporterConfig::setDefaults (  )  [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config-members.html new file mode 100644 index 0000000..67315f6 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::BondGenerationConfig Member List

This is the complete list of members for Nv::Blast::BondGenerationConfig, including all inherited members.

+ + + + +
AVERAGE enum valueNv::Blast::BondGenerationConfig
BondGenMode enum nameNv::Blast::BondGenerationConfig
bondModeNv::Blast::BondGenerationConfig
EXACT enum valueNv::Blast::BondGenerationConfig

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config.html new file mode 100644 index 0000000..bf87b9a --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config.html @@ -0,0 +1,85 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::BondGenerationConfig Struct Reference + + + + + + + + +
+

Nv::Blast::BondGenerationConfig Struct Reference

#include <NvBlastExtAuthoringBondGenerator.h> +

+ +

+List of all members. + + + + + +

Public Types


Public Attributes

BondGenMode bondMode
+


Detailed Description

+Bond interface generation configuration EXACT - common surface will be searched AVERAGE - Inerface is approximated by projections or intersecitons with midplane

Member Enumeration Documentation

+ +
+ +
+ +

+

Enumerator:
+ + + +
EXACT  +
AVERAGE  +
+
+ +
+

+


Member Data Documentation

+ +

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html new file mode 100644 index 0000000..cc6f046 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ChunkInfo Member List

This is the complete list of members for Nv::Blast::ChunkInfo, including all inherited members.

+ + + + +
chunkIdNv::Blast::ChunkInfo
isLeafNv::Blast::ChunkInfo
meshDataNv::Blast::ChunkInfo
parentNv::Blast::ChunkInfo

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html new file mode 100644 index 0000000..c53f2fc --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html @@ -0,0 +1,110 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ChunkInfo Struct Reference + + + + + + + + +
+

Nv::Blast::ChunkInfo Struct Reference

#include <NvBlastExtAuthoringFractureTool.h> +

+ +

+List of all members. + + + + + + + + + + +

Public Attributes

int32_t chunkId
bool isLeaf
MeshmeshData
int32_t parent
+


Member Data Documentation

+ +
+
+ + + + +
int32_t Nv::Blast::ChunkInfo::chunkId
+
+
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+
+ + + + +
int32_t Nv::Blast::ChunkInfo::parent
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull.html new file mode 100644 index 0000000..57357d1 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull.html @@ -0,0 +1,42 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::CollisionHull Struct Reference + + + + + + + + +
+

Nv::Blast::CollisionHull Struct Reference

#include <NvBlastExtAuthoringCollisionBuilder.h> +

+ + + + + +

Classes

struct  HullPolygon
+


Detailed Description

+Collision hull geometry format.
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull_1_1_hull_polygon-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull_1_1_hull_polygon-members.html new file mode 100644 index 0000000..825c717 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull_1_1_hull_polygon-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::CollisionHull::CollisionHull::HullPolygon Member List

This is the complete list of members for Nv::Blast::CollisionHull::CollisionHull::HullPolygon, including all inherited members.

+ + + +
mIndexBaseNv::Blast::CollisionHull::CollisionHull::HullPolygon
mNbVertsNv::Blast::CollisionHull::CollisionHull::HullPolygon
mPlaneNv::Blast::CollisionHull::CollisionHull::HullPolygon

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull_1_1_hull_polygon.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull_1_1_hull_polygon.html new file mode 100644 index 0000000..bd75daf --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_collision_hull_1_1_hull_polygon.html @@ -0,0 +1,94 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::CollisionHull::CollisionHull::HullPolygon Struct Reference + + + + + + + + +
+

Nv::Blast::CollisionHull::CollisionHull::HullPolygon Struct Reference

#include <NvBlastExtAuthoringCollisionBuilder.h> +

+ +

+List of all members. + + + + + + + + +

Public Attributes

uint16_t mIndexBase
uint16_t mNbVerts
float mPlane [4]
+


Detailed Description

+Collision hull polygon format.

Member Data Documentation

+ +
+
+ + + + +
uint16_t Nv::Blast::CollisionHull::CollisionHull::HullPolygon::mIndexBase
+
+
+ +

+ +

+

+ +

+
+ + + + +
uint16_t Nv::Blast::CollisionHull::CollisionHull::HullPolygon::mNbVerts
+
+
+ +

+ +

+

+ +

+
+ + + + +
float Nv::Blast::CollisionHull::CollisionHull::HullPolygon::mPlane[4]
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link-members.html new file mode 100644 index 0000000..f4d8de8 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::DLink Member List

This is the complete list of members for Nv::Blast::DLink, including all inherited members.

+ + + + +
DLink()Nv::Blast::DLink [inline]
DList classNv::Blast::DLink [friend]
getNext() const Nv::Blast::DLink [inline]
getPrev() const Nv::Blast::DLink [inline]

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link.html new file mode 100644 index 0000000..af161a5 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link.html @@ -0,0 +1,125 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::DLink Struct Reference + + + + + + + + +
+

Nv::Blast::DLink Struct Reference

#include <NvBlastDLink.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Member Functions

 DLink ()
DLinkgetNext () const
DLinkgetPrev () const

Friends

class DList
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::DLink::DLink (  )  [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
DLink* Nv::Blast::DLink::getNext (  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
DLink* Nv::Blast::DLink::getPrev (  )  const [inline]
+
+
+ +

+ +

+

+


Friends And Related Function Documentation

+ +
+
+ + + + +
friend class DList [friend]
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_edge-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_edge-members.html new file mode 100644 index 0000000..ed02806 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_edge-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::Edge Member List

This is the complete list of members for Nv::Blast::Edge, including all inherited members.

+ + + + + +
eNv::Blast::Edge
Edge()Nv::Blast::Edge [inline]
Edge(int s, int e)Nv::Blast::Edge [inline]
operator<(const Edge &b) const Nv::Blast::Edge [inline]
sNv::Blast::Edge

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_edge.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_edge.html new file mode 100644 index 0000000..8052e25 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_edge.html @@ -0,0 +1,154 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::Edge Struct Reference + + + + + + + + +
+

Nv::Blast::Edge Struct Reference

#include <NvBlastExtAuthoringTypes.h> +

+ +

+List of all members. + + + + + + + + + + + + + +

Public Member Functions

 Edge (int s, int e)
 Edge ()
bool operator< (const Edge &b) const

Public Attributes

uint32_t e
uint32_t s
+


Detailed Description

+Edge representation

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::Edge::Edge (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
Nv::Blast::Edge::Edge (int  s,
int  e 
) [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
bool Nv::Blast::Edge::operator< (const Edge b  )  const [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
uint32_t Nv::Blast::Edge::e
+
+
+ +

+ +

+

+ +

+
+ + + + +
uint32_t Nv::Blast::Edge::s
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings-members.html new file mode 100644 index 0000000..920bd1a --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtImpactSettings Member List

This is the complete list of members for Nv::Blast::ExtImpactSettings, including all inherited members.

+ + + + + +
damageFunctionNv::Blast::ExtImpactSettings
damageFunctionDataNv::Blast::ExtImpactSettings
ExtImpactSettings()Nv::Blast::ExtImpactSettings [inline]
fragilityNv::Blast::ExtImpactSettings
isSelfCollissionEnabledNv::Blast::ExtImpactSettings

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings.html new file mode 100644 index 0000000..f3946fb --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings.html @@ -0,0 +1,146 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtImpactSettings Struct Reference + + + + + + + + +
+

Nv::Blast::ExtImpactSettings Struct Reference

#include <NvBlastExtImpactDamageManager.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + +

Public Member Functions

 ExtImpactSettings ()

Public Attributes

ExtImpactDamageFunction damageFunction
 custom damage function, can be nullptr, default internal one will be used in that case.
void * damageFunctionData
 data to be passed in custom damage function
float fragility
 global fragility factor
bool isSelfCollissionEnabled
 family's self collision enabled
+


Detailed Description

+Impact Damage Manager Settings.

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::ExtImpactSettings::ExtImpactSettings (  )  [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+custom damage function, can be nullptr, default internal one will be used in that case. +

+ +

+

+ +

+ +
+ +

+data to be passed in custom damage function +

+ +

+

+ +

+ +
+ +

+global fragility factor +

+ +

+

+ +

+ +
+ +

+family's self collision enabled +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template-members.html new file mode 100644 index 0000000..2d55750 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template-members.html @@ -0,0 +1,31 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxActorDescTemplate Member List

This is the complete list of members for Nv::Blast::ExtPxActorDescTemplate, including all inherited members.

+ +
flagsNv::Blast::ExtPxActorDescTemplate

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template.html new file mode 100644 index 0000000..0f44eb1 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template.html @@ -0,0 +1,64 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxActorDescTemplate Struct Reference + + + + + + + + +
+

Nv::Blast::ExtPxActorDescTemplate Struct Reference

#include <NvBlastExtPxFamily.h> +

+ +

+List of all members. + + + + + +

Public Attributes

uint8_t flags
 actor flags
+


Detailed Description

+PxActor Desc.

+Used to set settings for newly created PxActors.


Member Data Documentation

+ +
+ +
+ +

+actor flags +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc-members.html new file mode 100644 index 0000000..e19d884 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc-members.html @@ -0,0 +1,40 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxAssetDesc Member List

This is the complete list of members for Nv::Blast::ExtPxAssetDesc, including all inherited members.

+ + + + + + + + + + +
bondCountNvBlastAssetDesc
bondDescsNvBlastAssetDesc
BondFlags enum nameNv::Blast::TkAssetDesc
bondFlagsNv::Blast::TkAssetDesc
BondJointed enum valueNv::Blast::TkAssetDesc
chunkCountNvBlastAssetDesc
chunkDescsNvBlastAssetDesc
NoFlags enum valueNv::Blast::TkAssetDesc
pxChunksNv::Blast::ExtPxAssetDesc
TkAssetDesc()Nv::Blast::TkAssetDesc [inline]

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.html new file mode 100644 index 0000000..74b1df0 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.html @@ -0,0 +1,80 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxAssetDesc Struct Reference + + + + + + + + +
+

Nv::Blast::ExtPxAssetDesc Struct Reference

#include <NvBlastExtPxAsset.h> +

+

+Inheritance diagram for Nv::Blast::ExtPxAssetDesc:
+
+ +

+ +Nv::Blast::TkAssetDesc +NvBlastAssetDesc + +
+ +

+List of all members. + + + + + + + + + + +

Classes

struct  ChunkDesc
struct  SubchunkDesc

Public Attributes

ChunkDescpxChunks
 array of chunks in asset, should be of size chunkCount (
+


Detailed Description

+Descriptor for PxAsset creation.

+PxAsset creates TkAsset internally, so TkAssetDesc must be filled. In addition it needs physics chunks data. Every chunk can have any amount of Convexes (Subchunks).


Member Data Documentation

+ +
+ +
+ +

+array of chunks in asset, should be of size chunkCount ( +

+

See also:
NvBlastAssetDesc)
+ +
+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.png b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.png new file mode 100644 index 0000000..54b70a6 Binary files /dev/null and b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.png differ diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc-members.html new file mode 100644 index 0000000..f49c325 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc Member List

This is the complete list of members for Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc, including all inherited members.

+ + + +
isStaticNv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc
subchunkCountNv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc
subchunksNv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html new file mode 100644 index 0000000..25e37ae --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html @@ -0,0 +1,104 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc Struct Reference + + + + + + + + +
+

Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc Struct Reference

#include <NvBlastExtPxAsset.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Attributes

bool isStatic
 is chunk static. Static chunk makes PxActor Kinematic.
uint32_t subchunkCount
 size array of subchunks for chunk, can be 0
SubchunkDescsubchunks
 array of subchunks for chunk, can be empty
+


Detailed Description

+Physics Chunk.

+Contains any amount of subchunks. Empty subchunks array makes chunk invisible.


Member Data Documentation

+ +
+
+ + + + +
bool Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc::isStatic
+
+
+ +

+is chunk static. Static chunk makes PxActor Kinematic. +

+ +

+

+ +

+
+ + + + +
uint32_t Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc::subchunkCount
+
+
+ +

+size array of subchunks for chunk, can be 0 +

+ +

+

+ +

+
+ + + + +
SubchunkDesc* Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc::subchunks
+
+
+ +

+array of subchunks for chunk, can be empty +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc-members.html new file mode 100644 index 0000000..4c79afa --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc-members.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc Member List

This is the complete list of members for Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc, including all inherited members.

+ + +
geometryNv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc
transformNv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc.html new file mode 100644 index 0000000..5c18587 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc.html @@ -0,0 +1,84 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc Struct Reference + + + + + + + + +
+

Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc Struct Reference

#include <NvBlastExtPxAsset.h> +

+ +

+List of all members. + + + + + + + + +

Public Attributes

physx::PxConvexMeshGeometry geometry
 convex geometry
physx::PxTransform transform
 convex local transform
+


Detailed Description

+Physics Subchunk.

+Represents convex and it's position.


Member Data Documentation

+ +
+
+ + + + +
physx::PxConvexMeshGeometry Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc::geometry
+
+
+ +

+convex geometry +

+ +

+

+ +

+
+ + + + +
physx::PxTransform Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc::transform
+
+
+ +

+convex local transform +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk-members.html new file mode 100644 index 0000000..8b1ee2f --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxChunk Member List

This is the complete list of members for Nv::Blast::ExtPxChunk, including all inherited members.

+ + + +
firstSubchunkIndexNv::Blast::ExtPxChunk
isStaticNv::Blast::ExtPxChunk
subchunkCountNv::Blast::ExtPxChunk

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk.html new file mode 100644 index 0000000..65e0b67 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk.html @@ -0,0 +1,104 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxChunk Struct Reference + + + + + + + + +
+

Nv::Blast::ExtPxChunk Struct Reference

#include <NvBlastExtPxAsset.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Attributes

uint32_t firstSubchunkIndex
 first Subchunk index in Subchunk's array in ExtPhyicsAsset
bool isStatic
 is chunk static (kinematic)?.
uint32_t subchunkCount
 Subchunk count. Can be 0.
+


Detailed Description

+Physics Chunk.

+Contains any amount of subchunks.


Member Data Documentation

+ +
+ +
+ +

+first Subchunk index in Subchunk's array in ExtPhyicsAsset +

+ +

+

+ +

+ +
+ +

+is chunk static (kinematic)?. +

+ +

+

+ +

+ +
+ +

+Subchunk count. Can be 0. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc-members.html new file mode 100644 index 0000000..8728232 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxFamilyDesc Member List

This is the complete list of members for Nv::Blast::ExtPxFamilyDesc, including all inherited members.

+ + + +
actorDescNv::Blast::ExtPxFamilyDesc
groupNv::Blast::ExtPxFamilyDesc
pxAssetNv::Blast::ExtPxFamilyDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc.html new file mode 100644 index 0000000..16ef93b --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc.html @@ -0,0 +1,104 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxFamilyDesc Struct Reference + + + + + + + + +
+

Nv::Blast::ExtPxFamilyDesc Struct Reference

#include <NvBlastExtPxManager.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Attributes

NvBlastActorDesc actorDesc
 actor descriptor to be used when creating TkActor.
TkGroupgroup
 if not nullptr, created TkActor will be placed in group
const ExtPxAssetpxAsset
 px asset to create from, pointer will be stored in family.
+


Detailed Description

+Family Desc.

+Used to create Physics Family.


Member Data Documentation

+ +
+ +
+ +

+actor descriptor to be used when creating TkActor. +

+ +

+

+ +

+ +
+ +

+if not nullptr, created TkActor will be placed in group +

+ +

+

+ +

+ +
+ +

+px asset to create from, pointer will be stored in family. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template-members.html new file mode 100644 index 0000000..749170e --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxShapeDescTemplate Member List

This is the complete list of members for Nv::Blast::ExtPxShapeDescTemplate, including all inherited members.

+ + + + + +
contactOffsetNv::Blast::ExtPxShapeDescTemplate
flagsNv::Blast::ExtPxShapeDescTemplate
queryFilterDataNv::Blast::ExtPxShapeDescTemplate
restOffsetNv::Blast::ExtPxShapeDescTemplate
simulationFilterDataNv::Blast::ExtPxShapeDescTemplate

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template.html new file mode 100644 index 0000000..7dd3541 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template.html @@ -0,0 +1,146 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxShapeDescTemplate Struct Reference + + + + + + + + +
+

Nv::Blast::ExtPxShapeDescTemplate Struct Reference

#include <NvBlastExtPxFamily.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + +

Public Attributes

float contactOffset
 contact offset
uint8_t flags
 PxShapeFlags flags.
physx::PxFilterData queryFilterData
 user definable query filter data.
float restOffset
 rest offset
physx::PxFilterData simulationFilterData
 user definable collision filter data
+


Detailed Description

+PxShape Desc.

+Used to set settings for newly created PxShapes.

+

See also:
PxShape
+

Member Data Documentation

+ +
+ +
+ +

+contact offset +

+ +

+

+ +

+ +
+ +

+PxShapeFlags flags. +

+ +

+

+ +

+ +
+ +

+user definable query filter data. +

+ +

+

+ +

+ +
+ +

+rest offset +

+ +

+

+ +

+ +
+ +

+user definable collision filter data +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings-members.html new file mode 100644 index 0000000..4890bb8 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxSpawnSettings Member List

This is the complete list of members for Nv::Blast::ExtPxSpawnSettings, including all inherited members.

+ + + +
densityNv::Blast::ExtPxSpawnSettings
materialNv::Blast::ExtPxSpawnSettings
sceneNv::Blast::ExtPxSpawnSettings

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings.html new file mode 100644 index 0000000..3afa754 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings.html @@ -0,0 +1,104 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxSpawnSettings Struct Reference + + + + + + + + +
+

Nv::Blast::ExtPxSpawnSettings Struct Reference

#include <NvBlastExtPxFamily.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Attributes

float density
 default density for PhysX
physx::PxMaterial * material
 default PxMaterial
physx::PxScene * scene
 PxScene for PxActors to be spawned.
+


Detailed Description

+Physics Spawn Settings.

+This Struct unifies setting to be used when PhysX actors are created.


Member Data Documentation

+ +
+ +
+ +

+default density for PhysX +

+ +

+

+ +

+
+ + + + +
physx::PxMaterial* Nv::Blast::ExtPxSpawnSettings::material
+
+
+ +

+default PxMaterial +

+ +

+

+ +

+
+ + + + +
physx::PxScene* Nv::Blast::ExtPxSpawnSettings::scene
+
+
+ +

+PxScene for PxActors to be spawned. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk-members.html new file mode 100644 index 0000000..76cfb57 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk-members.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtPxSubchunk Member List

This is the complete list of members for Nv::Blast::ExtPxSubchunk, including all inherited members.

+ + +
geometryNv::Blast::ExtPxSubchunk
transformNv::Blast::ExtPxSubchunk

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk.html new file mode 100644 index 0000000..8f1cf9d --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk.html @@ -0,0 +1,84 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtPxSubchunk Struct Reference + + + + + + + + +
+

Nv::Blast::ExtPxSubchunk Struct Reference

#include <NvBlastExtPxAsset.h> +

+ +

+List of all members. + + + + + + + + +

Public Attributes

physx::PxConvexMeshGeometry geometry
 convex geometry
physx::PxTransform transform
 convex local transform
+


Detailed Description

+Physics Subchunk.

+Represents convex and it's local position.


Member Data Documentation

+ +
+
+ + + + +
physx::PxConvexMeshGeometry Nv::Blast::ExtPxSubchunk::geometry
+
+
+ +

+convex geometry +

+ +

+

+ +

+
+ + + + +
physx::PxTransform Nv::Blast::ExtPxSubchunk::transform
+
+
+ +

+convex local transform +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings-members.html new file mode 100644 index 0000000..885cff7 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtStressSolverSettings Member List

This is the complete list of members for Nv::Blast::ExtStressSolverSettings, including all inherited members.

+ + + + + +
bondIterationsPerFrameNv::Blast::ExtStressSolverSettings
ExtStressSolverSettings()Nv::Blast::ExtStressSolverSettings [inline]
graphReductionLevelNv::Blast::ExtStressSolverSettings
stressAngularFactorNv::Blast::ExtStressSolverSettings
stressLinearFactorNv::Blast::ExtStressSolverSettings

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings.html new file mode 100644 index 0000000..5c3dd3d --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings.html @@ -0,0 +1,149 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtStressSolverSettings Struct Reference + + + + + + + + +
+

Nv::Blast::ExtStressSolverSettings Struct Reference

#include <NvBlastExtStressSolver.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + +

Public Member Functions

 ExtStressSolverSettings ()

Public Attributes

uint32_t bondIterationsPerFrame
 number of bond iterations to perform per frame,
uint32_t graphReductionLevel
 graph reduction level
float stressAngularFactor
 angular stress on bond multiplier
float stressLinearFactor
 linear stress on bond multiplier
+


Detailed Description

+Stress Solver Settings

+Stress on every bond is calculated as stress = bond.linearStress * stressLinearFactor + bond.angularStress * stressAngularFactor where: bond.linearStress - is linear stress force on particular bond bond.angularStress - is angular stress force on particular bond stressLinearFactor, stressAngularFactor - are a multiplier parameter set by this struct

+Support graph reduction: 2 ^ reduction level = max node count to be aggregated during graph reduction, so 0 is 2 % 0 = 1, basically use support graph. So N nodes graph will be simplified to contain ~ N / (2 ^ reduction level)


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::ExtStressSolverSettings::ExtStressSolverSettings (  )  [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+number of bond iterations to perform per frame, +

+

See also:
getIterationsPerFrame() below
+ +
+

+ +

+ +
+ +

+graph reduction level +

+ +

+

+ +

+ +
+ +

+angular stress on bond multiplier +

+ +

+

+ +

+ +
+ +

+linear stress on bond multiplier +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event-members.html new file mode 100644 index 0000000..1b189eb --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event-members.html @@ -0,0 +1,38 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtSyncEvent Member List

This is the complete list of members for Nv::Blast::ExtSyncEvent, including all inherited members.

+ + + + + + + + +
clone() const =0Nv::Blast::ExtSyncEvent [pure virtual]
ExtSyncEvent(ExtSyncEventType::Enum t)Nv::Blast::ExtSyncEvent [inline]
familyIDNv::Blast::ExtSyncEvent
getEvent() const Nv::Blast::ExtSyncEvent [inline]
release()Nv::Blast::ExtSyncEvent
timestampNv::Blast::ExtSyncEvent
typeNv::Blast::ExtSyncEvent
~ExtSyncEvent()Nv::Blast::ExtSyncEvent [inline, virtual]

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event.html new file mode 100644 index 0000000..4bba1bd --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event.html @@ -0,0 +1,234 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtSyncEvent Struct Reference + + + + + + + + +
+

Nv::Blast::ExtSyncEvent Struct Reference

#include <NvBlastExtSync.h> +

+

+Inheritance diagram for Nv::Blast::ExtSyncEvent:
+
+ +

+ +Nv::Blast::ExtSyncEventInstance< ExtSyncEventFamilySync, ExtSyncEventType::FamilySync > +Nv::Blast::ExtSyncEventInstance< ExtSyncEventFracture, ExtSyncEventType::Fracture > +Nv::Blast::ExtSyncEventInstance< ExtSyncEventPhysicsSync, ExtSyncEventType::Physics > +Nv::Blast::ExtSyncEventInstance< T, eventType > +Nv::Blast::ExtSyncEventFamilySync +Nv::Blast::ExtSyncEventFracture +Nv::Blast::ExtSyncEventPhysicsSync + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

virtual ExtSyncEventclone () const =0
 ExtSyncEvent (ExtSyncEventType::Enum t)
template<class T >
const T * getEvent () const
void release ()
virtual ~ExtSyncEvent ()

Public Attributes

NvBlastID familyID
 TkFamily ID.
uint64_t timestamp
 Event timestamp.
ExtSyncEventType::Enum type
 Event type.
+


Detailed Description

+Generic Sync Event

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + +
Nv::Blast::ExtSyncEvent::ExtSyncEvent (ExtSyncEventType::Enum  t  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
virtual Nv::Blast::ExtSyncEvent::~ExtSyncEvent (  )  [inline, virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
virtual ExtSyncEvent* Nv::Blast::ExtSyncEvent::clone (  )  const [pure virtual]
+
+ +

+ +

+
+
+template<class T >
+ + + + + + + + +
const T* Nv::Blast::ExtSyncEvent::getEvent (  )  const [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
void Nv::Blast::ExtSyncEvent::release (  ) 
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+TkFamily ID. +

+ +

+

+ +

+ +
+ +

+Event timestamp. +

+ +

+

+ +

+ +
+ +

+Event type. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event.png b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event.png new file mode 100644 index 0000000..2f1d068 Binary files /dev/null and b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event.png differ diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync-members.html new file mode 100644 index 0000000..0b594c9 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync-members.html @@ -0,0 +1,41 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtSyncEventFamilySync Member List

This is the complete list of members for Nv::Blast::ExtSyncEventFamilySync, including all inherited members.

+ + + + + + + + + + + +
clone() const overrideNv::Blast::ExtSyncEventInstance< ExtSyncEventFamilySync, ExtSyncEventType::FamilySync > [inline, virtual]
EVENT_TYPENv::Blast::ExtSyncEventInstance< ExtSyncEventFamilySync, ExtSyncEventType::FamilySync > [static]
ExtSyncEvent(ExtSyncEventType::Enum t)Nv::Blast::ExtSyncEvent [inline]
ExtSyncEventInstance()Nv::Blast::ExtSyncEventInstance< ExtSyncEventFamilySync, ExtSyncEventType::FamilySync > [inline]
familyNv::Blast::ExtSyncEventFamilySync
familyIDNv::Blast::ExtSyncEvent
getEvent() const Nv::Blast::ExtSyncEvent [inline]
release()Nv::Blast::ExtSyncEvent
timestampNv::Blast::ExtSyncEvent
typeNv::Blast::ExtSyncEvent
~ExtSyncEvent()Nv::Blast::ExtSyncEvent [inline, virtual]

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync.html new file mode 100644 index 0000000..bb9451e --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync.html @@ -0,0 +1,73 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtSyncEventFamilySync Struct Reference + + + + + + + + +
+

Nv::Blast::ExtSyncEventFamilySync Struct Reference

#include <NvBlastExtSync.h> +

+

+Inheritance diagram for Nv::Blast::ExtSyncEventFamilySync:
+
+ +

+ +Nv::Blast::ExtSyncEventInstance< ExtSyncEventFamilySync, ExtSyncEventType::FamilySync > +Nv::Blast::ExtSyncEvent + +
+ +

+List of all members. + + + + + +

Public Attributes

std::vector< char > family
 family binary blob
+


Detailed Description

+Family Sync Event

Member Data Documentation

+ +
+
+ + + + +
std::vector<char> Nv::Blast::ExtSyncEventFamilySync::family
+
+
+ +

+family binary blob +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync.png b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync.png new file mode 100644 index 0000000..af0f4b1 Binary files /dev/null and b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_family_sync.png differ diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture-members.html new file mode 100644 index 0000000..f41682e --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture-members.html @@ -0,0 +1,42 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtSyncEventFracture Member List

This is the complete list of members for Nv::Blast::ExtSyncEventFracture, including all inherited members.

+ + + + + + + + + + + + +
bondFracturesNv::Blast::ExtSyncEventFracture
chunkFracturesNv::Blast::ExtSyncEventFracture
clone() const overrideNv::Blast::ExtSyncEventInstance< ExtSyncEventFracture, ExtSyncEventType::Fracture > [inline, virtual]
EVENT_TYPENv::Blast::ExtSyncEventInstance< ExtSyncEventFracture, ExtSyncEventType::Fracture > [static]
ExtSyncEvent(ExtSyncEventType::Enum t)Nv::Blast::ExtSyncEvent [inline]
ExtSyncEventInstance()Nv::Blast::ExtSyncEventInstance< ExtSyncEventFracture, ExtSyncEventType::Fracture > [inline]
familyIDNv::Blast::ExtSyncEvent
getEvent() const Nv::Blast::ExtSyncEvent [inline]
release()Nv::Blast::ExtSyncEvent
timestampNv::Blast::ExtSyncEvent
typeNv::Blast::ExtSyncEvent
~ExtSyncEvent()Nv::Blast::ExtSyncEvent [inline, virtual]

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture.html new file mode 100644 index 0000000..efc4df3 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture.html @@ -0,0 +1,95 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtSyncEventFracture Struct Reference + + + + + + + + +
+

Nv::Blast::ExtSyncEventFracture Struct Reference

#include <NvBlastExtSync.h> +

+

+Inheritance diagram for Nv::Blast::ExtSyncEventFracture:
+
+ +

+ +Nv::Blast::ExtSyncEventInstance< ExtSyncEventFracture, ExtSyncEventType::Fracture > +Nv::Blast::ExtSyncEvent + +
+ +

+List of all members. + + + + + + + + +

Public Attributes

std::vector
+< NvBlastBondFractureData
bondFractures
 bond fracture data
std::vector
+< NvBlastChunkFractureData
chunkFractures
 chunk fracture data
+


Detailed Description

+Fracture Sync Event

Member Data Documentation

+ +
+ +
+ +

+bond fracture data +

+ +

+

+ +

+ +
+ +

+chunk fracture data +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture.png b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture.png new file mode 100644 index 0000000..290c882 Binary files /dev/null and b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_fracture.png differ diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance-members.html new file mode 100644 index 0000000..bf04a88 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance-members.html @@ -0,0 +1,40 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtSyncEventInstance< T, eventType > Member List

This is the complete list of members for Nv::Blast::ExtSyncEventInstance< T, eventType >, including all inherited members.

+ + + + + + + + + + +
clone() const overrideNv::Blast::ExtSyncEventInstance< T, eventType > [inline, virtual]
EVENT_TYPENv::Blast::ExtSyncEventInstance< T, eventType > [static]
ExtSyncEvent(ExtSyncEventType::Enum t)Nv::Blast::ExtSyncEvent [inline]
ExtSyncEventInstance()Nv::Blast::ExtSyncEventInstance< T, eventType > [inline]
familyIDNv::Blast::ExtSyncEvent
getEvent() const Nv::Blast::ExtSyncEvent [inline]
release()Nv::Blast::ExtSyncEvent
timestampNv::Blast::ExtSyncEvent
typeNv::Blast::ExtSyncEvent
~ExtSyncEvent()Nv::Blast::ExtSyncEvent [inline, virtual]

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance.html new file mode 100644 index 0000000..2618a9b --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance.html @@ -0,0 +1,127 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtSyncEventInstance< T, eventType > Struct Template Reference + + + + + + + + +
+

Nv::Blast::ExtSyncEventInstance< T, eventType > Struct Template Reference

#include <NvBlastExtSync.h> +

+

+Inheritance diagram for Nv::Blast::ExtSyncEventInstance< T, eventType >:
+
+ +

+ +Nv::Blast::ExtSyncEvent + +
+ +

+List of all members. + + + + + + + + + +

Public Member Functions

ExtSyncEventclone () const override
 ExtSyncEventInstance ()

Static Public Attributes

static const ExtSyncEventType::Enum EVENT_TYPE = eventType
+


Detailed Description

+

template<class T, ExtSyncEventType::Enum eventType>
+ struct Nv::Blast::ExtSyncEventInstance< T, eventType >

+ +Generic CRTP for Sync Events

Constructor & Destructor Documentation

+ +
+
+
+template<class T, ExtSyncEventType::Enum eventType>
+ + + + + + + + +
Nv::Blast::ExtSyncEventInstance< T, eventType >::ExtSyncEventInstance (  )  [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+
+template<class T, ExtSyncEventType::Enum eventType>
+ + + + + + + + +
ExtSyncEvent* Nv::Blast::ExtSyncEventInstance< T, eventType >::clone (  )  const [inline, override, virtual]
+
+
+ +

+Any Event can be copied (cloned).

+

Returns:
the pointer to the new copy of event.
+ +

Implements Nv::Blast::ExtSyncEvent.

+ +
+

+


Member Data Documentation

+ +
+
+
+template<class T, ExtSyncEventType::Enum eventType>
+ + + + +
const ExtSyncEventType::Enum Nv::Blast::ExtSyncEventInstance< T, eventType >::EVENT_TYPE = eventType [static]
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance.png b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance.png new file mode 100644 index 0000000..2ae1dce Binary files /dev/null and b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_instance.png differ diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync-members.html new file mode 100644 index 0000000..a0593d2 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync-members.html @@ -0,0 +1,41 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtSyncEventPhysicsSync Member List

This is the complete list of members for Nv::Blast::ExtSyncEventPhysicsSync, including all inherited members.

+ + + + + + + + + + + +
clone() const overrideNv::Blast::ExtSyncEventInstance< ExtSyncEventPhysicsSync, ExtSyncEventType::Physics > [inline, virtual]
dataNv::Blast::ExtSyncEventPhysicsSync
EVENT_TYPENv::Blast::ExtSyncEventInstance< ExtSyncEventPhysicsSync, ExtSyncEventType::Physics > [static]
ExtSyncEvent(ExtSyncEventType::Enum t)Nv::Blast::ExtSyncEvent [inline]
ExtSyncEventInstance()Nv::Blast::ExtSyncEventInstance< ExtSyncEventPhysicsSync, ExtSyncEventType::Physics > [inline]
familyIDNv::Blast::ExtSyncEvent
getEvent() const Nv::Blast::ExtSyncEvent [inline]
release()Nv::Blast::ExtSyncEvent
timestampNv::Blast::ExtSyncEvent
typeNv::Blast::ExtSyncEvent
~ExtSyncEvent()Nv::Blast::ExtSyncEvent [inline, virtual]

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync.html new file mode 100644 index 0000000..e3fe3a7 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync.html @@ -0,0 +1,76 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtSyncEventPhysicsSync Struct Reference + + + + + + + + +
+

Nv::Blast::ExtSyncEventPhysicsSync Struct Reference

#include <NvBlastExtSync.h> +

+

+Inheritance diagram for Nv::Blast::ExtSyncEventPhysicsSync:
+
+ +

+ +Nv::Blast::ExtSyncEventInstance< ExtSyncEventPhysicsSync, ExtSyncEventType::Physics > +Nv::Blast::ExtSyncEvent + +
+ +

+List of all members. + + + + + + + + +

Classes

struct  ActorData

Public Attributes

std::vector< ActorDatadata
 actors data
+


Detailed Description

+Physics Sync Event

Member Data Documentation

+ +
+ +
+ +

+actors data +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync.png b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync.png new file mode 100644 index 0000000..ccd6e4a Binary files /dev/null and b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync.png differ diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync_1_1_actor_data-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync_1_1_actor_data-members.html new file mode 100644 index 0000000..61cdea0 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync_1_1_actor_data-members.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData Member List

This is the complete list of members for Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData, including all inherited members.

+ + +
actorIndexNv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData
transformNv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync_1_1_actor_data.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync_1_1_actor_data.html new file mode 100644 index 0000000..5cd81f7 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_physics_sync_1_1_actor_data.html @@ -0,0 +1,82 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData Struct Reference + + + + + + + + +
+

Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData Struct Reference

#include <NvBlastExtSync.h> +

+ +

+List of all members. + + + + + + + + +

Public Attributes

uint32_t actorIndex
 actor index in family
physx::PxTransform transform
 actor world transform
+


Member Data Documentation

+ +
+
+ + + + +
uint32_t Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData::actorIndex
+
+
+ +

+actor index in family +

+ +

+

+ +

+
+ + + + +
physx::PxTransform Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData::transform
+
+
+ +

+actor world transform +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_type-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_type-members.html new file mode 100644 index 0000000..0ca12cc --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_type-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::ExtSyncEventType Member List

This is the complete list of members for Nv::Blast::ExtSyncEventType, including all inherited members.

+ + + + + +
Count enum valueNv::Blast::ExtSyncEventType
Enum enum nameNv::Blast::ExtSyncEventType
FamilySync enum valueNv::Blast::ExtSyncEventType
Fracture enum valueNv::Blast::ExtSyncEventType
Physics enum valueNv::Blast::ExtSyncEventType

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_type.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_type.html new file mode 100644 index 0000000..26889de --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_sync_event_type.html @@ -0,0 +1,70 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::ExtSyncEventType Struct Reference + + + + + + + + +
+

Nv::Blast::ExtSyncEventType Struct Reference

#include <NvBlastExtSync.h> +

+ +

+List of all members. + + +

Public Types

+


Detailed Description

+Sync Event types

Member Enumeration Documentation

+ +
+ +
+ +

+

Enumerator:
+ + + + + +
Fracture  +Contains Fracture commands.
FamilySync  +Contains full family Family blob.
Physics  +Contains actor's physical info, like transforms.
Count  +
+
+ +
+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_facet-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_facet-members.html new file mode 100644 index 0000000..83d6144 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_facet-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::Facet Member List

This is the complete list of members for Nv::Blast::Facet, including all inherited members.

+ + + + +
edgesCountNv::Blast::Facet
Facet(int32_t fEdge=0, uint32_t eCount=0, int32_t userData=0)Nv::Blast::Facet [inline]
firstEdgeNumberNv::Blast::Facet
userDataNv::Blast::Facet

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_facet.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_facet.html new file mode 100644 index 0000000..7a43f05 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_facet.html @@ -0,0 +1,133 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::Facet Struct Reference + + + + + + + + +
+

Nv::Blast::Facet Struct Reference

#include <NvBlastExtAuthoringTypes.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Member Functions

 Facet (int32_t fEdge=0, uint32_t eCount=0, int32_t userData=0)

Public Attributes

uint32_t edgesCount
int32_t firstEdgeNumber
int32_t userData
+


Detailed Description

+Mesh facet representation

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Nv::Blast::Facet::Facet (int32_t  fEdge = 0,
uint32_t  eCount = 0,
int32_t  userData = 0 
) [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
uint32_t Nv::Blast::Facet::edgesCount
+
+
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+
+ + + + +
int32_t Nv::Blast::Facet::userData
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link-members.html new file mode 100644 index 0000000..a2c080a --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link-members.html @@ -0,0 +1,31 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::IndexDLink< IndexType > Member List

This is the complete list of members for Nv::Blast::IndexDLink< IndexType >, including all inherited members.

+ +
m_adjNv::Blast::IndexDLink< IndexType >

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link.html new file mode 100644 index 0000000..107c70a --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link.html @@ -0,0 +1,64 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::IndexDLink< IndexType > Struct Template Reference + + + + + + + + +
+

Nv::Blast::IndexDLink< IndexType > Struct Template Reference

#include <NvBlastDLink.h> +

+ +

+List of all members. + + + + +

Public Attributes

IndexType m_adj [2]
+

template<typename IndexType>
+ struct Nv::Blast::IndexDLink< IndexType >

+ +

Member Data Documentation

+ +
+
+
+template<typename IndexType>
+ + + + +
IndexType Nv::Blast::IndexDLink< IndexType >::m_adj[2]
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_less-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_less-members.html new file mode 100644 index 0000000..8e045d9 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_less-members.html @@ -0,0 +1,31 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::Less< A > Member List

This is the complete list of members for Nv::Blast::Less< A >, including all inherited members.

+ +
operator()(const A &a, const A &b) const Nv::Blast::Less< A > [inline]

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_less.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_less.html new file mode 100644 index 0000000..f5c0252 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_less.html @@ -0,0 +1,84 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::Less< A > Struct Template Reference + + + + + + + + +
+

Nv::Blast::Less< A > Struct Template Reference

#include <NvBlastFixedPriorityQueue.h> +

+ +

+List of all members. + + + + +

Public Member Functions

bool operator() (const A &a, const A &b) const
+


Detailed Description

+

template<typename A>
+ struct Nv::Blast::Less< A >

+ +FixedPriorityQueue is a priority queue container which is intended to be used with placement new on chunk of memory. It'll use following memory for data layout. As follows:

+some memory char ​*buf = new char[64 *​ 1024];

+placement new on this memory FixedPriorityQueue<SomeClass>* arr = new (buf) FixedPriorityQueue<SomeClass>();

+you can get max requiredMemorySize by an array of 'capacity' elements count to use memory left buf = buf + FixedPriorityQueue<SomeClass>::requiredMemorySize(capacity);

+buf:

++------------------------------------------------------------+ | uint32_t | T[0] | T[1] | T[2] | ... | +------------------------------------------------------------+


Member Function Documentation

+ +
+
+
+template<typename A >
+ + + + + + + + + + + + + + + + + + +
bool Nv::Blast::Less< A >::operator() (const A &  a,
const A &  b 
) const [inline]
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer-members.html new file mode 100644 index 0000000..5647e39 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::PlaneChunkIndexer Member List

This is the complete list of members for Nv::Blast::PlaneChunkIndexer, including all inherited members.

+ + + + +
chunkIdNv::Blast::PlaneChunkIndexer
planeNv::Blast::PlaneChunkIndexer
PlaneChunkIndexer(int32_t chunkId, int32_t trId, physx::PxPlane pl)Nv::Blast::PlaneChunkIndexer [inline]
trIdNv::Blast::PlaneChunkIndexer

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer.html new file mode 100644 index 0000000..cdae006 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer.html @@ -0,0 +1,132 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::PlaneChunkIndexer Struct Reference + + + + + + + + +
+

Nv::Blast::PlaneChunkIndexer Struct Reference

#include <NvBlastExtAuthoringBondGenerator.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Member Functions

 PlaneChunkIndexer (int32_t chunkId, int32_t trId, physx::PxPlane pl)

Public Attributes

int32_t chunkId
physx::PxPlane plane
int32_t trId
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Nv::Blast::PlaneChunkIndexer::PlaneChunkIndexer (int32_t  chunkId,
int32_t  trId,
physx::PxPlane  pl 
) [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+ +

+

+ +

+
+ + + + +
physx::PxPlane Nv::Blast::PlaneChunkIndexer::plane
+
+
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_slicing_configuration-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_slicing_configuration-members.html new file mode 100644 index 0000000..f9abf1c --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_slicing_configuration-members.html @@ -0,0 +1,41 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::SlicingConfiguration Member List

This is the complete list of members for Nv::Blast::SlicingConfiguration, including all inherited members.

+ + + + + + + + + + + +
angle_variationsNv::Blast::SlicingConfiguration
noiseAmplitudeNv::Blast::SlicingConfiguration
noiseFrequencyNv::Blast::SlicingConfiguration
noiseOctaveNumberNv::Blast::SlicingConfiguration
offset_variationsNv::Blast::SlicingConfiguration
reset()Nv::Blast::SlicingConfiguration [inline]
SlicingConfiguration()Nv::Blast::SlicingConfiguration [inline]
surfaceResolutionNv::Blast::SlicingConfiguration
x_slicesNv::Blast::SlicingConfiguration
y_slicesNv::Blast::SlicingConfiguration
z_slicesNv::Blast::SlicingConfiguration

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_slicing_configuration.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_slicing_configuration.html new file mode 100644 index 0000000..8a3c777 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_slicing_configuration.html @@ -0,0 +1,241 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::SlicingConfiguration Struct Reference + + + + + + + + +
+

Nv::Blast::SlicingConfiguration Struct Reference

#include <NvBlastExtAuthoringFractureTool.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

void reset ()
 SlicingConfiguration ()

Public Attributes

float angle_variations
float noiseAmplitude
float noiseFrequency
uint32_t noiseOctaveNumber
float offset_variations
int32_t surfaceResolution
int32_t x_slices
int32_t y_slices
int32_t z_slices
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::SlicingConfiguration::SlicingConfiguration (  )  [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
void Nv::Blast::SlicingConfiguration::reset (  )  [inline]
+
+
+ +

+Set default params. +

+

+


Member Data Documentation

+ +
+ +
+ +

+Angle variation, value in [0, 1] +

+

+ +

+ +
+ +

+Noisy slicing configutaion:

+Amplitude of cutting surface noise. If it is 0 - noise is disabled. +

+

+ +

+ +
+ +

+Frequencey of cutting surface noise. +

+

+ +

+ +
+ +

+Octave number in slicing surface noise. +

+

+ +

+ +
+ +

+Offset variation, value in [0, 1] +

+

+ +

+ +
+ +

+Cutting surface resolution. +

+

+ +

+ +
+ +

+Number of slices in each direction +

+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data-members.html new file mode 100644 index 0000000..d05b666 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkActorData Member List

This is the complete list of members for Nv::Blast::TkActorData, including all inherited members.

+ + + +
familyNv::Blast::TkActorData
indexNv::Blast::TkActorData
userDataNv::Blast::TkActorData

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data.html new file mode 100644 index 0000000..757cfd1 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data.html @@ -0,0 +1,103 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkActorData Struct Reference + + + + + + + + +
+

Nv::Blast::TkActorData Struct Reference

#include <NvBlastTkEvent.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Attributes

TkFamilyfamily
 TkFamily of the originating TkActor.
uint32_t index
 TkActor::getIndex() of the originating TkActor.
void * userData
 TkActor.userData of the originating TkActor.
+


Detailed Description

+By the time events are dispatched, a specific TkActor may have been split and became invalid. This structure caches the state before invalidation happened.

Member Data Documentation

+ +
+ +
+ +

+TkFamily of the originating TkActor. +

+ +

+

+ +

+
+ + + + +
uint32_t Nv::Blast::TkActorData::index
+
+
+ +

+TkActor::getIndex() of the originating TkActor. +

+ +

+

+ +

+ +
+ +

+TkActor.userData of the originating TkActor. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc-members.html new file mode 100644 index 0000000..8b3e47c --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc-members.html @@ -0,0 +1,36 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkActorDesc Member List

This is the complete list of members for Nv::Blast::TkActorDesc, including all inherited members.

+ + + + + + +
assetNv::Blast::TkActorDesc
initialBondHealthsNvBlastActorDesc
initialSupportChunkHealthsNvBlastActorDesc
TkActorDesc(const TkAsset *inAsset=nullptr)Nv::Blast::TkActorDesc [inline]
uniformInitialBondHealthNvBlastActorDesc
uniformInitialLowerSupportChunkHealthNvBlastActorDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.html new file mode 100644 index 0000000..efdb621 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.html @@ -0,0 +1,97 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkActorDesc Struct Reference + + + + + + + + +
+

Nv::Blast::TkActorDesc Struct Reference

#include <NvBlastTkFramework.h> +

+

+Inheritance diagram for Nv::Blast::TkActorDesc:
+
+ +

+ +NvBlastActorDesc + +
+ +

+List of all members. + + + + + + + + +

Public Member Functions

 TkActorDesc (const TkAsset *inAsset=nullptr)

Public Attributes

const TkAssetasset
 The TkAsset to instance.
+


Detailed Description

+Descriptor for actor creation.

+The TkActorDesc is a simple extension of the low-level NvBlastActor descriptor, NvBlastActorDesc.


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + +
Nv::Blast::TkActorDesc::TkActorDesc (const TkAsset inAsset = nullptr  )  [inline]
+
+
+ +

+Constructor sets sane default values +

+

+


Member Data Documentation

+ +
+ +
+ +

+The TkAsset to instance. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.png b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.png new file mode 100644 index 0000000..f81976a Binary files /dev/null and b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.png differ diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc-members.html new file mode 100644 index 0000000..de93af9 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc-members.html @@ -0,0 +1,39 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkAssetDesc Member List

This is the complete list of members for Nv::Blast::TkAssetDesc, including all inherited members.

+ + + + + + + + + +
bondCountNvBlastAssetDesc
bondDescsNvBlastAssetDesc
bondFlagsNv::Blast::TkAssetDesc
BondFlags enum nameNv::Blast::TkAssetDesc
BondJointed enum valueNv::Blast::TkAssetDesc
chunkCountNvBlastAssetDesc
chunkDescsNvBlastAssetDesc
NoFlags enum valueNv::Blast::TkAssetDesc
TkAssetDesc()Nv::Blast::TkAssetDesc [inline]

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.html new file mode 100644 index 0000000..c2b5d0b --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.html @@ -0,0 +1,125 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkAssetDesc Struct Reference + + + + + + + + +
+

Nv::Blast::TkAssetDesc Struct Reference

#include <NvBlastTkFramework.h> +

+

+Inheritance diagram for Nv::Blast::TkAssetDesc:
+
+ +

+ +NvBlastAssetDesc +Nv::Blast::ExtPxAssetDesc + +
+ +

+List of all members. + + + + + + + + + + +

Public Types

enum  BondFlags { NoFlags = 0, +BondJointed = (1 << 0) + }

Public Member Functions

 TkAssetDesc ()

Public Attributes

const uint8_t * bondFlags
+


Detailed Description

+Descriptor for asset creation

+Used to create a TkAsset. This may be used by an authoring tool to describe the asset to be created.

+The TkAssetDesc is a simple extension of the low-level NvBlastAsset descriptor, NvBlastAssetDesc.


Member Enumeration Documentation

+ +
+ +
+ +

+Flags which may be associated with each bond described in the base NvBlastAssetDesc.

Enumerator:
+ + + +
NoFlags  +
BondJointed  +If this flag is set then a TkJoint will be created joining the support chunks jointed by the bond.

+These joints will remain "quiet" until the actor is split in such a way that the joint joins two different actors. In that case, a TkJointUpdateEvent will be dispatched with subtype External. (See TkJointUpdateEvent.)

+
+ +
+

+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::TkAssetDesc::TkAssetDesc (  )  [inline]
+
+
+ +

+Constructor sets sane default values. The zero chunkCount will cause TkFramework::createAsset(...) to fail, though gracefully. +

+

+


Member Data Documentation

+ +
+
+ + + + +
const uint8_t* Nv::Blast::TkAssetDesc::bondFlags
+
+
+ +

+An array of size bondCount, see BondFlags. If NULL, all flags are assumed to be NoFlags. +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.png b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.png new file mode 100644 index 0000000..d9e1b20 Binary files /dev/null and b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.png differ diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc-members.html new file mode 100644 index 0000000..d68bf9c --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc-members.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkAssetJointDesc Member List

This is the complete list of members for Nv::Blast::TkAssetJointDesc, including all inherited members.

+ + +
attachPositionsNv::Blast::TkAssetJointDesc
nodeIndicesNv::Blast::TkAssetJointDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc.html new file mode 100644 index 0000000..4710383 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc.html @@ -0,0 +1,83 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkAssetJointDesc Struct Reference + + + + + + + + +
+

Nv::Blast::TkAssetJointDesc Struct Reference

#include <NvBlastTkAsset.h> +

+ +

+List of all members. + + + + + + + + +

Public Attributes

physx::PxVec3 attachPositions [2]
 The joint's attachment positions in asset-local space.
uint32_t nodeIndices [2]
 The graph node indices corresponding to the support chunks joined by a joint.
+


Detailed Description

+A descriptor stored by a TkAsset for an internal joint. Internal joints are created when a TkAsset is instanced into a TkActor.

Member Data Documentation

+ +
+
+ + + + +
physx::PxVec3 Nv::Blast::TkAssetJointDesc::attachPositions[2]
+
+
+ +

+The joint's attachment positions in asset-local space. +

+ +

+

+ +

+ +
+ +

+The graph node indices corresponding to the support chunks joined by a joint. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_event-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_event-members.html new file mode 100644 index 0000000..25eb9cb --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_event-members.html @@ -0,0 +1,39 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkEvent Member List

This is the complete list of members for Nv::Blast::TkEvent, including all inherited members.

+ + + + + + + + + +
FractureCommand enum valueNv::Blast::TkEvent
FractureEvent enum valueNv::Blast::TkEvent
getPayload() const Nv::Blast::TkEvent [inline]
JointUpdate enum valueNv::Blast::TkEvent
payloadNv::Blast::TkEvent
Split enum valueNv::Blast::TkEvent
typeNv::Blast::TkEvent
Type enum nameNv::Blast::TkEvent
TypeCount enum valueNv::Blast::TkEvent

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_event.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_event.html new file mode 100644 index 0000000..3c76689 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_event.html @@ -0,0 +1,142 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkEvent Struct Reference + + + + + + + + +
+

Nv::Blast::TkEvent Struct Reference

#include <NvBlastTkEvent.h> +

+ +

+List of all members. + + + + + + + + + + + + + +

Public Types


Public Member Functions

template<typename T >
const T * getPayload () const

Public Attributes

const void * payload
 Type-dependent payload data.
Type type
 See the Type enum, above.
+


Detailed Description

+Event data dispatched to TkEventListener objects. The user may implement the abstract TkEventListener interface and pass the listener object to a BlastTk object which dispatches events. (See for example TkFamily.)

Member Enumeration Documentation

+ +
+
+ + + + +
enum Nv::Blast::TkEvent::Type
+
+
+ +

+

Enumerator:
+ + + + + + +
Split  +Sent when a TkActor is split. See TkSplitEvent.
FractureCommand  +Sent when a TkActor generated fracture commands using TkActor::generateFracture.
FractureEvent  +Sent when a TkActor is fractured using TkActor::applyFracture.
JointUpdate  +Sent when TkJoints change their attachment state. See TkJointUpdateEvent.
TypeCount  +
+
+ +
+

+


Member Function Documentation

+ +
+
+
+template<typename T >
+ + + + + + + + +
const T* Nv::Blast::TkEvent::getPayload (  )  const [inline]
+
+
+ +

+Casts the payload data into its type-dependent format.

+

Returns:
the payload for an event of type T
+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
const void* Nv::Blast::TkEvent::payload
+
+
+ +

+Type-dependent payload data. +

+ +

+

+ +

+ +
+ +

+See the Type enum, above. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands-members.html new file mode 100644 index 0000000..04761a6 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkFractureCommands Member List

This is the complete list of members for Nv::Blast::TkFractureCommands, including all inherited members.

+ + + +
buffersNv::Blast::TkFractureCommands
EVENT_TYPE enum valueNv::Blast::TkFractureCommands
tkActorDataNv::Blast::TkFractureCommands

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands.html new file mode 100644 index 0000000..3569248 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands.html @@ -0,0 +1,110 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkFractureCommands Struct Reference + + + + + + + + +
+

Nv::Blast::TkFractureCommands Struct Reference

#include <NvBlastTkEvent.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Types

enum  { EVENT_TYPE = TkEvent::FractureCommand + }

Public Attributes

NvBlastFractureBuffers buffers
 The fracture commands used to modify the TkActor.
TkActorData tkActorData
 The data of TkActor that received the fracture command.
+


Detailed Description

+Payload for the TkEvent::FractureCommand events

+Fracture Commands used to apply fracture to a TkActor.


Member Enumeration Documentation

+ +
+
+ + + + +
anonymous enum
+
+
+ +

+

Enumerator:
+ + +
EVENT_TYPE  +
+
+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+The fracture commands used to modify the TkActor. +

+ +

+

+ +

+ +
+ +

+The data of TkActor that received the fracture command. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events-members.html new file mode 100644 index 0000000..3c6a3ef --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events-members.html @@ -0,0 +1,37 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkFractureEvents Member List

This is the complete list of members for Nv::Blast::TkFractureEvents, including all inherited members.

+ + + + + + + +
bondsBrokenNv::Blast::TkFractureEvents
bondsDamagedNv::Blast::TkFractureEvents
buffersNv::Blast::TkFractureEvents
chunksBrokenNv::Blast::TkFractureEvents
chunksDamagedNv::Blast::TkFractureEvents
EVENT_TYPE enum valueNv::Blast::TkFractureEvents
tkActorDataNv::Blast::TkFractureEvents

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events.html new file mode 100644 index 0000000..42fa663 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events.html @@ -0,0 +1,190 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkFractureEvents Struct Reference + + + + + + + + +
+

Nv::Blast::TkFractureEvents Struct Reference

#include <NvBlastTkEvent.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  { EVENT_TYPE = TkEvent::FractureEvent + }

Public Attributes

uint32_t bondsBroken
 number of broken bonds (health exhausted)
uint32_t bondsDamaged
 number of damaged bonds (health remains)
NvBlastFractureBuffers buffers
 The fracture result of the modified TkActor.
uint32_t chunksBroken
 number of broken chunks (health exhausted) including child chunks
uint32_t chunksDamaged
 number of damaged chunks (health remains) including child chunks
TkActorData tkActorData
 The data of TkActor that received the fracture command.
+


Detailed Description

+Payload for the TkEvent::FractureEvent events

+Fracture Events resulting from applying fracture to a TkActor.


Member Enumeration Documentation

+ +
+
+ + + + +
anonymous enum
+
+
+ +

+

Enumerator:
+ + +
EVENT_TYPE  +
+
+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+number of broken bonds (health exhausted) +

+ +

+

+ +

+ +
+ +

+number of damaged bonds (health remains) +

+ +

+

+ +

+ +
+ +

+The fracture result of the modified TkActor. +

+ +

+

+ +

+ +
+ +

+number of broken chunks (health exhausted) including child chunks +

+ +

+

+ +

+ +
+ +

+number of damaged chunks (health remains) including child chunks +

+ +

+

+ +

+ +
+ +

+The data of TkActor that received the fracture command. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc-members.html new file mode 100644 index 0000000..2e80452 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc-members.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkFrameworkDesc Member List

This is the complete list of members for Nv::Blast::TkFrameworkDesc, including all inherited members.

+ + +
allocatorCallbackNv::Blast::TkFrameworkDesc
errorCallbackNv::Blast::TkFrameworkDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc.html new file mode 100644 index 0000000..36983d3 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc.html @@ -0,0 +1,84 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkFrameworkDesc Struct Reference + + + + + + + + +
+

Nv::Blast::TkFrameworkDesc Struct Reference

#include <NvBlastTkFramework.h> +

+ +

+List of all members. + + + + + + + + +

Public Attributes

physx::PxAllocatorCallback * allocatorCallback
 User-defined allocation callback (see PxAllocatorCallback).
physx::PxErrorCallback * errorCallback
 User-defined message callback (see PxErrorCallback).
+


Detailed Description

+Descriptor for framework creation.

+The TkFramework uses PxShared callbacks for messages and allocation.


Member Data Documentation

+ +
+
+ + + + +
physx::PxAllocatorCallback* Nv::Blast::TkFrameworkDesc::allocatorCallback
+
+
+ +

+User-defined allocation callback (see PxAllocatorCallback). +

+ +

+

+ +

+
+ + + + +
physx::PxErrorCallback* Nv::Blast::TkFrameworkDesc::errorCallback
+
+
+ +

+User-defined message callback (see PxErrorCallback). +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc-members.html new file mode 100644 index 0000000..714a48c --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc-members.html @@ -0,0 +1,31 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkGroupDesc Member List

This is the complete list of members for Nv::Blast::TkGroupDesc, including all inherited members.

+ +
pxTaskManagerNv::Blast::TkGroupDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc.html new file mode 100644 index 0000000..a00ba5f --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc.html @@ -0,0 +1,64 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkGroupDesc Struct Reference + + + + + + + + +
+

Nv::Blast::TkGroupDesc Struct Reference

#include <NvBlastTkGroup.h> +

+ +

+List of all members. + + + + + +

Public Attributes

physx::PxTaskManager * pxTaskManager
 User-defined task manager.
+


Detailed Description

+Descriptor for a TkGroup. It uses the PxShared PxTaskManager interface to dispatch PxLightCpuTask.
See also:
TkWorker
+

Member Data Documentation

+ +
+
+ + + + +
physx::PxTaskManager* Nv::Blast::TkGroupDesc::pxTaskManager
+
+
+ +

+User-defined task manager. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_stats-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_stats-members.html new file mode 100644 index 0000000..9080929 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_stats-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkGroupStats Member List

This is the complete list of members for Nv::Blast::TkGroupStats, including all inherited members.

+ + + +
processedActorsCountNv::Blast::TkGroupStats
timersNv::Blast::TkGroupStats
workerTimeNv::Blast::TkGroupStats

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_stats.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_stats.html new file mode 100644 index 0000000..f05bd3c --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_group_stats.html @@ -0,0 +1,104 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkGroupStats Struct Reference + + + + + + + + +
+

Nv::Blast::TkGroupStats Struct Reference

#include <NvBlastTkGroup.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Attributes

uint32_t processedActorsCount
 Accumulated number of processed actors in all TkWorker.
NvBlastTimers timers
 Accumulated time spent in blast low-level functions, see NvBlastTimers.
int64_t workerTime
 Accumulated time spent executing TkWorker::run. Unit is ticks, see NvBlastTimers.
+


Detailed Description

+Used to collect internal counters using TkGroup::getStats (for profile builds only)
See also:
TkGroup::getStats()
+

Member Data Documentation

+ +
+ +
+ +

+Accumulated number of processed actors in all TkWorker. +

+ +

+

+ +

+ +
+ +

+Accumulated time spent in blast low-level functions, see NvBlastTimers. +

+ +

+

+ +

+ +
+ +

+Accumulated time spent executing TkWorker::run. Unit is ticks, see NvBlastTimers. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data-members.html new file mode 100644 index 0000000..d6f3c15 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkJointData Member List

This is the complete list of members for Nv::Blast::TkJointData, including all inherited members.

+ + + +
actorsNv::Blast::TkJointData
attachPositionsNv::Blast::TkJointData
chunkIndicesNv::Blast::TkJointData

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data.html new file mode 100644 index 0000000..deda553 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data.html @@ -0,0 +1,103 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkJointData Struct Reference + + + + + + + + +
+

Nv::Blast::TkJointData Struct Reference

#include <NvBlastTkJoint.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Attributes

TkActoractors [2]
 The TkActor objects joined by the joint.
physx::PxVec3 attachPositions [2]
 The position of the joint relative to each TkActor.
uint32_t chunkIndices [2]
 The chunk indices within the corresponding TkActor objects joined by the joint. The indexed chunks will be support chunks.
+


Detailed Description

+The data contained in a TkJoint.

Member Data Documentation

+ +
+ +
+ +

+The TkActor objects joined by the joint. +

+ +

+

+ +

+
+ + + + +
physx::PxVec3 Nv::Blast::TkJointData::attachPositions[2]
+
+
+ +

+The position of the joint relative to each TkActor. +

+ +

+

+ +

+
+ + + + +
uint32_t Nv::Blast::TkJointData::chunkIndices[2]
+
+
+ +

+The chunk indices within the corresponding TkActor objects joined by the joint. The indexed chunks will be support chunks. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc-members.html new file mode 100644 index 0000000..38a3c4d --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkJointDesc Member List

This is the complete list of members for Nv::Blast::TkJointDesc, including all inherited members.

+ + + +
attachPositionsNv::Blast::TkJointDesc
chunkIndicesNv::Blast::TkJointDesc
familiesNv::Blast::TkJointDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html new file mode 100644 index 0000000..7a4df24 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html @@ -0,0 +1,103 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkJointDesc Struct Reference + + + + + + + + +
+

Nv::Blast::TkJointDesc Struct Reference

#include <NvBlastTkFramework.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Attributes

physx::PxVec3 attachPositions [2]
 The position of the joint relative to each TkActor which ownes the chunks jointed by this joint.
uint32_t chunkIndices [2]
 The chunk indices within the corresponding TkFamily objects joined by the joint. The indexed chunks will be support chunks.
TkFamilyfamilies [2]
 The TkFamily objects containint the chunks joined by the joint.
+


Detailed Description

+Descriptor for joint creation.

Member Data Documentation

+ +
+
+ + + + +
physx::PxVec3 Nv::Blast::TkJointDesc::attachPositions[2]
+
+
+ +

+The position of the joint relative to each TkActor which ownes the chunks jointed by this joint. +

+ +

+

+ +

+
+ + + + +
uint32_t Nv::Blast::TkJointDesc::chunkIndices[2]
+
+
+ +

+The chunk indices within the corresponding TkFamily objects joined by the joint. The indexed chunks will be support chunks. +

+ +

+

+ +

+ +
+ +

+The TkFamily objects containint the chunks joined by the joint. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event-members.html new file mode 100644 index 0000000..5af5666 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event-members.html @@ -0,0 +1,37 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkJointUpdateEvent Member List

This is the complete list of members for Nv::Blast::TkJointUpdateEvent, including all inherited members.

+ + + + + + + +
Changed enum valueNv::Blast::TkJointUpdateEvent
EVENT_TYPE enum valueNv::Blast::TkJointUpdateEvent
External enum valueNv::Blast::TkJointUpdateEvent
jointNv::Blast::TkJointUpdateEvent
subtypeNv::Blast::TkJointUpdateEvent
Subtype enum nameNv::Blast::TkJointUpdateEvent
Unreferenced enum valueNv::Blast::TkJointUpdateEvent

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event.html new file mode 100644 index 0000000..5b78320 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event.html @@ -0,0 +1,135 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkJointUpdateEvent Struct Reference + + + + + + + + +
+

Nv::Blast::TkJointUpdateEvent Struct Reference

#include <NvBlastTkEvent.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Types

enum  { EVENT_TYPE = TkEvent::JointUpdate + }

Public Attributes

TkJointjoint
 The joint being updated.
Subtype subtype
 The type of update event this is (see Subtype).
+


Detailed Description

+Payload for the TkEvent::JointUpdate events

+Event type sent when a TkJoint's TkActor references change. This may indicate a joint becoming external, simply changing actors when split events occur on one or both of the actors, or when one or both of the actors are destroyed.


Member Enumeration Documentation

+ +
+
+ + + + +
anonymous enum
+
+
+ +

+

Enumerator:
+ + +
EVENT_TYPE  +
+
+ +
+

+ +

+ +
+ +

+

Enumerator:
+ + + + +
External  +A joint that used to be internal to a single TkActor now joins two different TkActors.
Changed  +One or both of the joint's attached TkActors has changed. The previous TkActors were distinct, however, differentiating this from the JointExternal case.
Unreferenced  +The joint's actors have been set to NULL. The joint will not be used again, and the user may release the TkJoint at this time.
+
+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+The joint being updated. +

+ +

+

+ +

+ +
+ +

+The type of update event this is (see Subtype). +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_split_event-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_split_event-members.html new file mode 100644 index 0000000..f656e52 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_split_event-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkSplitEvent Member List

This is the complete list of members for Nv::Blast::TkSplitEvent, including all inherited members.

+ + + + +
childrenNv::Blast::TkSplitEvent
EVENT_TYPE enum valueNv::Blast::TkSplitEvent
numChildrenNv::Blast::TkSplitEvent
parentDataNv::Blast::TkSplitEvent

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_split_event.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_split_event.html new file mode 100644 index 0000000..f45def8 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_split_event.html @@ -0,0 +1,130 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkSplitEvent Struct Reference + + + + + + + + +
+

Nv::Blast::TkSplitEvent Struct Reference

#include <NvBlastTkEvent.h> +

+ +

+List of all members. + + + + + + + + + + + + + + +

Public Types

enum  { EVENT_TYPE = TkEvent::Split + }

Public Attributes

TkActor ** children
 An array of pointers to the children into which the TkActor was split.
uint32_t numChildren
 The number of children into which the parent TkActor was split.
TkActorData parentData
 The data of parent TkActor that was split.
+


Detailed Description

+Payload for TkEvent::Split events

+When this event is sent, the parent TkActor that was split is no longer valid. Therefore it is not referenced directly in the event data. Instead, its TkFamily, index within the TkFamily, and userData are stored. In addition, this event gives the child TkActors generated by the split.


Member Enumeration Documentation

+ +
+
+ + + + +
anonymous enum
+
+
+ +

+

Enumerator:
+ + +
EVENT_TYPE  +
+
+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+An array of pointers to the children into which the TkActor was split. +

+ +

+

+ +

+ +
+ +

+The number of children into which the parent TkActor was split. +

+ +

+

+ +

+ +
+ +

+The data of parent TkActor that was split. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_type_index-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_type_index-members.html new file mode 100644 index 0000000..61139f1 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_type_index-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TkTypeIndex Member List

This is the complete list of members for Nv::Blast::TkTypeIndex, including all inherited members.

+ + + + + +
Asset enum valueNv::Blast::TkTypeIndex
Enum enum nameNv::Blast::TkTypeIndex
Family enum valueNv::Blast::TkTypeIndex
Group enum valueNv::Blast::TkTypeIndex
TypeCount enum valueNv::Blast::TkTypeIndex

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_type_index.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_type_index.html new file mode 100644 index 0000000..909ee11 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_type_index.html @@ -0,0 +1,70 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TkTypeIndex Struct Reference + + + + + + + + +
+

Nv::Blast::TkTypeIndex Struct Reference

#include <NvBlastTkFramework.h> +

+ +

+List of all members. + + +

Public Types

+


Detailed Description

+Struct-enum to index object types handled by the framework

Member Enumeration Documentation

+ +
+ +
+ +

+

Enumerator:
+ + + + + +
Asset  +TkAsset object type.
Family  +TkFamily object type.
Group  +TkGroup object type.
TypeCount  +
+
+ +
+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html new file mode 100644 index 0000000..33bd434 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html @@ -0,0 +1,37 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::Triangle Member List

This is the complete list of members for Nv::Blast::Triangle, including all inherited members.

+ + + + + + + +
aNv::Blast::Triangle
bNv::Blast::Triangle
cNv::Blast::Triangle
getNormal()Nv::Blast::Triangle [inline]
Triangle()Nv::Blast::Triangle [inline]
Triangle(Vertex a, Vertex b, Vertex c)Nv::Blast::Triangle [inline]
userInfoNv::Blast::Triangle

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle.html new file mode 100644 index 0000000..6233408 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle.html @@ -0,0 +1,193 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::Triangle Struct Reference + + + + + + + + +
+

Nv::Blast::Triangle Struct Reference

#include <NvBlastExtAuthoringTypes.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + +

Public Member Functions

physx::PxVec3 getNormal ()
 Triangle (Vertex a, Vertex b, Vertex c)
 Triangle ()

Public Attributes

Vertex a
Vertex b
Vertex c
int32_t userInfo
+


Detailed Description

+Mesh triangle representation

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::Triangle::Triangle (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Nv::Blast::Triangle::Triangle (Vertex  a,
Vertex  b,
Vertex  c 
) [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
physx::PxVec3 Nv::Blast::Triangle::getNormal (  )  [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+
+ + + + +
int32_t Nv::Blast::Triangle::userInfo
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed-members.html new file mode 100644 index 0000000..e3a14a2 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed-members.html @@ -0,0 +1,38 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::TriangleIndexed Member List

This is the complete list of members for Nv::Blast::TriangleIndexed, including all inherited members.

+ + + + + + + + +
eaNv::Blast::TriangleIndexed
ebNv::Blast::TriangleIndexed
ecNv::Blast::TriangleIndexed
getOpposite(uint32_t a, uint32_t b)Nv::Blast::TriangleIndexed [inline]
isContainEdge(uint32_t a, uint32_t b)Nv::Blast::TriangleIndexed [inline]
TriangleIndexed()Nv::Blast::TriangleIndexed [inline]
TriangleIndexed(uint32_t a, uint32_t b, uint32_t c)Nv::Blast::TriangleIndexed [inline]
userInfoNv::Blast::TriangleIndexed

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed.html new file mode 100644 index 0000000..2d18927 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed.html @@ -0,0 +1,234 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::TriangleIndexed Struct Reference + + + + + + + + +
+

Nv::Blast::TriangleIndexed Struct Reference

#include <NvBlastExtAuthoringTypes.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + +

Public Member Functions

uint32_t getOpposite (uint32_t a, uint32_t b)
bool isContainEdge (uint32_t a, uint32_t b)
 TriangleIndexed (uint32_t a, uint32_t b, uint32_t c)
 TriangleIndexed ()

Public Attributes

uint32_t ea
uint32_t eb
uint32_t ec
int32_t userInfo
+


Detailed Description

+Index based triangle

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Nv::Blast::TriangleIndexed::TriangleIndexed (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Nv::Blast::TriangleIndexed::TriangleIndexed (uint32_t  a,
uint32_t  b,
uint32_t  c 
) [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
uint32_t Nv::Blast::TriangleIndexed::getOpposite (uint32_t  a,
uint32_t  b 
) [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool Nv::Blast::TriangleIndexed::isContainEdge (uint32_t  a,
uint32_t  b 
) [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
uint32_t Nv::Blast::TriangleIndexed::ea
+
+
+ +

+ +

+

+ +

+
+ + + + +
uint32_t Nv::Blast::TriangleIndexed::eb
+
+
+ +

+ +

+

+ +

+
+ + + + +
uint32_t Nv::Blast::TriangleIndexed::ec
+
+
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_vertex-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_vertex-members.html new file mode 100644 index 0000000..080c8dd --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_vertex-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

Nv::Blast::Vertex Member List

This is the complete list of members for Nv::Blast::Vertex, including all inherited members.

+ + + +
nNv::Blast::Vertex
pNv::Blast::Vertex
uvNv::Blast::Vertex

+ + + + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_vertex.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_vertex.html new file mode 100644 index 0000000..60f3352 --- /dev/null +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_vertex.html @@ -0,0 +1,94 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Nv::Blast::Vertex Struct Reference + + + + + + + + +
+

Nv::Blast::Vertex Struct Reference

#include <NvBlastExtAuthoringTypes.h> +

+ +

+List of all members. + + + + + + + + +

Public Attributes

physx::PxVec3 n
physx::PxVec3 p
physx::PxVec2 uv [1]
+


Detailed Description

+Mesh vertex representation

Member Data Documentation

+ +
+
+ + + + +
physx::PxVec3 Nv::Blast::Vertex::n
+
+
+ +

+ +

+

+ +

+
+ + + + +
physx::PxVec3 Nv::Blast::Vertex::p
+
+
+ +

+ +

+

+ +

+
+ + + + +
physx::PxVec2 Nv::Blast::Vertex::uv[1]
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_actor.html b/docs/api_docs/files/struct_nv_blast_actor.html new file mode 100644 index 0000000..c6d25cf --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_actor.html @@ -0,0 +1,38 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastActor Struct Reference + + + + + + + +
+

NvBlastActor Struct Reference

#include <NvBlastTypes.h> +

+ + +
+


Detailed Description

+Actor (opaque)

+Actors can be generated by the NvBlastFamilyCreateFirstActor and NvBlastActorSplit functions. Opaque NvBlastActor pointers reference data within the family generated during NvBlastFamilyCreateFirstActor, and represent the actor in all actor-related API functions.


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_actor_desc-members.html b/docs/api_docs/files/struct_nv_blast_actor_desc-members.html new file mode 100644 index 0000000..3491bac --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_actor_desc-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastActorDesc Member List

This is the complete list of members for NvBlastActorDesc, including all inherited members.

+ + + + +
initialBondHealthsNvBlastActorDesc
initialSupportChunkHealthsNvBlastActorDesc
uniformInitialBondHealthNvBlastActorDesc
uniformInitialLowerSupportChunkHealthNvBlastActorDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_actor_desc.html b/docs/api_docs/files/struct_nv_blast_actor_desc.html new file mode 100644 index 0000000..30ee80b --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_actor_desc.html @@ -0,0 +1,119 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastActorDesc Struct Reference + + + + + + + +
+

NvBlastActorDesc Struct Reference

#include <NvBlastTypes.h> +

+

+Inheritance diagram for NvBlastActorDesc:
+
+ +

+ +Nv::Blast::TkActorDesc + +
+ +

+List of all members. + + + + + + + + + + +

Public Attributes

const float * initialBondHealths
const float * initialSupportChunkHealths
float uniformInitialBondHealth
float uniformInitialLowerSupportChunkHealth
+


Detailed Description

+Actor descriptor, used to create an instance of an NvBlastAsset with NvBlastFamilyCreateFirstActor

+See NvBlastFamilyCreateFirstActor.


Member Data Documentation

+ +
+
+ + + + +
const float* NvBlastActorDesc::initialBondHealths
+
+
+ +

+Initial bond healths. If not NULL, this array must be of length NvBlastAssetGetChunkCount(asset, logFn). If NULL, uniformInitialBondHealth must be set. +

+

+ +

+ +
+ +

+Initial health of all support chunks. If not NULL, this must be of length NvBlastAssetGetSupportGraph(asset, logFn).nodeCount. The elements in the initialSupportChunkHealth array will correspond to the chunk indices in the NvBlastAssetGetSupportGraph(asset, logFn).chunkIndices array. Every descendent of a support chunk will have its health initialized to its ancestor support chunk's health, so this initializes all lower-support chunk healths. If NULL, uniformInitialLowerSupportChunkHealth must be set. +

+

+ +

+ +
+ +

+Initial health of all bonds, if initialBondHealths is NULL (see initialBondHealths). +

+

+ +

+ +
+ +

+Initial health of all lower-support chunks, if initialSupportChunkHealths is NULL (see initialSupportChunkHealths). +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_actor_desc.png b/docs/api_docs/files/struct_nv_blast_actor_desc.png new file mode 100644 index 0000000..cfcad1e Binary files /dev/null and b/docs/api_docs/files/struct_nv_blast_actor_desc.png differ diff --git a/docs/api_docs/files/struct_nv_blast_actor_split_event-members.html b/docs/api_docs/files/struct_nv_blast_actor_split_event-members.html new file mode 100644 index 0000000..6825389 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_actor_split_event-members.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastActorSplitEvent Member List

This is the complete list of members for NvBlastActorSplitEvent, including all inherited members.

+ + +
deletedActorNvBlastActorSplitEvent
newActorsNvBlastActorSplitEvent

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_actor_split_event.html b/docs/api_docs/files/struct_nv_blast_actor_split_event.html new file mode 100644 index 0000000..03e9788 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_actor_split_event.html @@ -0,0 +1,81 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastActorSplitEvent Struct Reference + + + + + + + +
+

NvBlastActorSplitEvent Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + +

Public Attributes

NvBlastActordeletedActor
 deleted actor or nullptr if actor has not changed
NvBlastActor ** newActors
 list of created actors
+


Detailed Description

+Description of a NvBlastActorSplit result. This tells the user about changes in the actor, or creation of children.

Member Data Documentation

+ +
+ +
+ +

+deleted actor or nullptr if actor has not changed +

+ +

+

+ +

+ +
+ +

+list of created actors +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_asset.html b/docs/api_docs/files/struct_nv_blast_asset.html new file mode 100644 index 0000000..f4615aa --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_asset.html @@ -0,0 +1,40 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastAsset Struct Reference + + + + + + + +
+

NvBlastAsset Struct Reference

#include <NvBlastTypes.h> +

+ + +
+


Detailed Description

+Asset (opaque)

+Static destructible data, used to create actor familes.

+Pointer to this struct can be created with NvBlastCreateAsset.

+The NvBlastAsset includes a ID which may be used to match it with physics and graphics data.


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_asset_data_format-members.html b/docs/api_docs/files/struct_nv_blast_asset_data_format-members.html new file mode 100644 index 0000000..755f96f --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_asset_data_format-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastAssetDataFormat Member List

This is the complete list of members for NvBlastAssetDataFormat, including all inherited members.

+ + + + +
Count enum valueNvBlastAssetDataFormat
Current enum valueNvBlastAssetDataFormat
Initial enum valueNvBlastAssetDataFormat
Version enum nameNvBlastAssetDataFormat

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_asset_data_format.html b/docs/api_docs/files/struct_nv_blast_asset_data_format.html new file mode 100644 index 0000000..1dcc424 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_asset_data_format.html @@ -0,0 +1,66 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastAssetDataFormat Struct Reference + + + + + + + +
+

NvBlastAssetDataFormat Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + +

Public Types

+


Detailed Description

+Struct-enum which keeps track of the asset data format.

Member Enumeration Documentation

+ +
+ +
+ +

+

Enumerator:
+ + + + +
Initial  +Initial version
Count  +The number of asset formats.
Current  +The current version. This should always be Count-1
+
+ +
+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_asset_desc-members.html b/docs/api_docs/files/struct_nv_blast_asset_desc-members.html new file mode 100644 index 0000000..8cd59f6 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_asset_desc-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastAssetDesc Member List

This is the complete list of members for NvBlastAssetDesc, including all inherited members.

+ + + + +
bondCountNvBlastAssetDesc
bondDescsNvBlastAssetDesc
chunkCountNvBlastAssetDesc
chunkDescsNvBlastAssetDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_asset_desc.html b/docs/api_docs/files/struct_nv_blast_asset_desc.html new file mode 100644 index 0000000..b1a5126 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_asset_desc.html @@ -0,0 +1,121 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastAssetDesc Struct Reference + + + + + + + +
+

NvBlastAssetDesc Struct Reference

#include <NvBlastTypes.h> +

+

+Inheritance diagram for NvBlastAssetDesc:
+
+ +

+ +Nv::Blast::TkAssetDesc +Nv::Blast::ExtPxAssetDesc + +
+ +

+List of all members. + + + + + + + + + + +

Public Attributes

uint32_t bondCount
const NvBlastBondDescbondDescs
uint32_t chunkCount
const NvBlastChunkDescchunkDescs
+


Detailed Description

+Asset descriptor, used to build an asset with NvBlastCreateAsset

+A valid asset descriptor must have a non-zero chunkCount and valid chunkDescs.

+The user may create an asset with no bonds (e.g. a single-chunk asset). In this case bondCount should be zero and bondDescs is ignored.


Member Data Documentation

+ +
+
+ + + + +
uint32_t NvBlastAssetDesc::bondCount
+
+
+ +

+The number of bond descriptors. +

+

+ +

+ +
+ +

+Array of bond descriptors of size bondCount. +

+

+ +

+
+ + + + +
uint32_t NvBlastAssetDesc::chunkCount
+
+
+ +

+The number of chunk descriptors. +

+

+ +

+ +
+ +

+Array of chunk descriptors of size chunkCount. +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_asset_desc.png b/docs/api_docs/files/struct_nv_blast_asset_desc.png new file mode 100644 index 0000000..c1f9a55 Binary files /dev/null and b/docs/api_docs/files/struct_nv_blast_asset_desc.png differ diff --git a/docs/api_docs/files/struct_nv_blast_bond-members.html b/docs/api_docs/files/struct_nv_blast_bond-members.html new file mode 100644 index 0000000..ef3fc49 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_bond-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastBond Member List

This is the complete list of members for NvBlastBond, including all inherited members.

+ + + + +
areaNvBlastBond
centroidNvBlastBond
normalNvBlastBond
userDataNvBlastBond

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_bond.html b/docs/api_docs/files/struct_nv_blast_bond.html new file mode 100644 index 0000000..4a47cd4 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_bond.html @@ -0,0 +1,109 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastBond Struct Reference + + + + + + + +
+

NvBlastBond Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + + + +

Public Attributes

float area
float centroid [3]
float normal [3]
uint32_t userData
+


Detailed Description

+Represents the interface between two chunks. At most one bond is created for a chunk pair. The convention regarding the normal direction is based upon the chunk indices, pointing from the lower-indexed chunk to the higher-indexed chunk.

Member Data Documentation

+ +
+
+ + + + +
float NvBlastBond::area
+
+
+ +

+Area of interface +

+

+ +

+
+ + + + +
float NvBlastBond::centroid[3]
+
+
+ +

+Central position on the interface between chunks +

+

+ +

+
+ + + + +
float NvBlastBond::normal[3]
+
+
+ +

+Interface average normal +

+

+ +

+
+ + + + +
uint32_t NvBlastBond::userData
+
+
+ +

+Extra data associated with bond, e.g. whether or not to create a joint +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_bond_desc-members.html b/docs/api_docs/files/struct_nv_blast_bond_desc-members.html new file mode 100644 index 0000000..ca29169 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_bond_desc-members.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastBondDesc Member List

This is the complete list of members for NvBlastBondDesc, including all inherited members.

+ + +
bondNvBlastBondDesc
chunkIndicesNvBlastBondDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_bond_desc.html b/docs/api_docs/files/struct_nv_blast_bond_desc.html new file mode 100644 index 0000000..bb95ef9 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_bond_desc.html @@ -0,0 +1,75 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastBondDesc Struct Reference + + + + + + + +
+

NvBlastBondDesc Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + +

Public Attributes

NvBlastBond bond
uint32_t chunkIndices [2]
+


Detailed Description

+Chunk bond descriptor used to build an asset. See NvBlastAssetDesc.

Member Data Documentation

+ +
+ +
+ +

+Bond data (see NvBlastBond). +

+

+ +

+
+ + + + +
uint32_t NvBlastBondDesc::chunkIndices[2]
+
+
+ +

+The indices of the chunks linked by this bond. They must be different support chunk indices. +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_bond_fracture_data-members.html b/docs/api_docs/files/struct_nv_blast_bond_fracture_data-members.html new file mode 100644 index 0000000..c92f976 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_bond_fracture_data-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastBondFractureData Member List

This is the complete list of members for NvBlastBondFractureData, including all inherited members.

+ + + + +
healthNvBlastBondFractureData
nodeIndex0NvBlastBondFractureData
nodeIndex1NvBlastBondFractureData
userdataNvBlastBondFractureData

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_bond_fracture_data.html b/docs/api_docs/files/struct_nv_blast_bond_fracture_data.html new file mode 100644 index 0000000..e192f17 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_bond_fracture_data.html @@ -0,0 +1,123 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastBondFractureData Struct Reference + + + + + + + +
+

NvBlastBondFractureData Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + + + + + + + +

Public Attributes

float health
 health value (damage or remains)
uint32_t nodeIndex0
 graph node index of bond
uint32_t nodeIndex1
 pair graph node index of bond
uint32_t userdata
 bond's user data
+


Detailed Description

+Fracture Data for Bonds

+Data interpretation varies depending on the function used.

See also:
NvBlastActorGenerateFracture NvBlastActorApplyFracture NvBlastFractureBuffers
+

Member Data Documentation

+ +
+ +
+ +

+health value (damage or remains) +

+ +

+

+ +

+ +
+ +

+graph node index of bond +

+ +

+

+ +

+ +
+ +

+pair graph node index of bond +

+ +

+

+ +

+
+ + + + +
uint32_t NvBlastBondFractureData::userdata
+
+
+ +

+bond's user data +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_chunk-members.html b/docs/api_docs/files/struct_nv_blast_chunk-members.html new file mode 100644 index 0000000..b774b8a --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_chunk-members.html @@ -0,0 +1,36 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastChunk Member List

This is the complete list of members for NvBlastChunk, including all inherited members.

+ + + + + + +
centroidNvBlastChunk
childIndexStopNvBlastChunk
firstChildIndexNvBlastChunk
parentChunkIndexNvBlastChunk
userDataNvBlastChunk
volumeNvBlastChunk

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_chunk.html b/docs/api_docs/files/struct_nv_blast_chunk.html new file mode 100644 index 0000000..7bc6a73 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_chunk.html @@ -0,0 +1,145 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastChunk Struct Reference + + + + + + + +
+

NvBlastChunk Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + + + + + + + +

Public Attributes

float centroid [3]
uint32_t childIndexStop
uint32_t firstChildIndex
uint32_t parentChunkIndex
uint32_t userData
float volume
+


Detailed Description

+Represents a piece of a destructible asset which may be realized as an entity with a physical and graphical component.

+Chunks may form a hierarchical decomposition of the asset. They contain parent and child chunk index information which defines the hierarchy. The parent and child chunk indices are their positions with the NvBlastAsset::chunks array.

+Child chunk indices are contiguous, starting at firstChildIndex and ending with childIndexStop - 1.


Member Data Documentation

+ +
+
+ + + + +
float NvBlastChunk::centroid[3]
+
+
+ +

+Central position for the chunk's volume +

+

+ +

+
+ + + + +
uint32_t NvBlastChunk::childIndexStop
+
+
+ +

+Stop for child indices +

+

+ +

+
+ + + + +
uint32_t NvBlastChunk::firstChildIndex
+
+
+ +

+Index of first child +

+

+ +

+
+ + + + +
uint32_t NvBlastChunk::parentChunkIndex
+
+
+ +

+Index of parent (UINT32_MAX denotes no parent) +

+

+ +

+
+ + + + +
uint32_t NvBlastChunk::userData
+
+
+ +

+Field for user to associate with external data +

+

+ +

+
+ + + + +
float NvBlastChunk::volume
+
+
+ +

+Volume of the chunk +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_chunk_desc-members.html b/docs/api_docs/files/struct_nv_blast_chunk_desc-members.html new file mode 100644 index 0000000..80a682d --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_chunk_desc-members.html @@ -0,0 +1,38 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastChunkDesc Member List

This is the complete list of members for NvBlastChunkDesc, including all inherited members.

+ + + + + + + + +
centroidNvBlastChunkDesc
Flags enum nameNvBlastChunkDesc
flagsNvBlastChunkDesc
NoFlags enum valueNvBlastChunkDesc
parentChunkIndexNvBlastChunkDesc
SupportFlag enum valueNvBlastChunkDesc
userDataNvBlastChunkDesc
volumeNvBlastChunkDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_chunk_desc.html b/docs/api_docs/files/struct_nv_blast_chunk_desc.html new file mode 100644 index 0000000..3759c05 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_chunk_desc.html @@ -0,0 +1,155 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastChunkDesc Struct Reference + + + + + + + +
+

NvBlastChunkDesc Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + +

Public Types

enum  Flags { NoFlags = 0, +SupportFlag = (1 << 0) + }

Public Attributes

float centroid [3]
uint32_t flags
uint32_t parentChunkIndex
uint32_t userData
float volume
+


Detailed Description

+Chunk descriptor used to build an asset. See NvBlastAssetDesc.

Member Enumeration Documentation

+ +
+
+ + + + +
enum NvBlastChunkDesc::Flags
+
+
+ +

+

Enumerator:
+ + + +
NoFlags  +
SupportFlag  +If this flag is set then the chunk will become a support chunk, unless an ancestor chunk is also marked as support.
+
+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
float NvBlastChunkDesc::centroid[3]
+
+
+ +

+Central position in chunk. +

+

+ +

+
+ + + + +
uint32_t NvBlastChunkDesc::flags
+
+
+ +

+See Flags enum for possible flags. +

+

+ +

+ +
+ +

+Index of this chunk's parent. If this is a root chunk, then this value must be UINT32_MAX. +

+

+ +

+
+ + + + +
uint32_t NvBlastChunkDesc::userData
+
+
+ +

+User-supplied data which will be accessible to the user in chunk fracture events. +

+

+ +

+
+ + + + +
float NvBlastChunkDesc::volume
+
+
+ +

+Volume of chunk. +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_chunk_fracture_data-members.html b/docs/api_docs/files/struct_nv_blast_chunk_fracture_data-members.html new file mode 100644 index 0000000..1a0a049 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_chunk_fracture_data-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastChunkFractureData Member List

This is the complete list of members for NvBlastChunkFractureData, including all inherited members.

+ + + +
chunkIndexNvBlastChunkFractureData
healthNvBlastChunkFractureData
userdataNvBlastChunkFractureData

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_chunk_fracture_data.html b/docs/api_docs/files/struct_nv_blast_chunk_fracture_data.html new file mode 100644 index 0000000..42470d3 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_chunk_fracture_data.html @@ -0,0 +1,103 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastChunkFractureData Struct Reference + + + + + + + +
+

NvBlastChunkFractureData Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Attributes

uint32_t chunkIndex
 asset chunk index
float health
 health value (damage or remains)
uint32_t userdata
 chunk's user data
+


Detailed Description

+Fracture Data for Chunks

+Data interpretation varies depending on the function used.

See also:
NvBlastActorGenerateFracture NvBlastActorApplyFracture NvBlastFractureBuffers
+

Member Data Documentation

+ +
+ +
+ +

+asset chunk index +

+ +

+

+ +

+ +
+ +

+health value (damage or remains) +

+ +

+

+ +

+ +
+ +

+chunk's user data +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_damage_program-members.html b/docs/api_docs/files/struct_nv_blast_damage_program-members.html new file mode 100644 index 0000000..9656353 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_damage_program-members.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastDamageProgram Member List

This is the complete list of members for NvBlastDamageProgram, including all inherited members.

+ + +
graphShaderFunctionNvBlastDamageProgram
subgraphShaderFunctionNvBlastDamageProgram

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_damage_program.html b/docs/api_docs/files/struct_nv_blast_damage_program.html new file mode 100644 index 0000000..ec3f86a --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_damage_program.html @@ -0,0 +1,78 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastDamageProgram Struct Reference + + + + + + + +
+

NvBlastDamageProgram Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + +

Public Attributes

NvBlastGraphShaderFunction graphShaderFunction
NvBlastSubgraphShaderFunction subgraphShaderFunction
+


Detailed Description

+Damage Program.

+Contains both graph and subgraph shader. When used on actor appropriate shader will be called. Any shader can be nullptr to be skipped.

+

See also:
NvBlastGraphShaderFunction NvBlastSubgraphShaderFunction
+

Member Data Documentation

+ +

+ +

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_data_block-members.html b/docs/api_docs/files/struct_nv_blast_data_block-members.html new file mode 100644 index 0000000..fd55dba --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_data_block-members.html @@ -0,0 +1,38 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastDataBlock Member List

This is the complete list of members for NvBlastDataBlock, including all inherited members.

+ + + + + + + + +
AssetDataBlock enum valueNvBlastDataBlock
Count enum valueNvBlastDataBlock
dataTypeNvBlastDataBlock
FamilyDataBlock enum valueNvBlastDataBlock
formatVersionNvBlastDataBlock
reservedNvBlastDataBlock
sizeNvBlastDataBlock
Type enum nameNvBlastDataBlock

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_data_block.html b/docs/api_docs/files/struct_nv_blast_data_block.html new file mode 100644 index 0000000..8b170c3 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_data_block.html @@ -0,0 +1,137 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastDataBlock Struct Reference + + + + + + + +
+

NvBlastDataBlock Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Types


Public Attributes

uint32_t dataType
uint32_t formatVersion
uint32_t reserved
uint32_t size
+


Detailed Description

+Generic data block header for all data blocks.

Member Enumeration Documentation

+ +
+
+ + + + +
enum NvBlastDataBlock::Type
+
+
+ +

+Enum of data block types

Enumerator:
+ + + + +
AssetDataBlock  +
FamilyDataBlock  +
Count  +
+
+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
uint32_t NvBlastDataBlock::dataType
+
+
+ +

+A data type keeps value from Type enum +

+

+ +

+
+ + + + +
uint32_t NvBlastDataBlock::formatVersion
+
+
+ +

+A number which is incremented every time the data layout changes. Depending on dataType corresponding data format is kept. See NvBlastAssetDataFormat, NvBlastFamilyDataFormat enum. +

+

+ +

+
+ + + + +
uint32_t NvBlastDataBlock::reserved
+
+
+ +

+Reserved to be possibly used in future versions +

+

+ +

+
+ + + + +
uint32_t NvBlastDataBlock::size
+
+
+ +

+The size of the family, including this header.

+Memory sizes are restricted to 32-bit representable values. +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_ext_material-members.html b/docs/api_docs/files/struct_nv_blast_ext_material-members.html new file mode 100644 index 0000000..66d9744 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_ext_material-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastExtMaterial Member List

This is the complete list of members for NvBlastExtMaterial, including all inherited members.

+ + + + + +
bondNormalThresholdNvBlastExtMaterial
bondTangentialThresholdNvBlastExtMaterial
damageAttenuationNvBlastExtMaterial
graphChunkThresholdNvBlastExtMaterial
singleChunkThresholdNvBlastExtMaterial

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_ext_material.html b/docs/api_docs/files/struct_nv_blast_ext_material.html new file mode 100644 index 0000000..ac199e5 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_ext_material.html @@ -0,0 +1,142 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastExtMaterial Struct Reference + + + + + + + +
+

NvBlastExtMaterial Struct Reference

#include <NvBlastExtDamageShaders.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + +

Public Attributes

float bondNormalThreshold
 currently unused - forward damage propagation
float bondTangentialThreshold
 bond only take damage surpassing this value
float damageAttenuation
 factor of damage attenuation while forwarding
float graphChunkThreshold
 support chunks only take damage surpassing this value
float singleChunkThreshold
 subsupport chunks only take damage surpassing this value
+


Detailed Description

+A few example damage shader implementations. Specific parameters for the material functions here present.

+Material function implementers may choose their own set.


Member Data Documentation

+ +
+ +
+ +

+currently unused - forward damage propagation +

+ +

+

+ +

+ +
+ +

+bond only take damage surpassing this value +

+ +

+

+ +

+ +
+ +

+factor of damage attenuation while forwarding +

+ +

+

+ +

+ +
+ +

+support chunks only take damage surpassing this value +

+ +

+

+ +

+ +
+ +

+subsupport chunks only take damage surpassing this value +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_ext_radial_damage_desc-members.html b/docs/api_docs/files/struct_nv_blast_ext_radial_damage_desc-members.html new file mode 100644 index 0000000..5295f73 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_ext_radial_damage_desc-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastExtRadialDamageDesc Member List

This is the complete list of members for NvBlastExtRadialDamageDesc, including all inherited members.

+ + + + +
compressiveNvBlastExtRadialDamageDesc
maxRadiusNvBlastExtRadialDamageDesc
minRadiusNvBlastExtRadialDamageDesc
positionNvBlastExtRadialDamageDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_ext_radial_damage_desc.html b/docs/api_docs/files/struct_nv_blast_ext_radial_damage_desc.html new file mode 100644 index 0000000..d9593e0 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_ext_radial_damage_desc.html @@ -0,0 +1,121 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastExtRadialDamageDesc Struct Reference + + + + + + + +
+

NvBlastExtRadialDamageDesc Struct Reference

#include <NvBlastExtDamageShaders.h> +

+ +

+List of all members. + + + + + + + + + + + + + + +

Public Attributes

float compressive
 compressive (radial) damage component
float maxRadius
 outer radius of damage action
float minRadius
 inner radius of damage action
float position [3]
 origin of damage action
+


Detailed Description

+Radial Damage Desc

Member Data Documentation

+ +
+ +
+ +

+compressive (radial) damage component +

+ +

+

+ +

+ +
+ +

+outer radius of damage action +

+ +

+

+ +

+ +
+ +

+inner radius of damage action +

+ +

+

+ +

+ +
+ +

+origin of damage action +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_ext_shear_damage_desc-members.html b/docs/api_docs/files/struct_nv_blast_ext_shear_damage_desc-members.html new file mode 100644 index 0000000..664db6e --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_ext_shear_damage_desc-members.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastExtShearDamageDesc Member List

This is the complete list of members for NvBlastExtShearDamageDesc, including all inherited members.

+ + +
positionNvBlastExtShearDamageDesc
shearNvBlastExtShearDamageDesc

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_ext_shear_damage_desc.html b/docs/api_docs/files/struct_nv_blast_ext_shear_damage_desc.html new file mode 100644 index 0000000..a88c642 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_ext_shear_damage_desc.html @@ -0,0 +1,81 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastExtShearDamageDesc Struct Reference + + + + + + + +
+

NvBlastExtShearDamageDesc Struct Reference

#include <NvBlastExtDamageShaders.h> +

+ +

+List of all members. + + + + + + + + +

Public Attributes

float position [3]
 origin of damage action
float shear [3]
 directional damage component
+


Detailed Description

+Shear Damage Desc

Member Data Documentation

+ +
+ +
+ +

+origin of damage action +

+ +

+

+ +

+
+ + + + +
float NvBlastExtShearDamageDesc::shear[3]
+
+
+ +

+directional damage component +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_family.html b/docs/api_docs/files/struct_nv_blast_family.html new file mode 100644 index 0000000..7da9a42 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_family.html @@ -0,0 +1,38 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastFamily Struct Reference + + + + + + + +
+

NvBlastFamily Struct Reference

#include <NvBlastTypes.h> +

+ + +
+


Detailed Description

+Family (opaque)

+a family can be created by the NvBlastAssetCreateFamily function and released by the NvBlastFamilyRelease. Family is needed to create first actor. All the following actors which can be created with NvBlastActorSplit function (as a result of fracture) will share the same family block. NvBlastFamilyGetActorCount can be used to know if family can be safely released.


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_family_data_format-members.html b/docs/api_docs/files/struct_nv_blast_family_data_format-members.html new file mode 100644 index 0000000..9534f89 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_family_data_format-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastFamilyDataFormat Member List

This is the complete list of members for NvBlastFamilyDataFormat, including all inherited members.

+ + + + +
Count enum valueNvBlastFamilyDataFormat
Current enum valueNvBlastFamilyDataFormat
Initial enum valueNvBlastFamilyDataFormat
Version enum nameNvBlastFamilyDataFormat

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_family_data_format.html b/docs/api_docs/files/struct_nv_blast_family_data_format.html new file mode 100644 index 0000000..31d0c98 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_family_data_format.html @@ -0,0 +1,66 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastFamilyDataFormat Struct Reference + + + + + + + +
+

NvBlastFamilyDataFormat Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + +

Public Types

+


Detailed Description

+Struct-enum which keeps track of the family data format.

Member Enumeration Documentation

+ +
+ +
+ +

+

Enumerator:
+ + + + +
Initial  +Initial version
Count  +The number of family formats.
Current  +The current version. This should always be Count-1
+
+ +
+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_fracture_buffers-members.html b/docs/api_docs/files/struct_nv_blast_fracture_buffers-members.html new file mode 100644 index 0000000..ff7f041 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_fracture_buffers-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastFractureBuffers Member List

This is the complete list of members for NvBlastFractureBuffers, including all inherited members.

+ + + + +
bondFractureCountNvBlastFractureBuffers
bondFracturesNvBlastFractureBuffers
chunkFractureCountNvBlastFractureBuffers
chunkFracturesNvBlastFractureBuffers

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_fracture_buffers.html b/docs/api_docs/files/struct_nv_blast_fracture_buffers.html new file mode 100644 index 0000000..0d819b0 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_fracture_buffers.html @@ -0,0 +1,123 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastFractureBuffers Struct Reference + + + + + + + +
+

NvBlastFractureBuffers Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + + + + + + + +

Public Attributes

uint32_t bondFractureCount
 available elements in bondFractures
NvBlastBondFractureDatabondFractures
 memory to be filled by fracture functions
uint32_t chunkFractureCount
 available elements in chunkFractures
NvBlastChunkFractureDatachunkFractures
 memory to be filled by fracture functions
+


Detailed Description

+Memory to be used by fracture functions.

+Used as input and output target.

See also:
NvBlastActorGenerateFracture NvBlastActorApplyFracture
+

Member Data Documentation

+ +
+ +
+ +

+available elements in bondFractures +

+ +

+

+ +

+ +
+ +

+memory to be filled by fracture functions +

+ +

+

+ +

+ +
+ +

+available elements in chunkFractures +

+ +

+

+ +

+ +
+ +

+memory to be filled by fracture functions +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_graph_shader_actor-members.html b/docs/api_docs/files/struct_nv_blast_graph_shader_actor-members.html new file mode 100644 index 0000000..37b987d --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_graph_shader_actor-members.html @@ -0,0 +1,38 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastGraphShaderActor Member List

This is the complete list of members for NvBlastGraphShaderActor, including all inherited members.

+ + + + + + + + +
adjacencyPartitionNvBlastGraphShaderActor
adjacentBondIndicesNvBlastGraphShaderActor
adjacentNodeIndicesNvBlastGraphShaderActor
assetBondsNvBlastGraphShaderActor
chunkIndicesNvBlastGraphShaderActor
familyBondHealthsNvBlastGraphShaderActor
firstGraphNodeIndexNvBlastGraphShaderActor
graphNodeIndexLinksNvBlastGraphShaderActor

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_graph_shader_actor.html b/docs/api_docs/files/struct_nv_blast_graph_shader_actor.html new file mode 100644 index 0000000..0e91d54 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_graph_shader_actor.html @@ -0,0 +1,201 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastGraphShaderActor Struct Reference + + + + + + + +
+

NvBlastGraphShaderActor Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Attributes

const uint32_t * adjacencyPartition
 See NvBlastSupportGraph::adjacencyPartition.
const uint32_t * adjacentBondIndices
 See NvBlastSupportGraph::adjacentBondIndices.
const uint32_t * adjacentNodeIndices
 See NvBlastSupportGraph::adjacentNodeIndices.
const NvBlastBondassetBonds
 NvBlastBonds geometry in the NvBlastAsset.
const uint32_t * chunkIndices
 Graph's map from node index to support chunk index.
const float * familyBondHealths
 Actual bond health values for broken bond detection.
uint32_t firstGraphNodeIndex
 Entry index for graphNodeIndexLinks.
const uint32_t * graphNodeIndexLinks
 Linked index list of connected nodes. Traversable with nextIndex = graphNodeIndexLinks[currentIndex], terminates with 0xFFFFFFFF.
+


Detailed Description

+A single actor's representation used by NvBlastGraphShaderFunction.

Member Data Documentation

+ +

+ +

+ +

+ +

+ +
+ +

+NvBlastBonds geometry in the NvBlastAsset. +

+ +

+

+ +

+
+ + + + +
const uint32_t* NvBlastGraphShaderActor::chunkIndices
+
+
+ +

+Graph's map from node index to support chunk index. +

+ +

+

+ +

+ +
+ +

+Actual bond health values for broken bond detection. +

+ +

+

+ +

+ +
+ +

+Entry index for graphNodeIndexLinks. +

+ +

+

+ +

+ +
+ +

+Linked index list of connected nodes. Traversable with nextIndex = graphNodeIndexLinks[currentIndex], terminates with 0xFFFFFFFF. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_i_d-members.html b/docs/api_docs/files/struct_nv_blast_i_d-members.html new file mode 100644 index 0000000..707c2ff --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_i_d-members.html @@ -0,0 +1,31 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastID Member List

This is the complete list of members for NvBlastID, including all inherited members.

+ +
dataNvBlastID

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_i_d.html b/docs/api_docs/files/struct_nv_blast_i_d.html new file mode 100644 index 0000000..c493084 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_i_d.html @@ -0,0 +1,58 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastID Struct Reference + + + + + + + +
+

NvBlastID Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + +

Public Attributes

char data [16]
+


Detailed Description

+ID used to identify assets.

Member Data Documentation

+ +
+
+ + + + +
char NvBlastID::data[16]
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_message-members.html b/docs/api_docs/files/struct_nv_blast_message-members.html new file mode 100644 index 0000000..7d2c06c --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_message-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastMessage Member List

This is the complete list of members for NvBlastMessage, including all inherited members.

+ + + + + +
Debug enum valueNvBlastMessage
Error enum valueNvBlastMessage
Info enum valueNvBlastMessage
Type enum nameNvBlastMessage
Warning enum valueNvBlastMessage

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_message.html b/docs/api_docs/files/struct_nv_blast_message.html new file mode 100644 index 0000000..a9cd044 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_message.html @@ -0,0 +1,68 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastMessage Struct Reference + + + + + + + +
+

NvBlastMessage Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + +

Public Types

+


Detailed Description

+Types of log messages.

Member Enumeration Documentation

+ +
+
+ + + + +
enum NvBlastMessage::Type
+
+
+ +

+

Enumerator:
+ + + + + +
Error  +Error messages.
Warning  +Warning messages.
Info  +Information messages.
Debug  +Used only in debug version of dll.
+
+ +
+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_profiler_detail-members.html b/docs/api_docs/files/struct_nv_blast_profiler_detail-members.html new file mode 100644 index 0000000..b1c30a2 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_profiler_detail-members.html @@ -0,0 +1,34 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastProfilerDetail Member List

This is the complete list of members for NvBlastProfilerDetail, including all inherited members.

+ + + + +
HIGH enum valueNvBlastProfilerDetail
Level enum nameNvBlastProfilerDetail
LOW enum valueNvBlastProfilerDetail
MEDIUM enum valueNvBlastProfilerDetail

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_profiler_detail.html b/docs/api_docs/files/struct_nv_blast_profiler_detail.html new file mode 100644 index 0000000..4eb2e25 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_profiler_detail.html @@ -0,0 +1,65 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastProfilerDetail Struct Reference + + + + + + + +
+

NvBlastProfilerDetail Struct Reference

#include <NvBlastProfiler.h> +

+ +

+List of all members. + + +

Public Types

+


Member Enumeration Documentation

+ +
+ +
+ +

+

Enumerator:
+ + + + +
LOW  +
MEDIUM  +
HIGH  +
+
+ +
+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_program_params-members.html b/docs/api_docs/files/struct_nv_blast_program_params-members.html new file mode 100644 index 0000000..703108a --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_program_params-members.html @@ -0,0 +1,33 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastProgramParams Member List

This is the complete list of members for NvBlastProgramParams, including all inherited members.

+ + + +
damageDescBufferNvBlastProgramParams
damageDescCountNvBlastProgramParams
materialNvBlastProgramParams

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_program_params.html b/docs/api_docs/files/struct_nv_blast_program_params.html new file mode 100644 index 0000000..c9fd265 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_program_params.html @@ -0,0 +1,104 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastProgramParams Struct Reference + + + + + + + +
+

NvBlastProgramParams Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Attributes

const void * damageDescBuffer
 array of damage descriptions
uint32_t damageDescCount
 number of damage descriptions in array
const void * material
 pointer to material
+


Detailed Description

+Damage program params.

+Custom user params to be passed in shader functions. This structure hints recommended parameters layout, but it doesn't required to be this way.

+The idea of this 'hint' is that damage parameters are basically 2 entities: material + damage description. 1. Material is something that describes an actor properties (e.g. mass, stiffness, fragility) which are not expected to be changed often. 2. Damage description is something that describes particular damage event (e.g. position, radius and force of explosion).

+Also this damage program hints that there could be more than one damage event happening and processed per one shader call (for efficiency reasons). So different damage descriptions can be stacked and passed in one shader call (while material is kept the same obviously).


Member Data Documentation

+ +
+ +
+ +

+array of damage descriptions +

+ +

+

+ +

+ +
+ +

+number of damage descriptions in array +

+ +

+

+ +

+
+ + + + +
const void* NvBlastProgramParams::material
+
+
+ +

+pointer to material +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_subgraph_shader_actor-members.html b/docs/api_docs/files/struct_nv_blast_subgraph_shader_actor-members.html new file mode 100644 index 0000000..e33a627 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_subgraph_shader_actor-members.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastSubgraphShaderActor Member List

This is the complete list of members for NvBlastSubgraphShaderActor, including all inherited members.

+ + +
assetChunksNvBlastSubgraphShaderActor
chunkIndexNvBlastSubgraphShaderActor

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_subgraph_shader_actor.html b/docs/api_docs/files/struct_nv_blast_subgraph_shader_actor.html new file mode 100644 index 0000000..11ddb64 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_subgraph_shader_actor.html @@ -0,0 +1,81 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastSubgraphShaderActor Struct Reference + + + + + + + +
+

NvBlastSubgraphShaderActor Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + +

Public Attributes

const NvBlastChunkassetChunks
 NvBlastChunks geometry in the NvBlastAsset.
uint32_t chunkIndex
 Index of chunk represented by this actor.
+


Detailed Description

+A single actor's representation used by NvBlastSubgraphShaderFunction.

Member Data Documentation

+ +
+ +
+ +

+NvBlastChunks geometry in the NvBlastAsset. +

+ +

+

+ +

+ +
+ +

+Index of chunk represented by this actor. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_support_graph-members.html b/docs/api_docs/files/struct_nv_blast_support_graph-members.html new file mode 100644 index 0000000..4114a4e --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_support_graph-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastSupportGraph Member List

This is the complete list of members for NvBlastSupportGraph, including all inherited members.

+ + + + + +
adjacencyPartitionNvBlastSupportGraph
adjacentBondIndicesNvBlastSupportGraph
adjacentNodeIndicesNvBlastSupportGraph
chunkIndicesNvBlastSupportGraph
nodeCountNvBlastSupportGraph

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_support_graph.html b/docs/api_docs/files/struct_nv_blast_support_graph.html new file mode 100644 index 0000000..5a56b68 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_support_graph.html @@ -0,0 +1,134 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastSupportGraph Struct Reference + + + + + + + +
+

NvBlastSupportGraph Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + + + + + +

Public Attributes

uint32_t * adjacencyPartition
uint32_t * adjacentBondIndices
uint32_t * adjacentNodeIndices
uint32_t * chunkIndices
uint32_t nodeCount
+


Detailed Description

+Describes the connectivity between support chunks via bonds.

+Vertices in the support graph are termed "nodes," and represent particular chunks (NvBlastChunk) in an NvBlastAsset. The indexing for nodes is not the same as that for chunks. Only some chunks are represented by nodes in the graph, and these chunks are called "support chunks."

+Adjacent node indices and adjacent bond indices are stored for each node, and therefore each bond is represented twice in this graph, going from node[i] -> node[j] and from node[j] -> node[i]. Therefore the size of the adjacentNodeIndices and adjacentBondIndices arrays are twice the number of bonds stored in the corresponding NvBlastAsset.

+The graph is used as follows. Given a NvBlastSupportGraph "graph" and node index i, (0 <= i < graph.nodeCount), one may find all adjacent bonds and nodes using:

+adj is the lookup value in graph.adjacentNodeIndices and graph.adjacentBondIndices for (uint32_t adj = graph.adjacencyPartition[i]; adj < graph.adjacencyPartition[i+1]; ++adj) { An adjacent node: uint32_t adjacentNodeIndex = graph.adjacentNodeIndices[adj];

+The corresponding bond (that connects node index i with node indexed adjacentNodeIndex: uint32_t adjacentBondIndex = graph.adjacentBondIndices[adj]; }

+For a graph node with index i, the corresponding asset chunk index is found using graph.chunkIndices[i]. The reverse mapping (obtaining a graph node index from an asset chunk index) can be done using the

+NvBlastAssetGetChunkToGraphNodeMap(asset, logFn)

+function. See the documentation for its use. The returned "node index" for a non-support chunk is the invalid value 0xFFFFFFFF.


Member Data Documentation

+ +
+ +
+ +

+Partitions both the adjacentNodeIndices and the adjacentBondIndices arrays into subsets corresponding to each node. The size of this array is nodeCount+1. For 0 <= i < nodeCount, adjacencyPartition[i] is the index of the first element in adjacentNodeIndices (or adjacentBondIndices) for nodes adjacent to the node with index i. adjacencyPartition[nodeCount] is the size of the adjacentNodeIndices and adjacentBondIndices arrays. This allows one to easily count the number of nodes adjacent to a node with index i, using adjacencyPartition[i+1] - adjacencyPartition[i]. +

+

+ +

+ +
+ +

+Array composed of subarrays holding the indices of bonds (NvBlastBond) for a given node. The subarrays may be accessed through the adjacencyPartition array. +

+

+ +

+ +
+ +

+Array composed of subarrays holding the indices of nodes adjacent to a given node. The subarrays may be accessed through the adjacencyPartition array. +

+

+ +

+
+ + + + +
uint32_t* NvBlastSupportGraph::chunkIndices
+
+
+ +

+Indices of chunks represented by the nodes, an array of size nodeCount. +

+

+ +

+
+ + + + +
uint32_t NvBlastSupportGraph::nodeCount
+
+
+ +

+Total number of nodes in the support graph. +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_timers-members.html b/docs/api_docs/files/struct_nv_blast_timers-members.html new file mode 100644 index 0000000..0d9e116 --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_timers-members.html @@ -0,0 +1,35 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Member List + + + + + + + +
+

NvBlastTimers Member List

This is the complete list of members for NvBlastTimers, including all inherited members.

+ + + + + +
fractureNvBlastTimers
islandNvBlastTimers
materialNvBlastTimers
partitionNvBlastTimers
visibilityNvBlastTimers

+ + + + diff --git a/docs/api_docs/files/struct_nv_blast_timers.html b/docs/api_docs/files/struct_nv_blast_timers.html new file mode 100644 index 0000000..4429d0d --- /dev/null +++ b/docs/api_docs/files/struct_nv_blast_timers.html @@ -0,0 +1,142 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: NvBlastTimers Struct Reference + + + + + + + +
+

NvBlastTimers Struct Reference

#include <NvBlastTypes.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + +

Public Attributes

int64_t fracture
 Time spent applying damage.
int64_t island
 Time spent discovering islands.
int64_t material
 Time spent in material function.
int64_t partition
 Time spent partitioning the graph.
int64_t visibility
 Time spent updating visibility.
+


Detailed Description

+Time spent (in ticks) in various parts of Blast. These values may be filled in during the execution of various API functions. To convert to seconds, use NvBlastTicksToSeconds(ticks).

+In profile build configurations, if a pointer to an instance of this struct is passed into Blast functions with an NvBlastTimers argument, then Blast will add to appropriate fields the time measured in corresponding sections of code. The user must clear the timer fields with NvBlastTimersReset to initialize or reset.


Member Data Documentation

+ +
+
+ + + + +
int64_t NvBlastTimers::fracture
+
+
+ +

+Time spent applying damage. +

+ +

+

+ +

+
+ + + + +
int64_t NvBlastTimers::island
+
+
+ +

+Time spent discovering islands. +

+ +

+

+ +

+
+ + + + +
int64_t NvBlastTimers::material
+
+
+ +

+Time spent in material function. +

+ +

+

+ +

+
+ + + + +
int64_t NvBlastTimers::partition
+
+
+ +

+Time spent partitioning the graph. +

+ +

+

+ +

+
+ + + + +
int64_t NvBlastTimers::visibility
+
+
+ +

+Time spent updating visibility. +

+ +

+

+


The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/api_docs/files/tab_b.gif b/docs/api_docs/files/tab_b.gif new file mode 100644 index 0000000..0d62348 Binary files /dev/null and b/docs/api_docs/files/tab_b.gif differ diff --git a/docs/api_docs/files/tab_l.gif b/docs/api_docs/files/tab_l.gif new file mode 100644 index 0000000..9b1e633 Binary files /dev/null and b/docs/api_docs/files/tab_l.gif differ diff --git a/docs/api_docs/files/tab_r.gif b/docs/api_docs/files/tab_r.gif new file mode 100644 index 0000000..ce9dd9f Binary files /dev/null and b/docs/api_docs/files/tab_r.gif differ diff --git a/docs/api_docs/files/tabs.css b/docs/api_docs/files/tabs.css new file mode 100644 index 0000000..ab02c62 --- /dev/null +++ b/docs/api_docs/files/tabs.css @@ -0,0 +1,105 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : 80%; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : 80%; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI.current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI.current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.navpath +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; + text-align : center; + margin : 2px; + padding : 2px; +} diff --git a/docs/api_docs/files/tools_8txt.html b/docs/api_docs/files/tools_8txt.html new file mode 100644 index 0000000..9ac9ddf --- /dev/null +++ b/docs/api_docs/files/tools_8txt.html @@ -0,0 +1,32 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: docs/_source/tools.txt File Reference + + + + + + + +
+

docs/_source/tools.txt File Reference

+ +
+
+ + + + diff --git a/docs/api_docs/files/tree.html b/docs/api_docs/files/tree.html new file mode 100644 index 0000000..fcde27b --- /dev/null +++ b/docs/api_docs/files/tree.html @@ -0,0 +1,424 @@ + + + + + + + TreeView + + + + +
+

NVIDIA(R) Blast(R) SDK 1.0 API Reference

+
+

o*Release Notes

+

o+User's Guide

+ +

o+Class List

+
+

|o*Nv::Blast::ApexImporter::ApexImporterConfig

+

|o*Nv::Blast::ApexImporter::ApexImportTool

+

|o*Nv::Blast::BlastBondGenerator

+

|o*Nv::Blast::BondGenerationConfig

+

|o*Nv::Blast::ChunkInfo

+

|o*Nv::Blast::CollisionHull

+

|o*Nv::Blast::CollisionHull::CollisionHull::HullPolygon

+

|o*Nv::Blast::ConvexMeshBuilder

+

|o*Nv::Blast::DLink

+

|o*Nv::Blast::DList

+

|o*Nv::Blast::DList::DList::It

+

|o*Nv::Blast::DListIt< IndexType >

+

|o*Nv::Blast::Edge

+

|o*Nv::Blast::ExtImpactDamageManager

+

|o*Nv::Blast::ExtImpactSettings

+

|o*Nv::Blast::ExtPxActor

+

|o*Nv::Blast::ExtPxActorDescTemplate

+

|o*Nv::Blast::ExtPxAsset

+

|o*Nv::Blast::ExtPxAssetDesc

+

|o*Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc

+

|o*Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc

+

|o*Nv::Blast::ExtPxChunk

+

|o*Nv::Blast::ExtPxFamily

+

|o*Nv::Blast::ExtPxFamilyDesc

+

|o*Nv::Blast::ExtPxListener

+

|o*Nv::Blast::ExtPxManager

+

|o*Nv::Blast::ExtPxShapeDescTemplate

+

|o*Nv::Blast::ExtPxSpawnSettings

+

|o*Nv::Blast::ExtPxSubchunk

+

|o*Nv::Blast::ExtStressSolver

+

|o*Nv::Blast::ExtStressSolverSettings

+

|o*Nv::Blast::ExtSync

+

|o*Nv::Blast::ExtSyncEvent

+

|o*Nv::Blast::ExtSyncEventFamilySync

+

|o*Nv::Blast::ExtSyncEventFracture

+

|o*Nv::Blast::ExtSyncEventInstance< T, eventType >

+

|o*Nv::Blast::ExtSyncEventPhysicsSync

+

|o*Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData

+

|o*Nv::Blast::ExtSyncEventType

+

|o*Nv::Blast::Facet

+

|o*Nv::Blast::FixedArray< T >

+

|o*Nv::Blast::FixedBitmap

+

|o*Nv::Blast::FixedBoolArray

+

|o*Nv::Blast::FixedPriorityQueue< Element, Comparator >

+

|o*Nv::Blast::FractureTool

+

|o*Nv::Blast::IndexDLink< IndexType >

+

|o*Nv::Blast::IndexDList< IndexType >

+

|o*Nv::Blast::IteratorBase< T >

+

|o*Nv::Blast::Less< A >

+

|o*Nv::Blast::LListIt< IndexType >

+

|o*Nv::Blast::Mesh

+

|o*NvBlastActor

+

|o*NvBlastActorDesc

+

|o*NvBlastActorSplitEvent

+

|o*NvBlastAsset

+

|o*NvBlastAssetDataFormat

+

|o*NvBlastAssetDesc

+

|o*NvBlastBond

+

|o*NvBlastBondDesc

+

|o*NvBlastBondFractureData

+

|o*NvBlastChunk

+

|o*NvBlastChunkDesc

+

|o*NvBlastChunkFractureData

+

|o*NvBlastDamageProgram

+

|o*NvBlastDataBlock

+

|o*NvBlastExtMaterial

+

|o*NvBlastExtRadialDamageDesc

+

|o*NvBlastExtShearDamageDesc

+

|o*NvBlastFamily

+

|o*NvBlastFamilyDataFormat

+

|o*NvBlastFractureBuffers

+

|o*NvBlastGraphShaderActor

+

|o*NvBlastID

+

|o*NvBlastMessage

+

|o*NvBlastProfilerDetail

+

|o*NvBlastProgramParams

+

|o*NvBlastSubgraphShaderActor

+

|o*NvBlastSupportGraph

+

|o*NvBlastTimers

+

|o*Nv::Blast::PlaneChunkIndexer

+

|o*Nv::Blast::RandomGeneratorBase

+

|o*Nv::Blast::SlicingConfiguration

+

|o*Nv::Blast::Time

+

|o*Nv::Blast::TkActor

+

|o*Nv::Blast::TkActorData

+

|o*Nv::Blast::TkActorDesc

+

|o*Nv::Blast::TkAsset

+

|o*Nv::Blast::TkAssetDesc

+

|o*Nv::Blast::TkAssetJointDesc

+

|o*Nv::Blast::TkEvent

+

|o*Nv::Blast::TkEventListener

+

|o*Nv::Blast::TkFamily

+

|o*Nv::Blast::TkFractureCommands

+

|o*Nv::Blast::TkFractureEvents

+

|o*Nv::Blast::TkFramework

+

|o*Nv::Blast::TkFrameworkDesc

+

|o*Nv::Blast::TkGroup

+

|o*Nv::Blast::TkGroupDesc

+

|o*Nv::Blast::TkGroupStats

+

|o*Nv::Blast::TkIdentifiable

+

|o*Nv::Blast::TkJoint

+

|o*Nv::Blast::TkJointData

+

|o*Nv::Blast::TkJointDesc

+

|o*Nv::Blast::TkJointUpdateEvent

+

|o*Nv::Blast::TkObject

+

|o*Nv::Blast::TkSerializable

+

|o*Nv::Blast::TkSplitEvent

+

|o*Nv::Blast::TkType

+

|o*Nv::Blast::TkTypeIndex

+

|o*Nv::Blast::Triangle

+

|o*Nv::Blast::TriangleIndexed

+

|o*Nv::Blast::Vertex

+

|\*Nv::Blast::VoronoiSitesGenerator

+
+

o+Class Hierarchy

+
+

|o*Nv::Blast::ApexImporter::ApexImporterConfig

+

|o*Nv::Blast::ApexImporter::ApexImportTool

+

|o*Nv::Blast::BlastBondGenerator

+

|o*Nv::Blast::BondGenerationConfig

+

|o*Nv::Blast::ChunkInfo

+

|o*Nv::Blast::CollisionHull

+

|o*Nv::Blast::CollisionHull::CollisionHull::HullPolygon

+

|o*Nv::Blast::ConvexMeshBuilder

+

|o*Nv::Blast::DLink

+

|o*Nv::Blast::DList

+

|o*Nv::Blast::DList::DList::It

+

|o*Nv::Blast::Edge

+

|o*Nv::Blast::ExtImpactDamageManager

+

|o*Nv::Blast::ExtImpactSettings

+

|o*Nv::Blast::ExtPxActor

+

|o*Nv::Blast::ExtPxActorDescTemplate

+

|o*Nv::Blast::ExtPxAsset

+

|o*Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc

+

|o*Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc

+

|o*Nv::Blast::ExtPxChunk

+

|o*Nv::Blast::ExtPxFamily

+

|o*Nv::Blast::ExtPxFamilyDesc

+

|o*Nv::Blast::ExtPxListener

+

|o*Nv::Blast::ExtPxManager

+

|o*Nv::Blast::ExtPxShapeDescTemplate

+

|o*Nv::Blast::ExtPxSpawnSettings

+

|o*Nv::Blast::ExtPxSubchunk

+

|o*Nv::Blast::ExtStressSolver

+

|o*Nv::Blast::ExtStressSolverSettings

+

|o+Nv::Blast::ExtSyncEvent

+ +

|o*Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData

+

|o*Nv::Blast::ExtSyncEventType

+

|o*Nv::Blast::Facet

+

|o*Nv::Blast::FixedArray< T >

+

|o*Nv::Blast::FixedBitmap

+

|o*Nv::Blast::FixedBoolArray

+

|o*Nv::Blast::FixedPriorityQueue< Element, Comparator >

+

|o*Nv::Blast::FractureTool

+

|o*Nv::Blast::IndexDLink< IndexType >

+

|o*Nv::Blast::IndexDList< IndexType >

+

|o*Nv::Blast::IteratorBase< T >

+

|o+Nv::Blast::IteratorBase< IndexType >

+ +

|o*Nv::Blast::Less< A >

+

|o*Nv::Blast::Mesh

+

|o*NvBlastActor

+

|o+NvBlastActorDesc

+ +

|o*NvBlastActorSplitEvent

+

|o*NvBlastAsset

+

|o*NvBlastAssetDataFormat

+

|o+NvBlastAssetDesc

+ +

|o*NvBlastBond

+

|o*NvBlastBondDesc

+

|o*NvBlastBondFractureData

+

|o*NvBlastChunk

+

|o*NvBlastChunkDesc

+

|o*NvBlastChunkFractureData

+

|o*NvBlastDamageProgram

+

|o*NvBlastDataBlock

+

|o*NvBlastExtMaterial

+

|o*NvBlastExtRadialDamageDesc

+

|o*NvBlastExtShearDamageDesc

+

|o*NvBlastFamily

+

|o*NvBlastFamilyDataFormat

+

|o*NvBlastFractureBuffers

+

|o*NvBlastGraphShaderActor

+

|o*NvBlastID

+

|o*NvBlastMessage

+

|o*NvBlastProfilerDetail

+

|o*NvBlastProgramParams

+

|o*NvBlastSubgraphShaderActor

+

|o*NvBlastSupportGraph

+

|o*NvBlastTimers

+

|o*Nv::Blast::PlaneChunkIndexer

+

|o*Nv::Blast::RandomGeneratorBase

+

|o*Nv::Blast::SlicingConfiguration

+

|o*Nv::Blast::Time

+

|o*Nv::Blast::TkActorData

+

|o*Nv::Blast::TkAssetJointDesc

+

|o*Nv::Blast::TkEvent

+

|o+Nv::Blast::TkEventListener

+ +

|o*Nv::Blast::TkFractureCommands

+

|o*Nv::Blast::TkFractureEvents

+

|o*Nv::Blast::TkFramework

+

|o*Nv::Blast::TkFrameworkDesc

+

|o*Nv::Blast::TkGroupDesc

+

|o*Nv::Blast::TkGroupStats

+

|o*Nv::Blast::TkJointData

+

|o*Nv::Blast::TkJointDesc

+

|o*Nv::Blast::TkJointUpdateEvent

+

|o+Nv::Blast::TkObject

+ +

|o*Nv::Blast::TkSplitEvent

+

|o*Nv::Blast::TkType

+

|o*Nv::Blast::TkTypeIndex

+

|o*Nv::Blast::Triangle

+

|o*Nv::Blast::TriangleIndexed

+

|o*Nv::Blast::Vertex

+

|\*Nv::Blast::VoronoiSitesGenerator

+
+

o*Class Members

+

o+Namespace List

+ +

o*Namespace Members

+

o+File List

+
+

|o*sdk/common/NvBlastAssert.h

+

|o*sdk/common/NvBlastAtomic.h

+

|o*sdk/common/NvBlastDLink.h

+

|o*sdk/common/NvBlastFixedArray.h

+

|o*sdk/common/NvBlastFixedBitmap.h

+

|o*sdk/common/NvBlastFixedBoolArray.h

+

|o*sdk/common/NvBlastFixedPriorityQueue.h

+

|o*sdk/common/NvBlastGeometry.h

+

|o*sdk/common/NvBlastIncludeWindows.h

+

|o*sdk/common/NvBlastIndexFns.h

+

|o*sdk/common/NvBlastIteratorBase.h

+

|o*sdk/common/NvBlastMath.h

+

|o*sdk/common/NvBlastMemory.h

+

|o*sdk/common/NvBlastPreprocessorInternal.h

+

|o*sdk/common/NvBlastTime.h

+

|o*sdk/extensions/authoring/include/NvBlastExtAuthoringBondGenerator.h

+

|o*sdk/extensions/authoring/include/NvBlastExtAuthoringCollisionBuilder.h

+

|o*sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h

+

|o*sdk/extensions/authoring/include/NvBlastExtAuthoringMesh.h

+

|o*sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h

+

|o*sdk/extensions/converter/include/NvBlastExtDataConverter.h

+

|o*sdk/extensions/import/include/NvBlastExtApexImportTool.h

+

|o*sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h

+

|o*sdk/extensions/physx/include/NvBlastExtPx.h

+

|o*sdk/extensions/physx/include/NvBlastExtPxActor.h

+

|o*sdk/extensions/physx/include/NvBlastExtPxAsset.h

+

|o*sdk/extensions/physx/include/NvBlastExtPxFamily.h

+

|o*sdk/extensions/physx/include/NvBlastExtPxListener.h

+

|o*sdk/extensions/physx/include/NvBlastExtPxManager.h

+

|o*sdk/extensions/physx/include/NvBlastExtStressSolver.h

+

|o*sdk/extensions/physx/include/NvBlastExtSync.h

+

|o*sdk/extensions/serialization/include/NvBlastExtSerializationInterface.h

+

|o*sdk/extensions/serialization/include/NvBlastExtSerializationLLInterface.h

+

|o*sdk/extensions/shaders/include/NvBlastExtDamageShaders.h

+

|o*sdk/lowlevel/include/NvBlast.h

+

|o*sdk/lowlevel/include/NvBlastPreprocessor.h

+

|o*sdk/lowlevel/include/NvBlastProfiler.h

+

|o*sdk/lowlevel/include/NvBlastTypes.h

+

|o*sdk/profiler/NvBlastProfilerInternal.h

+

|o*sdk/toolkit/include/NvBlastTk.h

+

|o*sdk/toolkit/include/NvBlastTkActor.h

+

|o*sdk/toolkit/include/NvBlastTkAsset.h

+

|o*sdk/toolkit/include/NvBlastTkEvent.h

+

|o*sdk/toolkit/include/NvBlastTkFamily.h

+

|o*sdk/toolkit/include/NvBlastTkFramework.h

+

|o*sdk/toolkit/include/NvBlastTkGroup.h

+

|o*sdk/toolkit/include/NvBlastTkIdentifiable.h

+

|o*sdk/toolkit/include/NvBlastTkJoint.h

+

|o*sdk/toolkit/include/NvBlastTkObject.h

+

|o*sdk/toolkit/include/NvBlastTkSerializable.h

+

|\*sdk/toolkit/include/NvBlastTkType.h

+
+

\*File Members

+
+
+ diff --git a/docs/api_docs/index.html b/docs/api_docs/index.html new file mode 100644 index 0000000..8799d0a --- /dev/null +++ b/docs/api_docs/index.html @@ -0,0 +1,4 @@ + + + + -- cgit v1.2.3