From 236f03c0b9a4982328ed1201978f7f69d192d9b2 Mon Sep 17 00:00:00 2001 From: Anton Novoselov Date: Tue, 1 Aug 2017 12:53:38 +0300 Subject: Blast 1.1 release (windows / linux) see docs/release_notes.txt for details --- docs/source_docs/files/_asset_d_t_o_8h-source.html | 52 +- docs/source_docs/files/_asset_d_t_o_8h.html | 4 +- .../source_docs/files/_d_t_o_macros_8h-source.html | 87 +- docs/source_docs/files/_d_t_o_macros_8h.html | 48 +- .../files/_ext_px_asset_d_t_o_8h-source.html | 52 +- docs/source_docs/files/_ext_px_asset_d_t_o_8h.html | 4 +- .../files/_ext_px_chunk_d_t_o_8h-source.html | 52 +- docs/source_docs/files/_ext_px_chunk_d_t_o_8h.html | 4 +- .../files/_ext_px_subchunk_d_t_o_8h-source.html | 52 +- .../files/_ext_px_subchunk_d_t_o_8h.html | 4 +- docs/source_docs/files/_nv_blast_8h-source.html | 485 ++--- docs/source_docs/files/_nv_blast_8h.html | 185 +- .../files/_nv_blast_actor_8h-source.html | 766 ++++---- docs/source_docs/files/_nv_blast_actor_8h.html | 43 +- ..._blast_actor_serialization_block_8h-source.html | 188 +- .../_nv_blast_actor_serialization_block_8h.html | 2 +- .../files/_nv_blast_allocator_8h-source.html | 106 ++ docs/source_docs/files/_nv_blast_allocator_8h.html | 60 + .../files/_nv_blast_array_8h-source.html | 103 ++ docs/source_docs/files/_nv_blast_array_8h.html | 63 + .../files/_nv_blast_assert_8h-source.html | 146 +- docs/source_docs/files/_nv_blast_assert_8h.html | 8 +- .../files/_nv_blast_asset_8h-source.html | 306 ++-- docs/source_docs/files/_nv_blast_asset_8h.html | 2 +- .../files/_nv_blast_atomic_8h-source.html | 82 +- docs/source_docs/files/_nv_blast_atomic_8h.html | 2 +- .../files/_nv_blast_bond_d_t_o_8h-source.html | 52 +- .../source_docs/files/_nv_blast_bond_d_t_o_8h.html | 4 +- .../files/_nv_blast_chunk_d_t_o_8h-source.html | 56 +- .../files/_nv_blast_chunk_d_t_o_8h.html | 4 +- .../files/_nv_blast_chunk_hierarchy_8h-source.html | 456 ++--- .../files/_nv_blast_chunk_hierarchy_8h.html | 2 +- .../files/_nv_blast_d_link_8h-source.html | 562 +++--- docs/source_docs/files/_nv_blast_d_link_8h.html | 2 +- .../files/_nv_blast_ext_allocator_8h-source.html | 144 -- .../files/_nv_blast_ext_allocator_8h.html | 63 - .../_nv_blast_ext_apex_destruction_8h-source.html | 170 +- .../files/_nv_blast_ext_apex_destruction_8h.html | 2 +- .../_nv_blast_ext_apex_import_tool_8h-source.html | 249 +-- .../files/_nv_blast_ext_apex_import_tool_8h.html | 2 +- .../_nv_blast_ext_apex_shared_parts_8h-source.html | 111 +- .../files/_nv_blast_ext_apex_shared_parts_8h.html | 5 +- .../files/_nv_blast_ext_array_8h-source.html | 85 - docs/source_docs/files/_nv_blast_ext_array_8h.html | 63 - ..._block_version_converter__v0__v1_8h-source.html | 132 -- ...t_asset_block_version_converter__v0__v1_8h.html | 66 - .../files/_nv_blast_ext_asset_utils_8h-source.html | 117 ++ .../files/_nv_blast_ext_asset_utils_8h.html | 241 +++ .../files/_nv_blast_ext_authoring_8h-source.html | 117 ++ .../files/_nv_blast_ext_authoring_8h.html | 333 ++++ ..._blast_ext_authoring_accelerator_8h-source.html | 224 +-- .../_nv_blast_ext_authoring_accelerator_8h.html | 2 +- ...ast_ext_authoring_bond_generator_8h-source.html | 194 +- .../_nv_blast_ext_authoring_bond_generator_8h.html | 9 +- ...xt_authoring_bond_generator_impl_8h-source.html | 144 ++ ...blast_ext_authoring_bond_generator_impl_8h.html | 65 + ...blast_ext_authoring_boolean_tool_8h-source.html | 258 +-- .../_nv_blast_ext_authoring_boolean_tool_8h.html | 2 +- ..._ext_authoring_collision_builder_8h-source.html | 151 +- ...v_blast_ext_authoring_collision_builder_8h.html | 8 +- ...authoring_collision_builder_impl_8h-source.html | 114 ++ ...st_ext_authoring_collision_builder_impl_8h.html | 63 + ...last_ext_authoring_fracture_tool_8h-source.html | 368 ++-- .../_nv_blast_ext_authoring_fracture_tool_8h.html | 5 +- ...ext_authoring_fracture_tool_impl_8h-source.html | 197 ++ ..._blast_ext_authoring_fracture_tool_impl_8h.html | 64 + ...st_ext_authoring_internal_common_8h-source.html | 390 ++-- ..._nv_blast_ext_authoring_internal_common_8h.html | 24 +- .../_nv_blast_ext_authoring_mesh_8h-source.html | 163 +- .../files/_nv_blast_ext_authoring_mesh_8h.html | 14 +- ...blast_ext_authoring_mesh_cleaner_8h-source.html | 99 ++ .../_nv_blast_ext_authoring_mesh_cleaner_8h.html | 60 + ..._ext_authoring_mesh_cleaner_impl_8h-source.html | 64 + ...v_blast_ext_authoring_mesh_cleaner_impl_8h.html | 60 + ...nv_blast_ext_authoring_mesh_impl_8h-source.html | 138 ++ .../_nv_blast_ext_authoring_mesh_impl_8h.html | 72 + ..._blast_ext_authoring_mesh_noiser_8h-source.html | 198 +++ .../_nv_blast_ext_authoring_mesh_noiser_8h.html | 64 + ...blast_ext_authoring_perlin_noise_8h-source.html | 680 +++---- .../_nv_blast_ext_authoring_perlin_noise_8h.html | 2 +- ...blast_ext_authoring_triangulator_8h-source.html | 299 ++-- .../_nv_blast_ext_authoring_triangulator_8h.html | 10 +- .../_nv_blast_ext_authoring_types_8h-source.html | 318 ++-- .../files/_nv_blast_ext_authoring_types_8h.html | 43 +- .../_nv_blast_ext_authoring_v_s_a_8h-source.html | 630 +++---- .../files/_nv_blast_ext_authoring_v_s_a_8h.html | 2 +- ...blast_ext_binary_block_converter_8h-source.html | 93 - .../_nv_blast_ext_binary_block_converter_8h.html | 64 - .../_nv_blast_ext_custom_profiler_8h-source.html | 187 ++ .../files/_nv_blast_ext_custom_profiler_8h.html | 127 ++ .../_nv_blast_ext_damage_shaders_8h-source.html | 166 +- .../files/_nv_blast_ext_damage_shaders_8h.html | 82 +- .../_nv_blast_ext_data_converter_8h-source.html | 73 - .../files/_nv_blast_ext_data_converter_8h.html | 61 - .../files/_nv_blast_ext_defs_8h-source.html | 97 - docs/source_docs/files/_nv_blast_ext_defs_8h.html | 374 ---- .../files/_nv_blast_ext_exporter_8h-source.html | 202 +++ .../files/_nv_blast_ext_exporter_8h.html | 165 ++ ...nv_blast_ext_exporter_fbx_reader_8h-source.html | 161 ++ .../_nv_blast_ext_exporter_fbx_reader_8h.html | 65 + ..._nv_blast_ext_exporter_fbx_utils_8h-source.html | 111 ++ .../files/_nv_blast_ext_exporter_fbx_utils_8h.html | 63 + ...nv_blast_ext_exporter_fbx_writer_8h-source.html | 155 ++ .../_nv_blast_ext_exporter_fbx_writer_8h.html | 65 + ...last_ext_exporter_json_collision_8h-source.html | 98 + .../_nv_blast_ext_exporter_json_collision_8h.html | 60 + ...nv_blast_ext_exporter_obj_reader_8h-source.html | 136 ++ .../_nv_blast_ext_exporter_obj_reader_8h.html | 63 + ...nv_blast_ext_exporter_obj_writer_8h-source.html | 111 ++ .../_nv_blast_ext_exporter_obj_writer_8h.html | 64 + .../files/_nv_blast_ext_globals_8h-source.html | 51 - .../files/_nv_blast_ext_globals_8h.html | 106 -- .../files/_nv_blast_ext_hash_map_8h-source.html | 78 - .../files/_nv_blast_ext_hash_map_8h.html | 61 - .../files/_nv_blast_ext_hash_set_8h-source.html | 77 - .../files/_nv_blast_ext_hash_set_8h.html | 61 - ..._blast_ext_impact_damage_manager_8h-source.html | 193 +- .../_nv_blast_ext_impact_damage_manager_8h.html | 2 +- ..._blast_ext_impulse_stress_solver_8h-source.html | 202 --- .../_nv_blast_ext_impulse_stress_solver_8h.html | 72 - .../_nv_blast_ext_input_stream_8h-source.html | 85 +- .../files/_nv_blast_ext_input_stream_8h.html | 2 +- ...nv_blast_ext_k_j_px_input_stream_8h-source.html | 103 +- .../_nv_blast_ext_k_j_px_input_stream_8h.html | 4 +- ...v_blast_ext_k_j_px_output_stream_8h-source.html | 99 +- .../_nv_blast_ext_k_j_px_output_stream_8h.html | 2 +- ...blast_ext_ll_serialization_8capn_8h-source.html | 1615 +++++++++++++++++ .../_nv_blast_ext_ll_serialization_8capn_8h.html | 146 ++ .../_nv_blast_ext_ll_serialization_8h-source.html | 111 ++ .../files/_nv_blast_ext_ll_serialization_8h.html | 188 ++ ..._blast_ext_ll_serializer_c_a_p_n_8h-source.html | 111 ++ .../_nv_blast_ext_ll_serializer_c_a_p_n_8h.html | 59 + .../_nv_blast_ext_output_stream_8h-source.html | 85 +- .../files/_nv_blast_ext_output_stream_8h.html | 2 +- .../files/_nv_blast_ext_px_8h-source.html | 60 +- docs/source_docs/files/_nv_blast_ext_px_8h.html | 2 +- .../files/_nv_blast_ext_px_actor_8h-source.html | 122 +- .../files/_nv_blast_ext_px_actor_8h.html | 2 +- .../_nv_blast_ext_px_actor_impl_8h-source.html | 186 +- .../files/_nv_blast_ext_px_actor_impl_8h.html | 4 +- .../files/_nv_blast_ext_px_asset_8h-source.html | 256 +-- .../files/_nv_blast_ext_px_asset_8h.html | 2 +- .../_nv_blast_ext_px_asset_impl_8h-source.html | 253 +-- .../files/_nv_blast_ext_px_asset_impl_8h.html | 40 +- .../files/_nv_blast_ext_px_family_8h-source.html | 256 +-- .../files/_nv_blast_ext_px_family_8h.html | 2 +- .../_nv_blast_ext_px_family_impl_8h-source.html | 332 ++-- .../files/_nv_blast_ext_px_family_impl_8h.html | 6 +- .../files/_nv_blast_ext_px_listener_8h-source.html | 96 +- .../files/_nv_blast_ext_px_listener_8h.html | 2 +- .../files/_nv_blast_ext_px_manager_8h-source.html | 246 +-- .../files/_nv_blast_ext_px_manager_8h.html | 2 +- .../_nv_blast_ext_px_manager_impl_8h-source.html | 396 +++-- .../files/_nv_blast_ext_px_manager_impl_8h.html | 6 +- ...blast_ext_px_serialization_8capn_8h-source.html | 1539 ++++++++++++++++ .../_nv_blast_ext_px_serialization_8capn_8h.html | 167 ++ .../_nv_blast_ext_px_serialization_8h-source.html | 114 ++ .../files/_nv_blast_ext_px_serialization_8h.html | 163 ++ ..._blast_ext_px_serializer_c_a_p_n_8h-source.html | 109 ++ .../_nv_blast_ext_px_serializer_c_a_p_n_8h.html | 59 + ...nv_blast_ext_px_serializer_r_a_w_8h-source.html | 100 ++ .../_nv_blast_ext_px_serializer_r_a_w_8h.html | 62 + .../_nv_blast_ext_px_stress_solver_8h-source.html | 109 ++ .../files/_nv_blast_ext_px_stress_solver_8h.html | 61 + ..._blast_ext_px_stress_solver_impl_8h-source.html | 127 ++ .../_nv_blast_ext_px_stress_solver_impl_8h.html | 63 + .../files/_nv_blast_ext_px_task_8h-source.html | 118 ++ .../files/_nv_blast_ext_px_task_8h.html | 62 + .../_nv_blast_ext_px_task_impl_8h-source.html | 229 +++ .../files/_nv_blast_ext_px_task_impl_8h.html | 71 + .../_nv_blast_ext_scoped_resource_8h-source.html | 316 ++-- .../files/_nv_blast_ext_scoped_resource_8h.html | 2 +- ...nv_blast_ext_serialization_8capn_8h-source.html | 1878 -------------------- .../_nv_blast_ext_serialization_8capn_8h.html | 203 --- .../_nv_blast_ext_serialization_8h-source.html | 242 +-- .../files/_nv_blast_ext_serialization_8h.html | 44 +- ..._blast_ext_serialization_c_a_p_n_8h-source.html | 232 +++ .../_nv_blast_ext_serialization_c_a_p_n_8h.html | 64 + ..._nv_blast_ext_serialization_impl_8h-source.html | 119 -- .../files/_nv_blast_ext_serialization_impl_8h.html | 61 - ...last_ext_serialization_interface_8h-source.html | 82 - .../_nv_blast_ext_serialization_interface_8h.html | 410 ----- ...blast_ext_serialization_internal_8h-source.html | 280 +++ .../_nv_blast_ext_serialization_internal_8h.html | 177 ++ ...last_ext_serialization_l_l_8capn_8h-source.html | 1585 ----------------- .../_nv_blast_ext_serialization_l_l_8capn_8h.html | 146 -- ...blast_ext_serialization_l_l_impl_8h-source.html | 92 - .../_nv_blast_ext_serialization_l_l_impl_8h.html | 59 - ..._ext_serialization_l_l_interface_8h-source.html | 87 - ...v_blast_ext_serialization_l_l_interface_8h.html | 265 --- .../_nv_blast_ext_stress_solver_8h-source.html | 263 ++- .../files/_nv_blast_ext_stress_solver_8h.html | 12 +- .../files/_nv_blast_ext_sync_8h-source.html | 258 +-- docs/source_docs/files/_nv_blast_ext_sync_8h.html | 4 +- ...blast_ext_tk_serialization_8capn_8h-source.html | 583 ++++++ .../_nv_blast_ext_tk_serialization_8capn_8h.html | 102 ++ .../_nv_blast_ext_tk_serialization_8h-source.html | 104 ++ .../files/_nv_blast_ext_tk_serialization_8h.html | 149 ++ ..._blast_ext_tk_serializer_c_a_p_n_8h-source.html | 109 ++ .../_nv_blast_ext_tk_serializer_c_a_p_n_8h.html | 59 + ...nv_blast_ext_tk_serializer_r_a_w_8h-source.html | 93 + .../_nv_blast_ext_tk_serializer_r_a_w_8h.html | 60 + ..._nv_blast_ext_triangle_processor_8h-source.html | 236 +-- .../files/_nv_blast_ext_triangle_processor_8h.html | 2 +- .../files/_nv_blast_family_8h-source.html | 371 ++-- docs/source_docs/files/_nv_blast_family_8h.html | 5 +- .../files/_nv_blast_family_graph_8h-source.html | 309 ++-- .../files/_nv_blast_family_graph_8h.html | 3 +- .../files/_nv_blast_fixed_array_8h-source.html | 212 ++- .../files/_nv_blast_fixed_array_8h.html | 2 +- .../files/_nv_blast_fixed_bitmap_8h-source.html | 202 ++- .../files/_nv_blast_fixed_bitmap_8h.html | 2 +- .../_nv_blast_fixed_bool_array_8h-source.html | 184 +- .../files/_nv_blast_fixed_bool_array_8h.html | 2 +- .../_nv_blast_fixed_priority_queue_8h-source.html | 326 ++-- .../files/_nv_blast_fixed_priority_queue_8h.html | 2 +- .../files/_nv_blast_geometry_8h-source.html | 316 ++-- docs/source_docs/files/_nv_blast_geometry_8h.html | 9 +- .../files/_nv_blast_globals_8h-source.html | 219 +++ docs/source_docs/files/_nv_blast_globals_8h.html | 578 ++++++ .../files/_nv_blast_hash_map_8h-source.html | 96 + docs/source_docs/files/_nv_blast_hash_map_8h.html | 61 + .../files/_nv_blast_hash_set_8h-source.html | 95 + docs/source_docs/files/_nv_blast_hash_set_8h.html | 61 + .../files/_nv_blast_i_d_d_t_o_8h-source.html | 52 +- docs/source_docs/files/_nv_blast_i_d_d_t_o_8h.html | 4 +- .../files/_nv_blast_include_windows_8h-source.html | 183 +- .../files/_nv_blast_include_windows_8h.html | 2 +- .../files/_nv_blast_index_fns_8h-source.html | 180 +- docs/source_docs/files/_nv_blast_index_fns_8h.html | 2 +- .../files/_nv_blast_iterator_base_8h-source.html | 242 +-- .../files/_nv_blast_iterator_base_8h.html | 2 +- .../files/_nv_blast_math_8h-source.html | 170 +- docs/source_docs/files/_nv_blast_math_8h.html | 6 +- .../files/_nv_blast_memory_8h-source.html | 228 +-- docs/source_docs/files/_nv_blast_memory_8h.html | 2 +- .../files/_nv_blast_preprocessor_8h-source.html | 68 +- .../files/_nv_blast_preprocessor_8h.html | 102 +- .../_nv_blast_preprocessor_internal_8h-source.html | 94 +- .../files/_nv_blast_preprocessor_internal_8h.html | 114 +- .../files/_nv_blast_profiler_8h-source.html | 112 +- docs/source_docs/files/_nv_blast_profiler_8h.html | 50 +- .../_nv_blast_profiler_internal_8h-source.html | 147 +- .../files/_nv_blast_profiler_internal_8h.html | 34 +- .../files/_nv_blast_px_callbacks_8h-source.html | 112 ++ .../files/_nv_blast_px_callbacks_8h.html | 99 ++ .../files/_nv_blast_support_graph_8h-source.html | 141 +- .../files/_nv_blast_support_graph_8h.html | 3 +- .../files/_nv_blast_time_8h-source.html | 215 +-- docs/source_docs/files/_nv_blast_time_8h.html | 2 +- docs/source_docs/files/_nv_blast_tk_8h-source.html | 66 +- docs/source_docs/files/_nv_blast_tk_8h.html | 2 +- .../files/_nv_blast_tk_actor_8h-source.html | 178 +- docs/source_docs/files/_nv_blast_tk_actor_8h.html | 2 +- .../files/_nv_blast_tk_actor_impl_8h-source.html | 564 +++--- .../files/_nv_blast_tk_actor_impl_8h.html | 2 +- .../files/_nv_blast_tk_allocator_8h-source.html | 90 - .../files/_nv_blast_tk_allocator_8h.html | 60 - .../files/_nv_blast_tk_array_8h-source.html | 85 - docs/source_docs/files/_nv_blast_tk_array_8h.html | 63 - .../files/_nv_blast_tk_asset_8h-source.html | 128 +- docs/source_docs/files/_nv_blast_tk_asset_8h.html | 4 +- .../files/_nv_blast_tk_asset_impl_8h-source.html | 233 +-- .../files/_nv_blast_tk_asset_impl_8h.html | 4 +- .../files/_nv_blast_tk_common_8h-source.html | 215 ++- docs/source_docs/files/_nv_blast_tk_common_8h.html | 102 +- .../files/_nv_blast_tk_event_8h-source.html | 244 +-- docs/source_docs/files/_nv_blast_tk_event_8h.html | 2 +- .../files/_nv_blast_tk_event_queue_8h-source.html | 345 ++-- .../files/_nv_blast_tk_event_queue_8h.html | 3 +- .../files/_nv_blast_tk_family_8h-source.html | 136 +- docs/source_docs/files/_nv_blast_tk_family_8h.html | 4 +- .../files/_nv_blast_tk_family_impl_8h-source.html | 449 ++--- .../files/_nv_blast_tk_family_impl_8h.html | 6 +- .../files/_nv_blast_tk_framework_8h-source.html | 314 ++-- .../files/_nv_blast_tk_framework_8h.html | 18 +- .../_nv_blast_tk_framework_impl_8h-source.html | 312 ++-- .../files/_nv_blast_tk_framework_impl_8h.html | 344 +--- .../files/_nv_blast_tk_g_u_i_d_8h-source.html | 225 +-- .../source_docs/files/_nv_blast_tk_g_u_i_d_8h.html | 2 +- .../files/_nv_blast_tk_group_8h-source.html | 170 +- docs/source_docs/files/_nv_blast_tk_group_8h.html | 6 +- .../files/_nv_blast_tk_group_impl_8h-source.html | 292 +-- .../files/_nv_blast_tk_group_impl_8h.html | 2 +- .../files/_nv_blast_tk_hash_map_8h-source.html | 78 - .../files/_nv_blast_tk_hash_map_8h.html | 61 - .../files/_nv_blast_tk_hash_set_8h-source.html | 78 - .../files/_nv_blast_tk_hash_set_8h.html | 61 - .../files/_nv_blast_tk_identifiable_8h-source.html | 106 +- .../files/_nv_blast_tk_identifiable_8h.html | 2 +- .../files/_nv_blast_tk_joint_8h-source.html | 100 +- docs/source_docs/files/_nv_blast_tk_joint_8h.html | 2 +- .../files/_nv_blast_tk_joint_impl_8h-source.html | 216 +-- .../files/_nv_blast_tk_joint_impl_8h.html | 2 +- .../files/_nv_blast_tk_object_8h-source.html | 98 +- docs/source_docs/files/_nv_blast_tk_object_8h.html | 2 +- .../files/_nv_blast_tk_serializable_8h-source.html | 91 - .../files/_nv_blast_tk_serializable_8h.html | 64 - .../files/_nv_blast_tk_task_impl_8h-source.html | 586 +++--- .../files/_nv_blast_tk_task_impl_8h.html | 17 +- .../files/_nv_blast_tk_type_8h-source.html | 98 +- docs/source_docs/files/_nv_blast_tk_type_8h.html | 2 +- .../files/_nv_blast_tk_type_impl_8h-source.html | 210 ++- .../files/_nv_blast_tk_type_impl_8h.html | 9 +- .../files/_nv_blast_types_8h-source.html | 538 +++--- docs/source_docs/files/_nv_blast_types_8h.html | 6 +- docs/source_docs/files/_nv_c_types_8h-source.html | 154 ++ docs/source_docs/files/_nv_c_types_8h.html | 80 + .../files/_nv_preprocessor_8h-source.html | 4 +- docs/source_docs/files/_nv_preprocessor_8h.html | 2 +- .../_px_convex_mesh_geometry_d_t_o_8h-source.html | 54 +- .../files/_px_convex_mesh_geometry_d_t_o_8h.html | 4 +- .../files/_px_mesh_scale_d_t_o_8h-source.html | 54 +- .../source_docs/files/_px_mesh_scale_d_t_o_8h.html | 4 +- .../files/_px_quat_d_t_o_8h-source.html | 54 +- docs/source_docs/files/_px_quat_d_t_o_8h.html | 4 +- .../files/_px_transform_d_t_o_8h-source.html | 54 +- docs/source_docs/files/_px_transform_d_t_o_8h.html | 4 +- .../files/_px_vec3_d_t_o_8h-source.html | 53 +- docs/source_docs/files/_px_vec3_d_t_o_8h.html | 5 +- .../files/_tk_asset_d_t_o_8h-source.html | 53 +- docs/source_docs/files/_tk_asset_d_t_o_8h.html | 5 +- .../_tk_asset_joint_desc_d_t_o_8h-source.html | 53 +- .../files/_tk_asset_joint_desc_d_t_o_8h.html | 5 +- docs/source_docs/files/annotated.html | 116 +- .../source_docs/files/class_fbx_utils-members.html | 60 + docs/source_docs/files/class_fbx_utils.html | 345 ++++ .../class_nv_1_1_blast_1_1_actor-members.html | 9 +- .../files/class_nv_1_1_blast_1_1_actor.html | 338 +--- ..._blast_1_1_actor_1_1_graph_node_it-members.html | 2 +- ...s_nv_1_1_blast_1_1_actor_1_1_graph_node_it.html | 2 +- ...ast_1_1_actor_1_1_visible_chunk_it-members.html | 2 +- ...v_1_1_blast_1_1_actor_1_1_visible_chunk_it.html | 2 +- .../class_nv_1_1_blast_1_1_allocator-members.html | 52 + .../files/class_nv_1_1_blast_1_1_allocator.html | 144 ++ ...v_1_1_blast_1_1_allocator_callback-members.html | 52 + .../class_nv_1_1_blast_1_1_allocator_callback.html | 176 ++ ...apex_importer_1_1_apex_destruction-members.html | 2 +- ...ast_1_1_apex_importer_1_1_apex_destruction.html | 2 +- ...apex_importer_1_1_apex_import_tool-members.html | 7 +- ...ast_1_1_apex_importer_1_1_apex_import_tool.html | 47 +- ..._1_apex_importer_1_1_apex_releaser-members.html | 2 +- ..._blast_1_1_apex_importer_1_1_apex_releaser.html | 2 +- ...apex_importer_1_1_default_releaser-members.html | 2 +- ...ast_1_1_apex_importer_1_1_default_releaser.html | 2 +- ..._apex_importer_1_1_scoped_resource-members.html | 2 +- ...last_1_1_apex_importer_1_1_scoped_resource.html | 2 +- .../class_nv_1_1_blast_1_1_asset-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_asset.html | 6 +- ...blast_1_1_asset_1_1_depth_first_it-members.html | 2 +- ..._nv_1_1_blast_1_1_asset_1_1_depth_first_it.html | 2 +- ..._blast_1_1_b_box_based_accelerator-members.html | 6 +- ...s_nv_1_1_blast_1_1_b_box_based_accelerator.html | 20 +- ...1_blast_1_1_binary_block_converter-members.html | 51 - ...ss_nv_1_1_blast_1_1_binary_block_converter.html | 135 -- ...ck_converter_1_1_version_converter-members.html | 52 - ...nary_block_converter_1_1_version_converter.html | 149 -- ...inary_block_converter_1_1_version_converter.png | Bin 1068 -> 0 bytes ...1_1_blast_1_1_blast_bond_generator-members.html | 13 +- ...lass_nv_1_1_blast_1_1_blast_bond_generator.html | 214 ++- ...class_nv_1_1_blast_1_1_blast_bond_generator.png | Bin 0 -> 642 bytes ...last_1_1_blast_bond_generator_impl-members.html | 56 + ...nv_1_1_blast_1_1_blast_bond_generator_impl.html | 400 +++++ ..._nv_1_1_blast_1_1_blast_bond_generator_impl.png | Bin 0 -> 634 bytes ...nv_1_1_blast_1_1_boolean_evaluator-members.html | 16 +- .../class_nv_1_1_blast_1_1_boolean_evaluator.html | 53 +- ...1_1_blast_1_1_chunk_depth_first_it-members.html | 2 +- ...lass_nv_1_1_blast_1_1_chunk_depth_first_it.html | 2 +- ...1_1_blast_1_1_chunk_post_processor-members.html | 65 - ...lass_nv_1_1_blast_1_1_chunk_post_processor.html | 361 ---- ..._1_1_blast_1_1_convex_mesh_builder-members.html | 13 +- ...class_nv_1_1_blast_1_1_convex_mesh_builder.html | 138 +- .../class_nv_1_1_blast_1_1_convex_mesh_builder.png | Bin 0 -> 650 bytes ...blast_1_1_convex_mesh_builder_impl-members.html | 56 + ..._nv_1_1_blast_1_1_convex_mesh_builder_impl.html | 282 +++ ...s_nv_1_1_blast_1_1_convex_mesh_builder_impl.png | Bin 0 -> 645 bytes .../class_nv_1_1_blast_1_1_d_list-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_d_list.html | 2 +- ...ass_nv_1_1_blast_1_1_d_list_1_1_it-members.html | 2 +- .../class_nv_1_1_blast_1_1_d_list_1_1_it.html | 2 +- .../class_nv_1_1_blast_1_1_d_list_it-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_d_list_it.html | 2 +- ...nv_1_1_blast_1_1_dummy_accelerator-members.html | 4 +- .../class_nv_1_1_blast_1_1_dummy_accelerator.html | 14 +- ...ss_nv_1_1_blast_1_1_error_callback-members.html | 51 + .../class_nv_1_1_blast_1_1_error_callback.html | 144 ++ ..._1_blast_1_1_ext_aligned_allocator-members.html | 52 - ...ass_nv_1_1_blast_1_1_ext_aligned_allocator.html | 153 -- ...ass_nv_1_1_blast_1_1_ext_allocator-members.html | 56 - .../class_nv_1_1_blast_1_1_ext_allocator.html | 259 --- ...v_1_1_blast_1_1_ext_atomic_counter-members.html | 53 + .../class_nv_1_1_blast_1_1_ext_atomic_counter.html | 149 ++ ..._1_1_blast_1_1_ext_custom_profiler-members.html | 54 + ...class_nv_1_1_blast_1_1_ext_custom_profiler.html | 161 ++ .../class_nv_1_1_blast_1_1_ext_custom_profiler.png | Bin 0 -> 573 bytes ...1_blast_1_1_ext_group_task_manager-members.html | 56 + ...ss_nv_1_1_blast_1_1_ext_group_task_manager.html | 250 +++ ...ass_nv_1_1_blast_1_1_ext_group_task_manager.png | Bin 0 -> 727 bytes ...st_1_1_ext_group_task_manager_impl-members.html | 58 + ..._1_1_blast_1_1_ext_group_task_manager_impl.html | 227 +++ ...v_1_1_blast_1_1_ext_group_task_manager_impl.png | Bin 0 -> 719 bytes ..._1_blast_1_1_ext_group_worker_task-members.html | 54 + ...ass_nv_1_1_blast_1_1_ext_group_worker_task.html | 184 ++ ...lass_nv_1_1_blast_1_1_ext_i_stream-members.html | 61 + .../files/class_nv_1_1_blast_1_1_ext_i_stream.html | 312 ++++ ...last_1_1_ext_impact_damage_manager-members.html | 2 +- ...nv_1_1_blast_1_1_ext_impact_damage_manager.html | 2 +- ...last_1_1_ext_impulse_stress_solver-members.html | 70 - ...nv_1_1_blast_1_1_ext_impulse_stress_solver.html | 546 ------ ..._nv_1_1_blast_1_1_ext_impulse_stress_solver.png | Bin 902 -> 0 bytes ..._nv_1_1_blast_1_1_ext_input_stream-members.html | 2 +- .../class_nv_1_1_blast_1_1_ext_input_stream.html | 2 +- ..._blast_1_1_ext_k_j_px_input_stream-members.html | 2 +- ...s_nv_1_1_blast_1_1_ext_k_j_px_input_stream.html | 2 +- ...blast_1_1_ext_k_j_px_output_stream-members.html | 2 +- ..._nv_1_1_blast_1_1_ext_k_j_px_output_stream.html | 2 +- ...nv_1_1_blast_1_1_ext_output_stream-members.html | 2 +- .../class_nv_1_1_blast_1_1_ext_output_stream.html | 2 +- ...lass_nv_1_1_blast_1_1_ext_px_actor-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_ext_px_actor.html | 2 +- ...lass_nv_1_1_blast_1_1_ext_px_asset-members.html | 9 +- .../files/class_nv_1_1_blast_1_1_ext_px_asset.html | 175 +- ...ass_nv_1_1_blast_1_1_ext_px_family-members.html | 2 +- .../class_nv_1_1_blast_1_1_ext_px_family.html | 4 +- ...s_nv_1_1_blast_1_1_ext_px_listener-members.html | 2 +- .../class_nv_1_1_blast_1_1_ext_px_listener.html | 8 +- .../class_nv_1_1_blast_1_1_ext_px_listener.png | Bin 639 -> 490 bytes ...ss_nv_1_1_blast_1_1_ext_px_manager-members.html | 2 +- .../class_nv_1_1_blast_1_1_ext_px_manager.html | 6 +- ...1_1_blast_1_1_ext_px_stress_solver-members.html | 53 + ...lass_nv_1_1_blast_1_1_ext_px_stress_solver.html | 191 ++ ...class_nv_1_1_blast_1_1_ext_px_stress_solver.png | Bin 0 -> 529 bytes ...nv_1_1_blast_1_1_ext_serialization-members.html | 27 +- .../class_nv_1_1_blast_1_1_ext_serialization.html | 427 ++--- .../class_nv_1_1_blast_1_1_ext_serialization.png | Bin 0 -> 620 bytes ..._serialization_1_1_buffer_provider-members.html | 50 + ..._1_1_ext_serialization_1_1_buffer_provider.html | 84 + ...last_1_1_ext_serialization_c_a_p_n-members.html | 64 + ...nv_1_1_blast_1_1_ext_serialization_c_a_p_n.html | 554 ++++++ ...ast_1_1_ext_serialization_internal-members.html | 62 + ...v_1_1_blast_1_1_ext_serialization_internal.html | 180 ++ ...nv_1_1_blast_1_1_ext_serialization_internal.png | Bin 0 -> 613 bytes ...ss_nv_1_1_blast_1_1_ext_serializer-members.html | 58 + .../class_nv_1_1_blast_1_1_ext_serializer.html | 303 ++++ ...nv_1_1_blast_1_1_ext_stress_solver-members.html | 23 +- .../class_nv_1_1_blast_1_1_ext_stress_solver.html | 566 +++++- .../class_nv_1_1_blast_1_1_ext_stress_solver.png | Bin 652 -> 0 bytes .../class_nv_1_1_blast_1_1_ext_sync-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_ext_sync.html | 2 +- ...ass_nv_1_1_blast_1_1_ext_task_sync-members.html | 54 + .../class_nv_1_1_blast_1_1_ext_task_sync.html | 170 ++ ...lass_nv_1_1_blast_1_1_family_graph-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_family_graph.html | 2 +- ...s_nv_1_1_blast_1_1_fbx_file_reader-members.html | 67 + .../class_nv_1_1_blast_1_1_fbx_file_reader.html | 502 ++++++ .../class_nv_1_1_blast_1_1_fbx_file_reader.png | Bin 0 -> 764 bytes ...s_nv_1_1_blast_1_1_fbx_file_writer-members.html | 56 + .../class_nv_1_1_blast_1_1_fbx_file_writer.html | 266 +++ .../class_nv_1_1_blast_1_1_fbx_file_writer.png | Bin 0 -> 541 bytes ...class_nv_1_1_blast_1_1_fixed_array-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_fixed_array.html | 2 +- ...lass_nv_1_1_blast_1_1_fixed_bitmap-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_fixed_bitmap.html | 2 +- ..._nv_1_1_blast_1_1_fixed_bool_array-members.html | 2 +- .../class_nv_1_1_blast_1_1_fixed_bool_array.html | 2 +- ...1_1_blast_1_1_fixed_priority_queue-members.html | 2 +- ...lass_nv_1_1_blast_1_1_fixed_priority_queue.html | 2 +- ...ass_nv_1_1_blast_1_1_fracture_tool-members.html | 56 +- .../class_nv_1_1_blast_1_1_fracture_tool.html | 626 +++---- .../files/class_nv_1_1_blast_1_1_fracture_tool.png | Bin 0 -> 541 bytes ...v_1_1_blast_1_1_fracture_tool_impl-members.html | 80 + .../class_nv_1_1_blast_1_1_fracture_tool_impl.html | 944 ++++++++++ .../class_nv_1_1_blast_1_1_fracture_tool_impl.png | Bin 0 -> 528 bytes ...nv_1_1_blast_1_1_i_fbx_file_reader-members.html | 65 + .../class_nv_1_1_blast_1_1_i_fbx_file_reader.html | 126 ++ .../class_nv_1_1_blast_1_1_i_fbx_file_reader.png | Bin 0 -> 746 bytes ...v_1_1_blast_1_1_i_mesh_file_reader-members.html | 63 + .../class_nv_1_1_blast_1_1_i_mesh_file_reader.html | 415 +++++ .../class_nv_1_1_blast_1_1_i_mesh_file_reader.png | Bin 0 -> 1028 bytes ...v_1_1_blast_1_1_i_mesh_file_writer-members.html | 53 + .../class_nv_1_1_blast_1_1_i_mesh_file_writer.html | 206 +++ .../class_nv_1_1_blast_1_1_i_mesh_file_writer.png | Bin 0 -> 823 bytes ...lass_nv_1_1_blast_1_1_index_d_list-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_index_d_list.html | 2 +- ...1_intersection_testing_accelerator-members.html | 6 +- ...blast_1_1_intersection_testing_accelerator.html | 20 +- ...ass_nv_1_1_blast_1_1_iterator_base-members.html | 2 +- .../class_nv_1_1_blast_1_1_iterator_base.html | 2 +- ..._blast_1_1_json_collision_exporter-members.html | 51 + ...s_nv_1_1_blast_1_1_json_collision_exporter.html | 133 ++ .../class_nv_1_1_blast_1_1_l_list_it-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_l_list_it.html | 2 +- ...lass_nv_1_1_blast_1_1_local_buffer-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_local_buffer.html | 2 +- .../files/class_nv_1_1_blast_1_1_mesh-members.html | 36 +- .../files/class_nv_1_1_blast_1_1_mesh.html | 394 ++-- .../files/class_nv_1_1_blast_1_1_mesh.png | Bin 0 -> 446 bytes ...lass_nv_1_1_blast_1_1_mesh_cleaner-members.html | 52 + .../files/class_nv_1_1_blast_1_1_mesh_cleaner.html | 145 ++ .../files/class_nv_1_1_blast_1_1_mesh_cleaner.png | Bin 0 -> 556 bytes ...nv_1_1_blast_1_1_mesh_cleaner_impl-members.html | 53 + .../class_nv_1_1_blast_1_1_mesh_cleaner_impl.html | 145 ++ .../class_nv_1_1_blast_1_1_mesh_cleaner_impl.png | Bin 0 -> 553 bytes .../class_nv_1_1_blast_1_1_mesh_impl-members.html | 72 + .../files/class_nv_1_1_blast_1_1_mesh_impl.html | 664 +++++++ .../files/class_nv_1_1_blast_1_1_mesh_impl.png | Bin 0 -> 441 bytes ...class_nv_1_1_blast_1_1_mesh_noiser-members.html | 61 + .../files/class_nv_1_1_blast_1_1_mesh_noiser.html | 267 +++ ...et_block_version_converter__v0__v1-members.html | 52 - ...last_asset_block_version_converter__v0__v1.html | 156 -- ...blast_asset_block_version_converter__v0__v1.png | Bin 1071 -> 0 bytes ...s_nv_1_1_blast_1_1_obj_file_reader-members.html | 65 + .../class_nv_1_1_blast_1_1_obj_file_reader.html | 447 +++++ .../class_nv_1_1_blast_1_1_obj_file_reader.png | Bin 0 -> 550 bytes ...s_nv_1_1_blast_1_1_obj_file_writer-members.html | 55 + .../class_nv_1_1_blast_1_1_obj_file_writer.html | 247 +++ .../class_nv_1_1_blast_1_1_obj_file_writer.png | Bin 0 -> 549 bytes ...lass_nv_1_1_blast_1_1_perlin_noise-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_perlin_noise.html | 2 +- ...nv_1_1_blast_1_1_profiler_callback-members.html | 52 + .../class_nv_1_1_blast_1_1_profiler_callback.html | 141 ++ .../class_nv_1_1_blast_1_1_profiler_callback.png | Bin 0 -> 586 bytes ..._1_blast_1_1_random_generator_base-members.html | 2 +- ...ass_nv_1_1_blast_1_1_random_generator_base.html | 2 +- ...erialization_1_1_asset_1_1_builder-members.html | 2 +- ...st_1_1_serialization_1_1_asset_1_1_builder.html | 6 +- ...rialization_1_1_asset_1_1_pipeline-members.html | 2 +- ...t_1_1_serialization_1_1_asset_1_1_pipeline.html | 6 +- ...serialization_1_1_asset_1_1_reader-members.html | 2 +- ...ast_1_1_serialization_1_1_asset_1_1_reader.html | 6 +- ...ation_1_1_ext_px_asset_1_1_builder-members.html | 12 +- ...serialization_1_1_ext_px_asset_1_1_builder.html | 46 +- ...tion_1_1_ext_px_asset_1_1_pipeline-members.html | 4 +- ...erialization_1_1_ext_px_asset_1_1_pipeline.html | 14 +- ...zation_1_1_ext_px_asset_1_1_reader-members.html | 12 +- ..._serialization_1_1_ext_px_asset_1_1_reader.html | 148 +- ...ation_1_1_ext_px_chunk_1_1_builder-members.html | 2 +- ...serialization_1_1_ext_px_chunk_1_1_builder.html | 6 +- ...tion_1_1_ext_px_chunk_1_1_pipeline-members.html | 2 +- ...erialization_1_1_ext_px_chunk_1_1_pipeline.html | 6 +- ...zation_1_1_ext_px_chunk_1_1_reader-members.html | 2 +- ..._serialization_1_1_ext_px_chunk_1_1_reader.html | 6 +- ...on_1_1_ext_px_subchunk_1_1_builder-members.html | 2 +- ...ialization_1_1_ext_px_subchunk_1_1_builder.html | 6 +- ...n_1_1_ext_px_subchunk_1_1_pipeline-members.html | 2 +- ...alization_1_1_ext_px_subchunk_1_1_pipeline.html | 6 +- ...ion_1_1_ext_px_subchunk_1_1_reader-members.html | 2 +- ...rialization_1_1_ext_px_subchunk_1_1_reader.html | 6 +- ...tion_1_1_nv_blast_bond_1_1_builder-members.html | 2 +- ...erialization_1_1_nv_blast_bond_1_1_builder.html | 6 +- ...ion_1_1_nv_blast_bond_1_1_pipeline-members.html | 2 +- ...rialization_1_1_nv_blast_bond_1_1_pipeline.html | 6 +- ...ation_1_1_nv_blast_bond_1_1_reader-members.html | 2 +- ...serialization_1_1_nv_blast_bond_1_1_reader.html | 6 +- ...ion_1_1_nv_blast_chunk_1_1_builder-members.html | 2 +- ...rialization_1_1_nv_blast_chunk_1_1_builder.html | 6 +- ...on_1_1_nv_blast_chunk_1_1_pipeline-members.html | 2 +- ...ialization_1_1_nv_blast_chunk_1_1_pipeline.html | 6 +- ...tion_1_1_nv_blast_chunk_1_1_reader-members.html | 2 +- ...erialization_1_1_nv_blast_chunk_1_1_reader.html | 6 +- ..._1_nv_blast_data_block_1_1_builder-members.html | 2 +- ...zation_1_1_nv_blast_data_block_1_1_builder.html | 6 +- ...1_nv_blast_data_block_1_1_pipeline-members.html | 2 +- ...ation_1_1_nv_blast_data_block_1_1_pipeline.html | 6 +- ...1_1_nv_blast_data_block_1_1_reader-members.html | 2 +- ...ization_1_1_nv_blast_data_block_1_1_reader.html | 6 +- ...nv_blast_support_graph_1_1_builder-members.html | 2 +- ...ion_1_1_nv_blast_support_graph_1_1_builder.html | 6 +- ...v_blast_support_graph_1_1_pipeline-members.html | 2 +- ...on_1_1_nv_blast_support_graph_1_1_pipeline.html | 6 +- ..._nv_blast_support_graph_1_1_reader-members.html | 2 +- ...tion_1_1_nv_blast_support_graph_1_1_reader.html | 6 +- ...x_convex_mesh_geometry_1_1_builder-members.html | 2 +- ...on_1_1_px_convex_mesh_geometry_1_1_builder.html | 12 +- ..._convex_mesh_geometry_1_1_pipeline-members.html | 2 +- ...n_1_1_px_convex_mesh_geometry_1_1_pipeline.html | 6 +- ...px_convex_mesh_geometry_1_1_reader-members.html | 2 +- ...ion_1_1_px_convex_mesh_geometry_1_1_reader.html | 8 +- ...tion_1_1_px_mesh_scale_1_1_builder-members.html | 2 +- ...erialization_1_1_px_mesh_scale_1_1_builder.html | 6 +- ...ion_1_1_px_mesh_scale_1_1_pipeline-members.html | 2 +- ...rialization_1_1_px_mesh_scale_1_1_pipeline.html | 6 +- ...ation_1_1_px_mesh_scale_1_1_reader-members.html | 2 +- ...serialization_1_1_px_mesh_scale_1_1_reader.html | 6 +- ...ialization_1_1_px_quat_1_1_builder-members.html | 2 +- ..._1_1_serialization_1_1_px_quat_1_1_builder.html | 6 +- ...alization_1_1_px_quat_1_1_pipeline-members.html | 2 +- ...1_1_serialization_1_1_px_quat_1_1_pipeline.html | 6 +- ...rialization_1_1_px_quat_1_1_reader-members.html | 2 +- ...t_1_1_serialization_1_1_px_quat_1_1_reader.html | 6 +- ...ation_1_1_px_transform_1_1_builder-members.html | 2 +- ...serialization_1_1_px_transform_1_1_builder.html | 6 +- ...tion_1_1_px_transform_1_1_pipeline-members.html | 2 +- ...erialization_1_1_px_transform_1_1_pipeline.html | 6 +- ...zation_1_1_px_transform_1_1_reader-members.html | 2 +- ..._serialization_1_1_px_transform_1_1_reader.html | 6 +- ...ialization_1_1_px_vec3_1_1_builder-members.html | 2 +- ..._1_1_serialization_1_1_px_vec3_1_1_builder.html | 6 +- ...alization_1_1_px_vec3_1_1_pipeline-members.html | 2 +- ...1_1_serialization_1_1_px_vec3_1_1_pipeline.html | 6 +- ...rialization_1_1_px_vec3_1_1_reader-members.html | 2 +- ...t_1_1_serialization_1_1_px_vec3_1_1_reader.html | 6 +- ...alization_1_1_tk_asset_1_1_builder-members.html | 2 +- ...1_1_serialization_1_1_tk_asset_1_1_builder.html | 6 +- ...lization_1_1_tk_asset_1_1_pipeline-members.html | 2 +- ..._1_serialization_1_1_tk_asset_1_1_pipeline.html | 6 +- ...ialization_1_1_tk_asset_1_1_reader-members.html | 2 +- ..._1_1_serialization_1_1_tk_asset_1_1_reader.html | 6 +- ..._1_tk_asset_joint_desc_1_1_builder-members.html | 2 +- ...zation_1_1_tk_asset_joint_desc_1_1_builder.html | 6 +- ...1_tk_asset_joint_desc_1_1_pipeline-members.html | 2 +- ...ation_1_1_tk_asset_joint_desc_1_1_pipeline.html | 6 +- ...1_1_tk_asset_joint_desc_1_1_reader-members.html | 2 +- ...ization_1_1_tk_asset_joint_desc_1_1_reader.html | 6 +- ...ialization_1_1_u_u_i_d_1_1_builder-members.html | 2 +- ..._1_1_serialization_1_1_u_u_i_d_1_1_builder.html | 6 +- ...alization_1_1_u_u_i_d_1_1_pipeline-members.html | 2 +- ...1_1_serialization_1_1_u_u_i_d_1_1_pipeline.html | 6 +- ...rialization_1_1_u_u_i_d_1_1_reader-members.html | 2 +- ...t_1_1_serialization_1_1_u_u_i_d_1_1_reader.html | 6 +- ...lass_nv_1_1_blast_1_1_shared_block-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_shared_block.html | 2 +- ...ass_nv_1_1_blast_1_1_shared_buffer-members.html | 2 +- .../class_nv_1_1_blast_1_1_shared_buffer.html | 2 +- ...ass_nv_1_1_blast_1_1_shared_memory-members.html | 2 +- .../class_nv_1_1_blast_1_1_shared_memory.html | 4 +- ...ass_nv_1_1_blast_1_1_simplex_noise-members.html | 2 +- .../class_nv_1_1_blast_1_1_simplex_noise.html | 2 +- ..._1_1_blast_1_1_spatial_accelerator-members.html | 4 +- ...class_nv_1_1_blast_1_1_spatial_accelerator.html | 14 +- .../class_nv_1_1_blast_1_1_task_sync-members.html | 54 - .../files/class_nv_1_1_blast_1_1_task_sync.html | 170 -- .../files/class_nv_1_1_blast_1_1_time-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_time.html | 2 +- .../class_nv_1_1_blast_1_1_tk_actor-members.html | 3 +- .../files/class_nv_1_1_blast_1_1_tk_actor.html | 28 +- ...ass_nv_1_1_blast_1_1_tk_actor_impl-members.html | 3 +- .../class_nv_1_1_blast_1_1_tk_actor_impl.html | 30 +- ...ast_1_1_tk_actor_impl_1_1_joint_it-members.html | 2 +- ...v_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html | 2 +- ...lass_nv_1_1_blast_1_1_tk_allocator-members.html | 53 - .../files/class_nv_1_1_blast_1_1_tk_allocator.html | 163 -- .../class_nv_1_1_blast_1_1_tk_asset-members.html | 5 +- .../files/class_nv_1_1_blast_1_1_tk_asset.html | 11 +- .../files/class_nv_1_1_blast_1_1_tk_asset.png | Bin 788 -> 626 bytes ...s_nv_1_1_blast_1_1_tk_atomic_queue-members.html | 51 - .../class_nv_1_1_blast_1_1_tk_atomic_queue.html | 121 -- ...nv_1_1_blast_1_1_tk_event_listener-members.html | 2 +- .../class_nv_1_1_blast_1_1_tk_event_listener.html | 2 +- ...ss_nv_1_1_blast_1_1_tk_event_queue-members.html | 6 +- .../class_nv_1_1_blast_1_1_tk_event_queue.html | 14 +- .../class_nv_1_1_blast_1_1_tk_family-members.html | 5 +- .../files/class_nv_1_1_blast_1_1_tk_family.html | 9 +- .../files/class_nv_1_1_blast_1_1_tk_family.png | Bin 796 -> 634 bytes ...lass_nv_1_1_blast_1_1_tk_framework-members.html | 8 +- .../files/class_nv_1_1_blast_1_1_tk_framework.html | 127 +- ...nv_1_1_blast_1_1_tk_framework_impl-members.html | 16 +- .../class_nv_1_1_blast_1_1_tk_framework_impl.html | 303 +--- .../class_nv_1_1_blast_1_1_tk_group-members.html | 12 +- .../files/class_nv_1_1_blast_1_1_tk_group.html | 147 +- ...s_nv_1_1_blast_1_1_tk_group_worker-members.html | 50 + .../class_nv_1_1_blast_1_1_tk_group_worker.html | 97 + .../class_nv_1_1_blast_1_1_tk_group_worker.png | Bin 0 -> 494 bytes ...s_nv_1_1_blast_1_1_tk_identifiable-members.html | 3 +- .../class_nv_1_1_blast_1_1_tk_identifiable.html | 30 +- .../class_nv_1_1_blast_1_1_tk_identifiable.png | Bin 1308 -> 1085 bytes .../class_nv_1_1_blast_1_1_tk_joint-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_tk_joint.html | 2 +- ...ass_nv_1_1_blast_1_1_tk_joint_impl-members.html | 2 +- .../class_nv_1_1_blast_1_1_tk_joint_impl.html | 2 +- .../class_nv_1_1_blast_1_1_tk_object-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_tk_object.html | 19 +- .../files/class_nv_1_1_blast_1_1_tk_object.png | Bin 1964 -> 1851 bytes ...s_nv_1_1_blast_1_1_tk_serializable-members.html | 58 - .../class_nv_1_1_blast_1_1_tk_serializable.html | 122 -- .../class_nv_1_1_blast_1_1_tk_serializable.png | Bin 1165 -> 0 bytes .../class_nv_1_1_blast_1_1_tk_type-members.html | 2 +- .../files/class_nv_1_1_blast_1_1_tk_type.html | 2 +- ...lass_nv_1_1_blast_1_1_tk_type_impl-members.html | 5 +- .../files/class_nv_1_1_blast_1_1_tk_type_impl.html | 40 +- .../class_nv_1_1_blast_1_1_tk_worker-members.html | 56 - .../files/class_nv_1_1_blast_1_1_tk_worker.html | 209 --- ...v_1_1_blast_1_1_triangle_processor-members.html | 2 +- .../class_nv_1_1_blast_1_1_triangle_processor.html | 2 +- ...lass_nv_1_1_blast_1_1_triangulator-members.html | 56 + .../files/class_nv_1_1_blast_1_1_triangulator.html | 220 +++ ..._blast_1_1_voronoi_sites_generator-members.html | 26 +- ...s_nv_1_1_blast_1_1_voronoi_sites_generator.html | 201 ++- ...ss_nv_1_1_blast_1_1_voronoi_sites_generator.png | Bin 0 -> 653 bytes ...t_1_1_voronoi_sites_generator_impl-members.html | 63 + ...1_1_blast_1_1_voronoi_sites_generator_impl.html | 531 ++++++ ..._1_1_blast_1_1_voronoi_sites_generator_impl.png | Bin 0 -> 645 bytes .../files/class_nv_1_1_blast_1_1final-members.html | 44 +- .../files/class_nv_1_1_blast_1_1final.html | 688 ++++++- .../files/class_nv_1_1_blast_1_1final.png | Bin 1345 -> 2122 bytes docs/source_docs/files/classes.html | 40 +- docs/source_docs/files/files.html | 72 +- docs/source_docs/files/functions.html | 174 +- docs/source_docs/files/functions_0x5f.html | 2 +- docs/source_docs/files/functions_0x61.html | 105 +- docs/source_docs/files/functions_0x62.html | 157 +- docs/source_docs/files/functions_0x63.html | 116 +- docs/source_docs/files/functions_0x64.html | 64 +- docs/source_docs/files/functions_0x65.html | 80 +- docs/source_docs/files/functions_0x66.html | 63 +- docs/source_docs/files/functions_0x67.html | 402 +++-- docs/source_docs/files/functions_0x68.html | 61 +- docs/source_docs/files/functions_0x69.html | 71 +- docs/source_docs/files/functions_0x6a.html | 4 +- docs/source_docs/files/functions_0x6c.html | 22 +- docs/source_docs/files/functions_0x6d.html | 112 +- docs/source_docs/files/functions_0x6e.html | 50 +- docs/source_docs/files/functions_0x6f.html | 60 +- docs/source_docs/files/functions_0x70.html | 104 +- docs/source_docs/files/functions_0x71.html | 4 +- docs/source_docs/files/functions_0x72.html | 170 +- docs/source_docs/files/functions_0x73.html | 158 +- docs/source_docs/files/functions_0x74.html | 145 +- docs/source_docs/files/functions_0x75.html | 45 +- docs/source_docs/files/functions_0x76.html | 23 +- docs/source_docs/files/functions_0x77.html | 17 +- docs/source_docs/files/functions_0x78.html | 9 +- docs/source_docs/files/functions_0x79.html | 9 +- docs/source_docs/files/functions_0x7a.html | 13 +- docs/source_docs/files/functions_0x7e.html | 42 +- docs/source_docs/files/functions_enum.html | 18 +- docs/source_docs/files/functions_eval.html | 86 +- docs/source_docs/files/functions_func.html | 72 +- docs/source_docs/files/functions_func_0x62.html | 81 +- docs/source_docs/files/functions_func_0x63.html | 67 +- docs/source_docs/files/functions_func_0x64.html | 29 +- docs/source_docs/files/functions_func_0x65.html | 29 +- docs/source_docs/files/functions_func_0x66.html | 39 +- docs/source_docs/files/functions_func_0x67.html | 398 +++-- docs/source_docs/files/functions_func_0x68.html | 37 +- docs/source_docs/files/functions_func_0x69.html | 49 +- docs/source_docs/files/functions_func_0x6a.html | 5 +- docs/source_docs/files/functions_func_0x6c.html | 11 +- docs/source_docs/files/functions_func_0x6d.html | 9 +- docs/source_docs/files/functions_func_0x6e.html | 45 +- docs/source_docs/files/functions_func_0x6f.html | 57 +- docs/source_docs/files/functions_func_0x70.html | 56 +- docs/source_docs/files/functions_func_0x72.html | 158 +- docs/source_docs/files/functions_func_0x73.html | 131 +- docs/source_docs/files/functions_func_0x74.html | 114 +- docs/source_docs/files/functions_func_0x75.html | 17 +- docs/source_docs/files/functions_func_0x76.html | 16 +- docs/source_docs/files/functions_func_0x77.html | 13 +- docs/source_docs/files/functions_func_0x7a.html | 96 + docs/source_docs/files/functions_func_0x7e.html | 43 +- docs/source_docs/files/functions_rela.html | 179 +- docs/source_docs/files/functions_type.html | 77 +- docs/source_docs/files/functions_vars.html | 2 +- docs/source_docs/files/functions_vars_0x61.html | 13 +- docs/source_docs/files/functions_vars_0x62.html | 35 +- docs/source_docs/files/functions_vars_0x63.html | 49 +- docs/source_docs/files/functions_vars_0x64.html | 19 +- docs/source_docs/files/functions_vars_0x65.html | 4 +- docs/source_docs/files/functions_vars_0x66.html | 8 +- docs/source_docs/files/functions_vars_0x67.html | 9 +- docs/source_docs/files/functions_vars_0x68.html | 11 +- docs/source_docs/files/functions_vars_0x69.html | 7 +- docs/source_docs/files/functions_vars_0x6a.html | 2 +- docs/source_docs/files/functions_vars_0x6c.html | 8 +- docs/source_docs/files/functions_vars_0x6d.html | 104 +- docs/source_docs/files/functions_vars_0x6e.html | 12 +- docs/source_docs/files/functions_vars_0x6f.html | 2 +- docs/source_docs/files/functions_vars_0x70.html | 31 +- docs/source_docs/files/functions_vars_0x71.html | 4 +- docs/source_docs/files/functions_vars_0x72.html | 2 +- docs/source_docs/files/functions_vars_0x73.html | 22 +- docs/source_docs/files/functions_vars_0x74.html | 12 +- docs/source_docs/files/functions_vars_0x75.html | 28 +- docs/source_docs/files/functions_vars_0x76.html | 2 +- docs/source_docs/files/functions_vars_0x77.html | 7 +- docs/source_docs/files/functions_vars_0x78.html | 9 +- docs/source_docs/files/functions_vars_0x79.html | 9 +- docs/source_docs/files/functions_vars_0x7a.html | 7 +- docs/source_docs/files/globals.html | 6 +- docs/source_docs/files/globals_0x62.html | 16 +- docs/source_docs/files/globals_0x64.html | 20 +- docs/source_docs/files/globals_0x65.html | 77 + docs/source_docs/files/globals_0x67.html | 75 - docs/source_docs/files/globals_0x6d.html | 8 +- docs/source_docs/files/globals_0x6e.html | 198 ++- docs/source_docs/files/globals_0x70.html | 20 +- docs/source_docs/files/globals_0x73.html | 34 +- docs/source_docs/files/globals_0x76.html | 73 + docs/source_docs/files/globals_defs.html | 152 +- docs/source_docs/files/globals_func.html | 136 +- docs/source_docs/files/globals_type.html | 5 +- docs/source_docs/files/globals_vars.html | 63 - docs/source_docs/files/group__foundation.html | 2 +- docs/source_docs/files/hierarchy.html | 154 +- docs/source_docs/files/index.html | 2 +- docs/source_docs/files/main.html | 4 +- docs/source_docs/files/modules.html | 2 +- docs/source_docs/files/namespace_nv.html | 12 +- docs/source_docs/files/namespace_nv_1_1_blast.html | 532 ++++-- .../namespace_nv_1_1_blast_1_1_apex_importer.html | 2 +- ...ce_nv_1_1_blast_1_1_boolean_configurations.html | 2 +- .../namespace_nv_1_1_blast_1_1_serialization.html | 2 +- .../files/namespace_nv_1_1_blast_1_1_v_s_a.html | 2 +- .../files/namespace_nv_1_1_blast_1_1_vec_math.html | 55 +- docs/source_docs/files/namespacecapnp.html | 2 +- .../files/namespacecapnp_1_1schemas.html | 156 +- docs/source_docs/files/namespacefbxsdk.html | 43 + docs/source_docs/files/namespacemembers.html | 52 +- docs/source_docs/files/namespacemembers_enum.html | 6 +- docs/source_docs/files/namespacemembers_eval.html | 16 +- docs/source_docs/files/namespacemembers_func.html | 30 +- docs/source_docs/files/namespacemembers_type.html | 6 +- docs/source_docs/files/namespacenvidia.html | 2 +- .../source_docs/files/namespacenvidia_1_1apex.html | 2 +- docs/source_docs/files/namespacephysx.html | 5 +- ...namespacephysx_1_1general___px_i_o_stream2.html | 2 +- .../files/namespacephysx_1_1shdfnd.html | 2 +- docs/source_docs/files/namespaces.html | 3 +- ...ast_1_1_actor_serialization_format-members.html | 2 +- ...v_1_1_blast_1_1_actor_serialization_format.html | 2 +- ...ast_1_1_actor_serialization_header-members.html | 2 +- ...v_1_1_blast_1_1_actor_serialization_header.html | 2 +- ..._importer_1_1_apex_importer_config-members.html | 2 +- ...1_1_apex_importer_1_1_apex_importer_config.html | 2 +- .../struct_nv_1_1_blast_1_1_array-members.html | 50 + .../files/struct_nv_1_1_blast_1_1_array.html | 85 + ...ast_1_1_asset_1_1_chunk_annotation-members.html | 2 +- ...v_1_1_blast_1_1_asset_1_1_chunk_annotation.html | 2 +- ..._nv_1_1_blast_1_1_authoring_result-members.html | 66 + .../struct_nv_1_1_blast_1_1_authoring_result.html | 366 ++++ ...1_blast_1_1_bond_generation_config-members.html | 2 +- ...ct_nv_1_1_blast_1_1_bond_generation_config.html | 2 +- ...ruct_nv_1_1_blast_1_1_boolean_conf-members.html | 2 +- .../struct_nv_1_1_blast_1_1_boolean_conf.html | 2 +- ...struct_nv_1_1_blast_1_1_chunk_info-members.html | 2 +- .../files/struct_nv_1_1_blast_1_1_chunk_info.html | 2 +- .../struct_nv_1_1_blast_1_1_collision_hull.html | 15 +- .../struct_nv_1_1_blast_1_1_collision_hull.png | Bin 0 -> 519 bytes ..._1_collision_hull_1_1_hull_polygon-members.html | 2 +- ..._blast_1_1_collision_hull_1_1_hull_polygon.html | 6 +- ..._1_1_blast_1_1_collision_hull_impl-members.html | 50 + ...truct_nv_1_1_blast_1_1_collision_hull_impl.html | 91 + ...struct_nv_1_1_blast_1_1_collision_hull_impl.png | Bin 0 -> 516 bytes .../struct_nv_1_1_blast_1_1_d_link-members.html | 2 +- .../files/struct_nv_1_1_blast_1_1_d_link.html | 2 +- .../struct_nv_1_1_blast_1_1_edge-members.html | 2 +- .../files/struct_nv_1_1_blast_1_1_edge.html | 2 +- ...t_nv_1_1_blast_1_1_edge_comparator-members.html | 2 +- .../struct_nv_1_1_blast_1_1_edge_comparator.html | 2 +- ...t_1_1_edge_facet_intersection_data-members.html | 2 +- ...1_1_blast_1_1_edge_facet_intersection_data.html | 2 +- ...nv_1_1_blast_1_1_edge_to_triangles-members.html | 2 +- .../struct_nv_1_1_blast_1_1_edge_to_triangles.html | 6 +- ..._nv_1_1_blast_1_1_edge_with_parent-members.html | 2 +- .../struct_nv_1_1_blast_1_1_edge_with_parent.html | 2 +- ...struct_nv_1_1_blast_1_1_error_code-members.html | 60 + .../files/struct_nv_1_1_blast_1_1_error_code.html | 109 ++ ...v_1_1_blast_1_1_exporter_mesh_data-members.html | 65 + ...struct_nv_1_1_blast_1_1_exporter_mesh_data.html | 333 ++++ .../struct_nv_1_1_blast_1_1_ext_array-members.html | 50 - .../files/struct_nv_1_1_blast_1_1_ext_array.html | 84 - ...ct_nv_1_1_blast_1_1_ext_force_mode-members.html | 52 + .../struct_nv_1_1_blast_1_1_ext_force_mode.html | 91 + ...ruct_nv_1_1_blast_1_1_ext_hash_map-members.html | 50 - .../struct_nv_1_1_blast_1_1_ext_hash_map.html | 85 - ...ruct_nv_1_1_blast_1_1_ext_hash_set-members.html | 50 - .../struct_nv_1_1_blast_1_1_ext_hash_set.html | 84 - ..._1_1_blast_1_1_ext_impact_settings-members.html | 9 +- ...truct_nv_1_1_blast_1_1_ext_impact_settings.html | 120 +- ..._nv_1_1_blast_1_1_ext_inline_array-members.html | 50 - .../struct_nv_1_1_blast_1_1_ext_inline_array.html | 85 - ..._nv_1_1_blast_1_1_ext_profile_data-members.html | 51 + .../struct_nv_1_1_blast_1_1_ext_profile_data.html | 95 + ...ast_1_1_ext_px_actor_desc_template-members.html | 2 +- ...v_1_1_blast_1_1_ext_px_actor_desc_template.html | 2 +- ...nv_1_1_blast_1_1_ext_px_asset_desc-members.html | 2 +- .../struct_nv_1_1_blast_1_1_ext_px_asset_desc.html | 2 +- ...1_ext_px_asset_desc_1_1_chunk_desc-members.html | 2 +- ...blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html | 2 +- ...xt_px_asset_desc_1_1_subchunk_desc-members.html | 2 +- ...st_1_1_ext_px_asset_desc_1_1_subchunk_desc.html | 2 +- ...ruct_nv_1_1_blast_1_1_ext_px_chunk-members.html | 2 +- .../struct_nv_1_1_blast_1_1_ext_px_chunk.html | 2 +- ...v_1_1_blast_1_1_ext_px_family_desc-members.html | 4 +- ...struct_nv_1_1_blast_1_1_ext_px_family_desc.html | 12 +- ...1_blast_1_1_ext_px_object_type_i_d-members.html | 51 + ...ct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html | 83 + ...ast_1_1_ext_px_shape_desc_template-members.html | 2 +- ...v_1_1_blast_1_1_ext_px_shape_desc_template.html | 2 +- ..._1_blast_1_1_ext_px_spawn_settings-members.html | 2 +- ...uct_nv_1_1_blast_1_1_ext_px_spawn_settings.html | 2 +- ...t_nv_1_1_blast_1_1_ext_px_subchunk-members.html | 2 +- .../struct_nv_1_1_blast_1_1_ext_px_subchunk.html | 2 +- ...ext_serialization_1_1_encoding_i_d-members.html | 52 + ...ast_1_1_ext_serialization_1_1_encoding_i_d.html | 85 + ...st_1_1_ext_stress_bond_cached_data-members.html | 50 - ..._1_1_blast_1_1_ext_stress_bond_cached_data.html | 78 - ...st_1_1_ext_stress_node_cached_data-members.html | 51 - ..._1_1_blast_1_1_ext_stress_node_cached_data.html | 95 - ...ext_stress_solver_1_1_debug_buffer-members.html | 51 + ...ast_1_1_ext_stress_solver_1_1_debug_buffer.html | 96 + ...1_ext_stress_solver_1_1_debug_line-members.html | 54 + ...blast_1_1_ext_stress_solver_1_1_debug_line.html | 169 ++ ...ast_1_1_ext_stress_solver_settings-members.html | 3 +- ...v_1_1_blast_1_1_ext_stress_solver_settings.html | 28 +- ...ct_nv_1_1_blast_1_1_ext_sync_event-members.html | 2 +- .../struct_nv_1_1_blast_1_1_ext_sync_event.html | 2 +- ...ast_1_1_ext_sync_event_family_sync-members.html | 2 +- ...v_1_1_blast_1_1_ext_sync_event_family_sync.html | 2 +- ..._blast_1_1_ext_sync_event_fracture-members.html | 2 +- ...t_nv_1_1_blast_1_1_ext_sync_event_fracture.html | 2 +- ..._blast_1_1_ext_sync_event_instance-members.html | 2 +- ...t_nv_1_1_blast_1_1_ext_sync_event_instance.html | 2 +- ...st_1_1_ext_sync_event_physics_sync-members.html | 2 +- ..._1_1_blast_1_1_ext_sync_event_physics_sync.html | 2 +- ..._event_physics_sync_1_1_actor_data-members.html | 2 +- ...ext_sync_event_physics_sync_1_1_actor_data.html | 2 +- ..._1_1_blast_1_1_ext_sync_event_type-members.html | 2 +- ...truct_nv_1_1_blast_1_1_ext_sync_event_type.html | 2 +- .../struct_nv_1_1_blast_1_1_facet-members.html | 6 +- .../files/struct_nv_1_1_blast_1_1_facet.html | 54 +- ...uct_nv_1_1_blast_1_1_family_header-members.html | 13 +- .../struct_nv_1_1_blast_1_1_family_header.html | 543 +++++- .../struct_nv_1_1_blast_1_1_hash_map-members.html | 50 + .../files/struct_nv_1_1_blast_1_1_hash_map.html | 86 + .../struct_nv_1_1_blast_1_1_hash_set-members.html | 50 + .../files/struct_nv_1_1_blast_1_1_hash_set.html | 85 + ...ruct_nv_1_1_blast_1_1_index_d_link-members.html | 2 +- .../struct_nv_1_1_blast_1_1_index_d_link.html | 2 +- ...ruct_nv_1_1_blast_1_1_inline_array-members.html | 50 + .../struct_nv_1_1_blast_1_1_inline_array.html | 87 + .../struct_nv_1_1_blast_1_1_less-members.html | 2 +- .../files/struct_nv_1_1_blast_1_1_less.html | 2 +- ...v_1_1_blast_1_1_ll_object_type_i_d-members.html | 52 + ...struct_nv_1_1_blast_1_1_ll_object_type_i_d.html | 85 + ...__v0__v1_1_1_asset_data_header_new-members.html | 57 - ...onverter__v0__v1_1_1_asset_data_header_new.html | 197 -- ..._v0__v1_1_1_asset_data_header_prev-members.html | 57 - ...nverter__v0__v1_1_1_asset_data_header_prev.html | 197 -- ...onverter__v0__v1_1_1_support_graph-members.html | 54 - ...ersion_converter__v0__v1_1_1_support_graph.html | 146 -- ..._1_1_blast_1_1_plane_chunk_indexer-members.html | 2 +- ...truct_nv_1_1_blast_1_1_plane_chunk_indexer.html | 2 +- ...t_nv_1_1_blast_1_1_profiler_detail-members.html | 53 + .../struct_nv_1_1_blast_1_1_profiler_detail.html | 87 + ...1_1_blast_1_1_px_actor_create_info-members.html | 2 +- ...ruct_nv_1_1_blast_1_1_px_actor_create_info.html | 2 +- ...struct_nv_1_1_blast_1_1_separation-members.html | 2 +- .../files/struct_nv_1_1_blast_1_1_separation.html | 2 +- ..._blast_1_1_serialization_1_1_asset-members.html | 2 +- ...t_nv_1_1_blast_1_1_serialization_1_1_asset.html | 6 +- ...ation_1_1_asset_1_1__capnp_private-members.html | 4 +- ...serialization_1_1_asset_1_1__capnp_private.html | 20 +- ...1_1_serialization_1_1_ext_px_asset-members.html | 2 +- ...1_blast_1_1_serialization_1_1_ext_px_asset.html | 6 +- ..._1_ext_px_asset_1_1__capnp_private-members.html | 4 +- ...zation_1_1_ext_px_asset_1_1__capnp_private.html | 20 +- ...1_1_serialization_1_1_ext_px_chunk-members.html | 2 +- ...1_blast_1_1_serialization_1_1_ext_px_chunk.html | 6 +- ..._1_ext_px_chunk_1_1__capnp_private-members.html | 4 +- ...zation_1_1_ext_px_chunk_1_1__capnp_private.html | 20 +- ..._serialization_1_1_ext_px_subchunk-members.html | 2 +- ...last_1_1_serialization_1_1_ext_px_subchunk.html | 6 +- ...ext_px_subchunk_1_1__capnp_private-members.html | 4 +- ...ion_1_1_ext_px_subchunk_1_1__capnp_private.html | 20 +- ..._1_serialization_1_1_nv_blast_bond-members.html | 2 +- ..._blast_1_1_serialization_1_1_nv_blast_bond.html | 6 +- ...1_nv_blast_bond_1_1__capnp_private-members.html | 4 +- ...ation_1_1_nv_blast_bond_1_1__capnp_private.html | 20 +- ...1_serialization_1_1_nv_blast_chunk-members.html | 2 +- ...blast_1_1_serialization_1_1_nv_blast_chunk.html | 6 +- ..._nv_blast_chunk_1_1__capnp_private-members.html | 4 +- ...tion_1_1_nv_blast_chunk_1_1__capnp_private.html | 20 +- ...ialization_1_1_nv_blast_data_block-members.html | 2 +- ..._1_1_serialization_1_1_nv_blast_data_block.html | 6 +- ...last_data_block_1_1__capnp_private-members.html | 4 +- ...1_1_nv_blast_data_block_1_1__capnp_private.html | 20 +- ...ization_1_1_nv_blast_support_graph-members.html | 2 +- ...1_serialization_1_1_nv_blast_support_graph.html | 6 +- ...t_support_graph_1_1__capnp_private-members.html | 4 +- ..._nv_blast_support_graph_1_1__capnp_private.html | 20 +- ...zation_1_1_px_convex_mesh_geometry-members.html | 4 +- ..._serialization_1_1_px_convex_mesh_geometry.html | 12 +- ...x_mesh_geometry_1_1__capnp_private-members.html | 4 +- ...px_convex_mesh_geometry_1_1__capnp_private.html | 20 +- ..._1_serialization_1_1_px_mesh_scale-members.html | 2 +- ..._blast_1_1_serialization_1_1_px_mesh_scale.html | 6 +- ...1_px_mesh_scale_1_1__capnp_private-members.html | 4 +- ...ation_1_1_px_mesh_scale_1_1__capnp_private.html | 20 +- ...last_1_1_serialization_1_1_px_quat-members.html | 2 +- ...nv_1_1_blast_1_1_serialization_1_1_px_quat.html | 6 +- ...ion_1_1_px_quat_1_1__capnp_private-members.html | 4 +- ...rialization_1_1_px_quat_1_1__capnp_private.html | 20 +- ...1_1_serialization_1_1_px_transform-members.html | 2 +- ...1_blast_1_1_serialization_1_1_px_transform.html | 6 +- ..._1_px_transform_1_1__capnp_private-members.html | 4 +- ...zation_1_1_px_transform_1_1__capnp_private.html | 20 +- ...last_1_1_serialization_1_1_px_vec3-members.html | 2 +- ...nv_1_1_blast_1_1_serialization_1_1_px_vec3.html | 6 +- ...ion_1_1_px_vec3_1_1__capnp_private-members.html | 4 +- ...rialization_1_1_px_vec3_1_1__capnp_private.html | 20 +- ...ast_1_1_serialization_1_1_tk_asset-members.html | 2 +- ...v_1_1_blast_1_1_serialization_1_1_tk_asset.html | 6 +- ...on_1_1_tk_asset_1_1__capnp_private-members.html | 4 +- ...ialization_1_1_tk_asset_1_1__capnp_private.html | 20 +- ...ialization_1_1_tk_asset_joint_desc-members.html | 2 +- ..._1_1_serialization_1_1_tk_asset_joint_desc.html | 6 +- ...sset_joint_desc_1_1__capnp_private-members.html | 4 +- ...1_1_tk_asset_joint_desc_1_1__capnp_private.html | 20 +- ...last_1_1_serialization_1_1_u_u_i_d-members.html | 2 +- ...nv_1_1_blast_1_1_serialization_1_1_u_u_i_d.html | 6 +- ...ion_1_1_u_u_i_d_1_1__capnp_private-members.html | 4 +- ...rialization_1_1_u_u_i_d_1_1__capnp_private.html | 20 +- ..._1_blast_1_1_slicing_configuration-members.html | 4 +- ...uct_nv_1_1_blast_1_1_slicing_configuration.html | 83 +- ...uct_nv_1_1_blast_1_1_support_graph-members.html | 2 +- .../struct_nv_1_1_blast_1_1_support_graph.html | 6 +- ...uct_nv_1_1_blast_1_1_tk_actor_data-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_actor_data.html | 2 +- ...uct_nv_1_1_blast_1_1_tk_actor_desc-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_actor_desc.html | 2 +- ...uct_nv_1_1_blast_1_1_tk_actor_flag-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_actor_flag.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_array-members.html | 50 - .../files/struct_nv_1_1_blast_1_1_tk_array.html | 84 - ...uct_nv_1_1_blast_1_1_tk_asset_desc-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_asset_desc.html | 2 +- ..._1_1_blast_1_1_tk_asset_joint_desc-members.html | 2 +- ...truct_nv_1_1_blast_1_1_tk_asset_joint_desc.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_event-members.html | 2 +- .../files/struct_nv_1_1_blast_1_1_tk_event.html | 2 +- ...1_1_blast_1_1_tk_fracture_commands-members.html | 2 +- ...ruct_nv_1_1_blast_1_1_tk_fracture_commands.html | 2 +- ...v_1_1_blast_1_1_tk_fracture_events-members.html | 2 +- ...struct_nv_1_1_blast_1_1_tk_fracture_events.html | 2 +- ...nv_1_1_blast_1_1_tk_framework_desc-members.html | 51 - .../struct_nv_1_1_blast_1_1_tk_framework_desc.html | 103 -- ...uct_nv_1_1_blast_1_1_tk_group_desc-members.html | 4 +- .../struct_nv_1_1_blast_1_1_tk_group_desc.html | 14 +- ...ct_nv_1_1_blast_1_1_tk_group_stats-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_group_stats.html | 10 +- ...truct_nv_1_1_blast_1_1_tk_hash_map-members.html | 50 - .../files/struct_nv_1_1_blast_1_1_tk_hash_map.html | 85 - ...truct_nv_1_1_blast_1_1_tk_hash_set-members.html | 50 - .../files/struct_nv_1_1_blast_1_1_tk_hash_set.html | 84 - ...t_nv_1_1_blast_1_1_tk_inline_array-members.html | 50 - .../struct_nv_1_1_blast_1_1_tk_inline_array.html | 85 - ...uct_nv_1_1_blast_1_1_tk_joint_data-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_joint_data.html | 2 +- ...uct_nv_1_1_blast_1_1_tk_joint_desc-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_joint_desc.html | 2 +- ...uct_nv_1_1_blast_1_1_tk_joint_link-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_joint_link.html | 2 +- ..._1_blast_1_1_tk_joint_update_event-members.html | 2 +- ...uct_nv_1_1_blast_1_1_tk_joint_update_event.html | 2 +- ...v_1_1_blast_1_1_tk_object_type_i_d-members.html | 51 + ...struct_nv_1_1_blast_1_1_tk_object_type_i_d.html | 83 + ...ct_nv_1_1_blast_1_1_tk_split_event-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_split_event.html | 2 +- ...uct_nv_1_1_blast_1_1_tk_type_index-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_type_index.html | 2 +- ...uct_nv_1_1_blast_1_1_tk_worker_job-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tk_worker_job.html | 2 +- ...t_nv_1_1_blast_1_1_tr_prc_triangle-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tr_prc_triangle.html | 2 +- ...nv_1_1_blast_1_1_tr_prc_triangle2d-members.html | 2 +- .../struct_nv_1_1_blast_1_1_tr_prc_triangle2d.html | 2 +- .../struct_nv_1_1_blast_1_1_triangle-members.html | 6 +- .../files/struct_nv_1_1_blast_1_1_triangle.html | 42 +- ..._nv_1_1_blast_1_1_triangle_indexed-members.html | 7 +- .../struct_nv_1_1_blast_1_1_triangle_indexed.html | 64 +- ...v_s_a_1_1_v_s3_d___halfspace___set-members.html | 2 +- ...ast_1_1_v_s_a_1_1_v_s3_d___halfspace___set.html | 2 +- ...ct_nv_1_1_blast_1_1_v_s_a_1_1_vec3-members.html | 2 +- .../struct_nv_1_1_blast_1_1_v_s_a_1_1_vec3.html | 2 +- ...ct_nv_1_1_blast_1_1_v_s_a_1_1_vec4-members.html | 2 +- .../struct_nv_1_1_blast_1_1_v_s_a_1_1_vec4.html | 2 +- .../struct_nv_1_1_blast_1_1_vertex-members.html | 2 +- .../files/struct_nv_1_1_blast_1_1_vertex.html | 2 +- .../struct_nv_1_1_blast_1_1_vrt_comp-members.html | 4 +- .../files/struct_nv_1_1_blast_1_1_vrt_comp.html | 8 +- ..._blast_1_1_vrt_position_comparator-members.html | 4 +- ...t_nv_1_1_blast_1_1_vrt_position_comparator.html | 8 +- docs/source_docs/files/struct_nv_blast_actor.html | 2 +- .../files/struct_nv_blast_actor_desc-members.html | 2 +- .../files/struct_nv_blast_actor_desc.html | 4 +- .../struct_nv_blast_actor_split_event-members.html | 2 +- .../files/struct_nv_blast_actor_split_event.html | 2 +- docs/source_docs/files/struct_nv_blast_asset.html | 4 +- .../struct_nv_blast_asset_data_format-members.html | 53 - .../files/struct_nv_blast_asset_data_format.html | 85 - .../files/struct_nv_blast_asset_desc-members.html | 2 +- .../files/struct_nv_blast_asset_desc.html | 2 +- .../files/struct_nv_blast_bond-members.html | 2 +- docs/source_docs/files/struct_nv_blast_bond.html | 4 +- .../files/struct_nv_blast_bond_desc-members.html | 2 +- .../files/struct_nv_blast_bond_desc.html | 13 +- .../files/struct_nv_blast_bond_desc.png | Bin 0 -> 566 bytes ...struct_nv_blast_bond_fracture_data-members.html | 2 +- .../files/struct_nv_blast_bond_fracture_data.html | 2 +- .../files/struct_nv_blast_chunk-members.html | 2 +- docs/source_docs/files/struct_nv_blast_chunk.html | 2 +- .../files/struct_nv_blast_chunk_desc-members.html | 2 +- .../files/struct_nv_blast_chunk_desc.html | 2 +- ...truct_nv_blast_chunk_fracture_data-members.html | 2 +- .../files/struct_nv_blast_chunk_fracture_data.html | 2 +- .../struct_nv_blast_damage_program-members.html | 2 +- .../files/struct_nv_blast_damage_program.html | 2 +- .../files/struct_nv_blast_data_block-members.html | 2 +- .../files/struct_nv_blast_data_block.html | 4 +- ...nv_blast_ext_asset_utils_bond_desc-members.html | 52 + .../struct_nv_blast_ext_asset_utils_bond_desc.html | 90 + .../struct_nv_blast_ext_asset_utils_bond_desc.png | Bin 0 -> 558 bytes .../struct_nv_blast_ext_material-members.html | 12 +- .../files/struct_nv_blast_ext_material.html | 76 +- ...ct_nv_blast_ext_radial_damage_desc-members.html | 4 +- .../struct_nv_blast_ext_radial_damage_desc.html | 12 +- ...ast_ext_segment_radial_damage_desc-members.html | 54 + ...ct_nv_blast_ext_segment_radial_damage_desc.html | 160 ++ ...uct_nv_blast_ext_shear_damage_desc-members.html | 7 +- .../struct_nv_blast_ext_shear_damage_desc.html | 78 +- docs/source_docs/files/struct_nv_blast_family.html | 2 +- ...struct_nv_blast_family_data_format-members.html | 53 - .../files/struct_nv_blast_family_data_format.html | 85 - .../struct_nv_blast_fracture_buffers-members.html | 2 +- .../files/struct_nv_blast_fracture_buffers.html | 2 +- ...struct_nv_blast_graph_shader_actor-members.html | 4 +- .../files/struct_nv_blast_graph_shader_actor.html | 42 +- .../files/struct_nv_blast_i_d-members.html | 2 +- docs/source_docs/files/struct_nv_blast_i_d.html | 2 +- .../files/struct_nv_blast_message-members.html | 2 +- .../source_docs/files/struct_nv_blast_message.html | 2 +- .../struct_nv_blast_profiler_detail-members.html | 53 - .../files/struct_nv_blast_profiler_detail.html | 84 - .../struct_nv_blast_program_params-members.html | 2 +- .../files/struct_nv_blast_program_params.html | 2 +- ...uct_nv_blast_subgraph_shader_actor-members.html | 2 +- .../struct_nv_blast_subgraph_shader_actor.html | 2 +- .../struct_nv_blast_support_graph-members.html | 2 +- .../files/struct_nv_blast_support_graph.html | 2 +- .../files/struct_nv_blast_timers-members.html | 2 +- docs/source_docs/files/struct_nv_blast_timers.html | 2 +- .../files/struct_nv_pack_validation-members.html | 2 +- .../files/struct_nv_pack_validation.html | 2 +- .../files/struct_nvc_bounds3-members.html | 51 + docs/source_docs/files/struct_nvc_bounds3.html | 94 + .../files/struct_nvc_mat33-members.html | 52 + docs/source_docs/files/struct_nvc_mat33.html | 111 ++ .../files/struct_nvc_mat34-members.html | 53 + docs/source_docs/files/struct_nvc_mat34.html | 128 ++ .../files/struct_nvc_mat44-members.html | 53 + docs/source_docs/files/struct_nvc_mat44.html | 128 ++ .../files/struct_nvc_plane-members.html | 51 + docs/source_docs/files/struct_nvc_plane.html | 94 + .../source_docs/files/struct_nvc_quat-members.html | 53 + docs/source_docs/files/struct_nvc_quat.html | 128 ++ .../files/struct_nvc_transform-members.html | 51 + docs/source_docs/files/struct_nvc_transform.html | 94 + .../source_docs/files/struct_nvc_vec2-members.html | 51 + docs/source_docs/files/struct_nvc_vec2.html | 94 + .../files/struct_nvc_vec2i-members.html | 51 + docs/source_docs/files/struct_nvc_vec2i.html | 94 + .../source_docs/files/struct_nvc_vec3-members.html | 52 + docs/source_docs/files/struct_nvc_vec3.html | 111 ++ .../files/struct_nvc_vec3i-members.html | 52 + docs/source_docs/files/struct_nvc_vec3i.html | 111 ++ .../source_docs/files/struct_nvc_vec4-members.html | 53 + docs/source_docs/files/struct_nvc_vec4.html | 128 ++ .../files/struct_nvc_vec4i-members.html | 53 + docs/source_docs/files/struct_nvc_vec4i.html | 128 ++ ...nd_1_1_hash_3_01_nv_blast_i_d_01_4-members.html | 2 +- ..._1_1shdfnd_1_1_hash_3_01_nv_blast_i_d_01_4.html | 2 +- docs/source_docs/files/tree.html | 485 +++-- 1173 files changed, 52326 insertions(+), 30597 deletions(-) create mode 100644 docs/source_docs/files/_nv_blast_allocator_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_allocator_8h.html create mode 100644 docs/source_docs/files/_nv_blast_array_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_array_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_allocator_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_allocator_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_array_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_array_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_asset_block_version_converter__v0__v1_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_asset_block_version_converter__v0__v1_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_asset_utils_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_asset_utils_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_collision_builder_impl_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_collision_builder_impl_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_impl_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_impl_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_mesh_impl_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_mesh_impl_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_mesh_noiser_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_authoring_mesh_noiser_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_binary_block_converter_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_binary_block_converter_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_custom_profiler_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_custom_profiler_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_data_converter_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_data_converter_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_defs_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_defs_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_fbx_reader_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_fbx_reader_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_fbx_utils_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_fbx_utils_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_json_collision_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_json_collision_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_obj_reader_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_obj_reader_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_obj_writer_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_exporter_obj_writer_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_globals_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_globals_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_hash_map_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_hash_map_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_hash_set_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_hash_set_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_impulse_stress_solver_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_impulse_stress_solver_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_ll_serialization_8capn_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_ll_serialization_8capn_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_ll_serialization_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_ll_serialization_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_ll_serializer_c_a_p_n_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_ll_serializer_c_a_p_n_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_serialization_8capn_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_serialization_8capn_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_serialization_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_serialization_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_serializer_c_a_p_n_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_serializer_c_a_p_n_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_serializer_r_a_w_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_serializer_r_a_w_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_stress_solver_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_stress_solver_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_stress_solver_impl_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_stress_solver_impl_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_task_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_task_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_task_impl_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_px_task_impl_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_8capn_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_8capn_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_c_a_p_n_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_c_a_p_n_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_impl_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_impl_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_interface_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_interface_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_internal_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_internal_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_l_l_8capn_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_l_l_8capn_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_l_l_impl_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_l_l_impl_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_l_l_interface_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_ext_serialization_l_l_interface_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_tk_serialization_8capn_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_tk_serialization_8capn_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_tk_serialization_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_tk_serialization_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_tk_serializer_c_a_p_n_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_tk_serializer_c_a_p_n_8h.html create mode 100644 docs/source_docs/files/_nv_blast_ext_tk_serializer_r_a_w_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_ext_tk_serializer_r_a_w_8h.html create mode 100644 docs/source_docs/files/_nv_blast_globals_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_globals_8h.html create mode 100644 docs/source_docs/files/_nv_blast_hash_map_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_hash_map_8h.html create mode 100644 docs/source_docs/files/_nv_blast_hash_set_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_hash_set_8h.html create mode 100644 docs/source_docs/files/_nv_blast_px_callbacks_8h-source.html create mode 100644 docs/source_docs/files/_nv_blast_px_callbacks_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_tk_allocator_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_tk_allocator_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_tk_array_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_tk_array_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_tk_hash_map_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_tk_hash_map_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_tk_hash_set_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_tk_hash_set_8h.html delete mode 100644 docs/source_docs/files/_nv_blast_tk_serializable_8h-source.html delete mode 100644 docs/source_docs/files/_nv_blast_tk_serializable_8h.html create mode 100644 docs/source_docs/files/_nv_c_types_8h-source.html create mode 100644 docs/source_docs/files/_nv_c_types_8h.html create mode 100644 docs/source_docs/files/class_fbx_utils-members.html create mode 100644 docs/source_docs/files/class_fbx_utils.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_allocator-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_allocator.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_allocator_callback-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_allocator_callback.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_binary_block_converter-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_binary_block_converter.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_binary_block_converter_1_1_version_converter-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_binary_block_converter_1_1_version_converter.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_binary_block_converter_1_1_version_converter.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator_impl-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator_impl.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_blast_bond_generator_impl.png delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_chunk_post_processor-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_chunk_post_processor.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder_impl-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder_impl.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_convex_mesh_builder_impl.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_error_callback-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_error_callback.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_aligned_allocator-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_aligned_allocator.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_allocator-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_allocator.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_atomic_counter-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_atomic_counter.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_custom_profiler-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_custom_profiler.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_custom_profiler.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager_impl-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager_impl.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_worker_task-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_worker_task.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_i_stream-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_i_stream.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_impulse_stress_solver-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_impulse_stress_solver.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_impulse_stress_solver.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_px_stress_solver-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_px_stress_solver.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_px_stress_solver.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_serialization.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_serialization_1_1_buffer_provider-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_serialization_1_1_buffer_provider.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_serialization_c_a_p_n-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_serialization_c_a_p_n.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_serialization_internal-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_serialization_internal.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_serialization_internal.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_serializer-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_serializer.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_task_sync-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_ext_task_sync.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_fbx_file_reader-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_fbx_file_reader.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_fbx_file_reader.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_fbx_file_writer-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_fbx_file_writer.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_fbx_file_writer.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_i_fbx_file_reader-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_i_fbx_file_reader.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_i_fbx_file_reader.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_reader-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_reader.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_reader.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_writer-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_writer.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_writer.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_json_collision_exporter-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_json_collision_exporter.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh_cleaner-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh_cleaner.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh_cleaner.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh_cleaner_impl-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh_cleaner_impl.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh_cleaner_impl.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh_impl-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh_impl.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh_impl.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh_noiser-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_mesh_noiser.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_obj_file_reader-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_obj_file_reader.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_obj_file_reader.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_obj_file_writer-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_obj_file_writer.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_obj_file_writer.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_profiler_callback-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_profiler_callback.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_profiler_callback.png delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_task_sync-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_task_sync.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_allocator-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_allocator.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_atomic_queue-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_atomic_queue.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker.png delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable.png delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_worker-members.html delete mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_tk_worker.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_triangulator-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_triangulator.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator.png create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator_impl-members.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html create mode 100644 docs/source_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.png create mode 100644 docs/source_docs/files/functions_func_0x7a.html create mode 100644 docs/source_docs/files/globals_0x65.html delete mode 100644 docs/source_docs/files/globals_0x67.html create mode 100644 docs/source_docs/files/globals_0x76.html delete mode 100644 docs/source_docs/files/globals_vars.html create mode 100644 docs/source_docs/files/namespacefbxsdk.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_array-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_array.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_authoring_result-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_authoring_result.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_collision_hull.png create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_collision_hull_impl-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_collision_hull_impl.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_collision_hull_impl.png create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_error_code-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_error_code.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_exporter_mesh_data-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_exporter_mesh_data.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_array-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_array.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_force_mode-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_force_mode.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_hash_map-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_hash_map.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_hash_set-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_hash_set.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_inline_array-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_inline_array.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_profile_data-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_profile_data.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_object_type_i_d-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_serialization_1_1_encoding_i_d-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_serialization_1_1_encoding_i_d.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_bond_cached_data-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_bond_cached_data.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_node_cached_data-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_node_cached_data.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_buffer-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_buffer.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_line-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_line.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_map-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_map.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_set-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_set.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_inline_array-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_inline_array.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ll_object_type_i_d-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_ll_object_type_i_d.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_new-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_new.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_prev-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_prev.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_support_graph-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_support_graph.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_profiler_detail-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_profiler_detail.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_array-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_array.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_map-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_map.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_set-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_set.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_inline_array-members.html delete mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_inline_array.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_object_type_i_d-members.html create mode 100644 docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_object_type_i_d.html delete mode 100644 docs/source_docs/files/struct_nv_blast_asset_data_format-members.html delete mode 100644 docs/source_docs/files/struct_nv_blast_asset_data_format.html create mode 100644 docs/source_docs/files/struct_nv_blast_bond_desc.png create mode 100644 docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc-members.html create mode 100644 docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc.html create mode 100644 docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc.png create mode 100644 docs/source_docs/files/struct_nv_blast_ext_segment_radial_damage_desc-members.html create mode 100644 docs/source_docs/files/struct_nv_blast_ext_segment_radial_damage_desc.html delete mode 100644 docs/source_docs/files/struct_nv_blast_family_data_format-members.html delete mode 100644 docs/source_docs/files/struct_nv_blast_family_data_format.html delete mode 100644 docs/source_docs/files/struct_nv_blast_profiler_detail-members.html delete mode 100644 docs/source_docs/files/struct_nv_blast_profiler_detail.html create mode 100644 docs/source_docs/files/struct_nvc_bounds3-members.html create mode 100644 docs/source_docs/files/struct_nvc_bounds3.html create mode 100644 docs/source_docs/files/struct_nvc_mat33-members.html create mode 100644 docs/source_docs/files/struct_nvc_mat33.html create mode 100644 docs/source_docs/files/struct_nvc_mat34-members.html create mode 100644 docs/source_docs/files/struct_nvc_mat34.html create mode 100644 docs/source_docs/files/struct_nvc_mat44-members.html create mode 100644 docs/source_docs/files/struct_nvc_mat44.html create mode 100644 docs/source_docs/files/struct_nvc_plane-members.html create mode 100644 docs/source_docs/files/struct_nvc_plane.html create mode 100644 docs/source_docs/files/struct_nvc_quat-members.html create mode 100644 docs/source_docs/files/struct_nvc_quat.html create mode 100644 docs/source_docs/files/struct_nvc_transform-members.html create mode 100644 docs/source_docs/files/struct_nvc_transform.html create mode 100644 docs/source_docs/files/struct_nvc_vec2-members.html create mode 100644 docs/source_docs/files/struct_nvc_vec2.html create mode 100644 docs/source_docs/files/struct_nvc_vec2i-members.html create mode 100644 docs/source_docs/files/struct_nvc_vec2i.html create mode 100644 docs/source_docs/files/struct_nvc_vec3-members.html create mode 100644 docs/source_docs/files/struct_nvc_vec3.html create mode 100644 docs/source_docs/files/struct_nvc_vec3i-members.html create mode 100644 docs/source_docs/files/struct_nvc_vec3i.html create mode 100644 docs/source_docs/files/struct_nvc_vec4-members.html create mode 100644 docs/source_docs/files/struct_nvc_vec4.html create mode 100644 docs/source_docs/files/struct_nvc_vec4i-members.html create mode 100644 docs/source_docs/files/struct_nvc_vec4i.html (limited to 'docs/source_docs') diff --git a/docs/source_docs/files/_asset_d_t_o_8h-source.html b/docs/source_docs/files/_asset_d_t_o_8h-source.html index 5d47c94..fdaa6db 100644 --- a/docs/source_docs/files/_asset_d_t_o_8h-source.html +++ b/docs/source_docs/files/_asset_d_t_o_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/serialization/source/DTO/AssetDTO.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/DTO/AssetDTO.h Source File @@ -35,22 +35,40 @@
  • File Members
  • -

    sdk/extensions/serialization/source/DTO/AssetDTO.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 #pragma once
    -00012 #include "DTOMacros.h"
    -00013 #include "NvBlastAsset.h"
    -00014 #include "generated/NvBlastExtSerializationLL.capn.h"
    -00015 
    -00016 DTO_CLASS_LL(Asset, Nv::Blast::Asset, Nv::Blast::Serialization::Asset)
    +

    sdk/extensions/serialization/source/DTO/AssetDTO.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #pragma once
    +00030 #include "DTOMacros.h"
    +00031 #include "NvBlastAsset.h"
    +00032 #include "generated/NvBlastExtLlSerialization.capn.h"
    +00033 
    +00034 DTO_CLASS(Asset, Nv::Blast::Asset, Nv::Blast::Serialization::Asset)
     

    - -

    -
    - - - - - - - - - - - - - - - -
    #define DTO_CLASS_LL (_NAME,
    _POCO,
    _SERIALIZER   ) 
    -
    -
    -

    Value:

    namespace Nv {                                                                          \
     namespace Blast {                                                                       \
    @@ -123,8 +80,7 @@
         static bool deserializeInto(_SERIALIZER::Reader reader, _POCO * poco);              \
     };                                                                                      \
     }                                                                                       \
    -}                                                                                       \
    -                                                                                        \
    +}
     

    diff --git a/docs/source_docs/files/_ext_px_asset_d_t_o_8h-source.html b/docs/source_docs/files/_ext_px_asset_d_t_o_8h-source.html index 9ca69cf..15255b4 100644 --- a/docs/source_docs/files/_ext_px_asset_d_t_o_8h-source.html +++ b/docs/source_docs/files/_ext_px_asset_d_t_o_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/serialization/source/DTO/ExtPxAssetDTO.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/DTO/ExtPxAssetDTO.h Source File @@ -35,22 +35,40 @@

  • File Members
  • -

    sdk/extensions/serialization/source/DTO/ExtPxAssetDTO.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 #pragma once
    -00012 #include "NvBlastBondDTO.h"
    -00013 #include "NvBlastExtPxAsset.h"
    -00014 #include "generated/NvBlastExtSerialization.capn.h"
    -00015 
    -00016 DTO_CLASS(ExtPxAsset, Nv::Blast::ExtPxAsset, Nv::Blast::Serialization::ExtPxAsset)
    +

    sdk/extensions/serialization/source/DTO/ExtPxAssetDTO.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #pragma once
    +00030 #include "NvBlastBondDTO.h"
    +00031 #include "NvBlastExtPxAsset.h"
    +00032 #include "generated/NvBlastExtPxSerialization.capn.h"
    +00033 
    +00034 DTO_CLASS(ExtPxAsset, Nv::Blast::ExtPxAsset, Nv::Blast::Serialization::ExtPxAsset)
     

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    NVBLAST_API bool NvBlastActorIsSplitRequired (const NvBlastActor actor,
    NvBlastLog  logFn 
    )
    +
    +
    + +

    +Determines if the actor is damaged (was fractured) and split call is required.

    +The actor could be damaged by calling NvBlastActorApplyFracture or NvBlastFamilyApplyFracture and NvBlastActorSplit is expected after. This function gives a hint that NvBlastActorSplit will have some work to be done and actor could potentially be split. If actor is not damaged calling NvBlastActorSplit will make no effect.

    +

    Returns:
    true iff split call is required for this actor.
    +

    @@ -875,7 +945,7 @@ Releases the oldActor and creates its children newActors if necessary.

    - +

    @@ -915,6 +985,12 @@ Releases the oldActor and creates its children newActors if necessary.

    + + + + + + @@ -942,18 +1018,19 @@ Function applies reorder map on [in]  +
    const uint32_t *  chunkReorderMap,
    bool  keepBondNormalChunkOrder,
    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] keepBondNormalChunkOrder If true, bond normals will be flipped if their chunk index order was reveresed by the reorder map.
    [in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.

    - +

    - + @@ -982,6 +1059,12 @@ Function applies reorder map on const uint32_t *  + + + + + + @@ -1015,6 +1098,7 @@ This overload of function reorders chunks in place.

    +
    NVBLAST_API void NvBlastApplyAssetDescChunkReorderMapInplace NVBLAST_API void NvBlastApplyAssetDescChunkReorderMapInPlace ( NvBlastChunkDesc chunkDescs, chunkReorderMap,
    bool  keepBondNormalChunkOrder,
    [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] keepBondNormalChunkOrder If true, bond normals will be flipped if their chunk index order was reveresed by the reorder map.
    [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.
    @@ -1396,7 +1480,7 @@ Retrieve the data format version for the given asset

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

    Returns:
    the data format version (NvBlastAssetDataFormat).
    +
    Returns:
    the data format version (NvBlastAssetDataFormat).

    @@ -1509,6 +1593,43 @@ Retrieve the memory size (in bytes) of the given data asset

    Returns:
    the memory size of the asset (in bytes).
    + +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    NVBLAST_API uint32_t NvBlastAssetGetSupportChunkCount (const NvBlastAsset asset,
    NvBlastLog  logFn 
    )
    +
    +
    + +

    +Get the number of support chunks in the given asset. This will equal the number of graph nodes in NvBlastSupportGraph::nodeCount returned by NvBlastAssetGetSupportGraph only if no extra "world" node was created due to bonds defined between support chunks and the world. If such bonds were created, then there is an extra graph node representing the world, and this function will return NvBlastSupportGraph::nodeCount - 1.

    +

    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.
    +

    @@ -1638,7 +1759,7 @@ Set an asset's ID

    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.

    +1. Root chunks (chunks with invalid parent index) must be first in the asset's chunk list. 2. Chunks in the asset must be arranged such that sibling chunks (chunks with the same parent) are contiguous. 3. Chunks must be arranged such that upper-support chunks (support chunks and their parent chunks) 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:
    @@ -1943,6 +2064,43 @@ Retrieve the active actors associated with the given family.

    Returns:
    the number of actor pointers written to actors. This will not exceed actorsSize.
    + +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    NVBLAST_API const NvBlastAsset* NvBlastFamilyGetAsset (const NvBlastFamily family,
    NvBlastLog  logFn 
    )
    +
    +
    + +

    +Retrieve the asset of the given family.

    +

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

    @@ -2291,7 +2449,7 @@ Returns the number of bytes of scratch memory that the user must supply to NvBla

    - +

    @@ -2325,6 +2483,12 @@ Returns the number of bytes of scratch memory that the user must supply to NvBla + + + + + + @@ -2356,6 +2520,7 @@ Function basically calls NvBlastBuildAssetDescChunkReorderMap and NvBlastApplyAs +
    uint32_t *  chunkReorderMap,
    bool  keepBondNormalChunkOrder,
    [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] keepBondNormalChunkOrder If true, bond normals will be flipped if their chunk index order was reveresed by the reorder map.
    [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.
    diff --git a/docs/source_docs/files/_nv_blast_actor_8h-source.html b/docs/source_docs/files/_nv_blast_actor_8h-source.html index affd031..f3b1bb5 100644 --- a/docs/source_docs/files/_nv_blast_actor_8h-source.html +++ b/docs/source_docs/files/_nv_blast_actor_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/lowlevel/source/NvBlastActor.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/lowlevel/source/NvBlastActor.h Source File @@ -35,375 +35,455 @@
  • File Members
  • -

    sdk/lowlevel/source/NvBlastActor.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 NVBLASTACTOR_H
    -00012 #define NVBLASTACTOR_H
    -00013 
    -00014 
    -00015 #include "NvBlastAsset.h"
    -00016 #include "NvBlastDLink.h"
    -00017 #include "NvBlastIteratorBase.h"
    -00018 #include "NvBlastSupportGraph.h"
    -00019 
    -00020 #include <cstring>
    -00021 
    -00022 
    -00023 namespace Nv
    -00024 {
    -00025 namespace Blast
    -00026 {
    +

    sdk/lowlevel/source/NvBlastActor.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
     00027 
    -00028 // Forward declarations
    -00029 class FamilyGraph;
    -00030 struct FamilyHeader;
    -00031 
    -00038 class Actor : public NvBlastActor
    -00039 {
    -00040     friend struct FamilyHeader;
    +00028 
    +00029 #ifndef NVBLASTACTOR_H
    +00030 #define NVBLASTACTOR_H
    +00031 
    +00032 
    +00033 #include "NvBlastAsset.h"
    +00034 #include "NvBlastDLink.h"
    +00035 #include "NvBlastIteratorBase.h"
    +00036 #include "NvBlastSupportGraph.h"
    +00037 #include "NvBlastFamilyGraph.h"
    +00038 #include "NvBlastPreprocessorInternal.h"
    +00039 
    +00040 #include <cstring>
     00041 
    -00042     friend void updateVisibleChunksFromSupportChunk<>(Actor*, IndexDLink<uint32_t>*, uint32_t*, uint32_t, uint32_t, const NvBlastChunk*, uint32_t);
    -00043 
    -00044 public:
    -00045     Actor() : m_familyOffset(0), m_firstVisibleChunkIndex(UINT32_MAX), m_visibleChunkCount(0), m_firstGraphNodeIndex(UINT32_MAX), m_graphNodeCount(0), m_leafChunkCount(0) {}
    -00046 
    -00048 
    -00054     FamilyHeader*       getFamilyHeader() const;
    -00055 
    -00061     const Asset*        getAsset() const;
    -00062 
    -00070     bool                isActive() const;
    -00071 
    -00077     bool                isSubSupportChunk() const;
    -00078 
    -00085     bool                isSingleSupportChunk() const;
    -00086 
    -00092     uint32_t            getIndex() const;
    -00093 
    -00100     uint32_t            getVisibleChunkCount() const;
    -00101 
    -00107     uint32_t            getFirstVisibleChunkIndex() const;
    -00108 
    -00115     uint32_t            getGraphNodeCount() const;
    -00116 
    -00122     uint32_t            getLeafChunkCount() const;
    -00123 
    -00129     uint32_t            getFirstGraphNodeIndex() const;
    -00130 
    -00136     uint32_t            getFirstSubsupportChunkIndex() const;
    -00137 
    -00143     const SupportGraph* getGraph() const;
    -00144 
    -00151     FamilyGraph*        getFamilyGraph() const;
    -00152 
    -00158     NvBlastChunk*       getChunks() const;
    -00159 
    -00165     NvBlastBond*        getBonds() const;
    -00166 
    -00174     float*              getLowerSupportChunkHealths() const;
    -00175 
    -00181     float*              getSubsupportChunkHealths() const;
    -00182 
    -00188     float*              getBondHealths() const;
    -00189 
    -00195     const uint32_t*     getGraphNodeIndexLinks() const;
    -00196 
    -00197 
    -00199 
    -00213     class VisibleChunkIt : public DListIt<uint32_t>
    -00214     {
    -00215     public:
    -00217         VisibleChunkIt(const Actor& actor);
    -00218     };
    +00042 
    +00043 namespace Nv
    +00044 {
    +00045 namespace Blast
    +00046 {
    +00047 
    +00048 // Forward declarations
    +00049 class FamilyGraph;
    +00050 struct FamilyHeader;
    +00051 
    +00058 class Actor : public NvBlastActor
    +00059 {
    +00060     friend struct FamilyHeader;
    +00061 
    +00062     friend void updateVisibleChunksFromSupportChunk<>(Actor*, IndexDLink<uint32_t>*, uint32_t*, uint32_t, uint32_t, const NvBlastChunk*, uint32_t);
    +00063 
    +00064 public:
    +00065     Actor() : m_familyOffset(0), m_firstVisibleChunkIndex(UINT32_MAX), m_visibleChunkCount(0), m_firstGraphNodeIndex(UINT32_MAX), m_graphNodeCount(0), m_leafChunkCount(0) {}
    +00066 
    +00068 
    +00074     FamilyHeader*       getFamilyHeader() const;
    +00075 
    +00081     const Asset*        getAsset() const;
    +00082 
    +00090     bool                isActive() const;
    +00091 
    +00097     bool                isSubSupportChunk() const;
    +00098 
    +00105     bool                isSingleSupportChunk() const;
    +00106 
    +00112     uint32_t            getIndex() const;
    +00113 
    +00120     uint32_t            getVisibleChunkCount() const;
    +00121 
    +00127     uint32_t            getFirstVisibleChunkIndex() const;
    +00128 
    +00135     uint32_t            getGraphNodeCount() const;
    +00136 
    +00142     uint32_t            getLeafChunkCount() const;
    +00143 
    +00149     uint32_t            getFirstGraphNodeIndex() const;
    +00150 
    +00156     uint32_t            getFirstSubsupportChunkIndex() const;
    +00157 
    +00163     const SupportGraph* getGraph() const;
    +00164 
    +00171     FamilyGraph*        getFamilyGraph() const;
    +00172 
    +00178     NvBlastChunk*       getChunks() const;
    +00179 
    +00185     NvBlastBond*        getBonds() const;
    +00186 
    +00194     float*              getLowerSupportChunkHealths() const;
    +00195 
    +00201     float*              getSubsupportChunkHealths() const;
    +00202 
    +00208     float*              getBondHealths() const;
    +00209 
    +00215     const uint32_t*     getGraphNodeIndexLinks() const;
    +00216 
    +00217 
     00219 
    -00233     class GraphNodeIt : public LListIt<uint32_t>
    +00233     class VisibleChunkIt : public DListIt<uint32_t>
     00234     {
     00235     public:
    -00237         GraphNodeIt(const Actor& actor);
    +00237         VisibleChunkIt(const Actor& actor);
     00238     };
     00239 
    -00240 
    -00242 
    -00255     static Actor*       create(NvBlastFamily* family, const NvBlastActorDesc* desc, void* scratch, NvBlastLog logFn);
    -00256 
    -00265     static size_t       createRequiredScratch(const NvBlastFamily* family);
    -00266 
    -00278     static Actor*       deserialize(NvBlastFamily* family, const void* buffer, NvBlastLog logFn);
    -00279 
    -00289     uint32_t            serialize(void* buffer, uint32_t bufferSize, NvBlastLog logFn) const;
    -00290 
    -00298     uint32_t            serializationRequiredStorage(NvBlastLog logFn) const;
    +00253     class GraphNodeIt : public LListIt<uint32_t>
    +00254     {
    +00255     public:
    +00257         GraphNodeIt(const Actor& actor);
    +00258     };
    +00259 
    +00260 
    +00262 
    +00275     static Actor*       create(NvBlastFamily* family, const NvBlastActorDesc* desc, void* scratch, NvBlastLog logFn);
    +00276 
    +00285     static size_t       createRequiredScratch(const NvBlastFamily* family);
    +00286 
    +00298     static Actor*       deserialize(NvBlastFamily* family, const void* buffer, NvBlastLog logFn);
     00299 
    -00306     bool                release();
    -00307 
    -00308 
    +00309     uint32_t            serialize(void* buffer, uint32_t bufferSize, NvBlastLog logFn) const;
     00310 
    -00314     uint32_t            damageBond(uint32_t nodeIndex0, uint32_t nodeIndex1, float healthDamage);
    -00315 
    -00319     void                damageBond(uint32_t nodeIndex0, uint32_t nodeIndex1, uint32_t bondIndex, float healthDamage);
    -00320 
    -00324     uint32_t            damageBond(const NvBlastBondFractureData& cmd);
    -00325 
    -00329     void                generateFracture(NvBlastFractureBuffers* commandBuffers, const NvBlastDamageProgram& program, const NvBlastProgramParams* programParams, NvBlastLog logFn, NvBlastTimers* timers) const;
    +00318     uint32_t            serializationRequiredStorage(NvBlastLog logFn) const;
    +00319 
    +00326     bool                release();
    +00327 
    +00328 
     00330 
    -00340     void                fractureSubSupportNoEvents(uint32_t chunkIndex, uint32_t suboffset, float healthDamage, float* chunkHealths, const NvBlastChunk* chunks);
    -00341 
    -00356     void                fractureSubSupport(uint32_t chunkIndex, uint32_t suboffset, float healthDamage, float* chunkHealths, const NvBlastChunk* chunks, NvBlastChunkFractureData* outBuffer, uint32_t* currentIndex, const uint32_t maxCount);
    -00357 
    -00364     void                fractureNoEvents(uint32_t chunkFractureCount, const NvBlastChunkFractureData* chunkFractures);
    -00365 
    -00377     void                fractureWithEvents(uint32_t chunkFractureCount, const NvBlastChunkFractureData* commands, NvBlastChunkFractureData* events, uint32_t eventsSize, uint32_t* count);
    +00334     void                generateFracture(NvBlastFractureBuffers* commandBuffers, const NvBlastDamageProgram& program, const NvBlastProgramParams* programParams, NvBlastLog logFn, NvBlastTimers* timers) const;
    +00335 
    +00339     uint32_t            damageBond(uint32_t nodeIndex0, uint32_t nodeIndex1, float healthDamage);
    +00340 
    +00344     void                damageBond(uint32_t nodeIndex0, uint32_t nodeIndex1, uint32_t bondIndex, float healthDamage);
    +00345 
    +00349     uint32_t            damageBond(const NvBlastBondFractureData& cmd);
    +00350 
    +00354     void                applyFracture(NvBlastFractureBuffers* eventBuffers, const NvBlastFractureBuffers* commands, NvBlastLog logFn, NvBlastTimers* timers);
    +00355 
    +00361     size_t              splitRequiredScratch() const;
    +00362 
    +00366     uint32_t            split(NvBlastActorSplitEvent* result, uint32_t newActorsMaxCount, void* scratch, NvBlastLog logFn, NvBlastTimers* timers);
    +00367 
    +00377     uint32_t            findIslands(void* scratch);
     00378 
    -00391     void                fractureInPlaceEvents(uint32_t chunkFractureCount, NvBlastChunkFractureData* inoutbuffer, uint32_t eventsSize, uint32_t* count);
    -00392 
    -00396     void                applyFracture(NvBlastFractureBuffers* eventBuffers, const NvBlastFractureBuffers* commands, NvBlastLog logFn, NvBlastTimers* timers);
    -00397 
    -00403     size_t              splitRequiredScratch() const;
    -00404 
    -00408     uint32_t            split(NvBlastActorSplitEvent* result, uint32_t newActorsMaxCount, void* scratch, NvBlastLog logFn, NvBlastTimers* timers);
    -00409 
    -00419     uint32_t            findIslands(void* scratch);
    -00420 
    -00437     uint32_t            partition(Actor** newActors, uint32_t newActorsSize, NvBlastLog logFn);
    +00395     uint32_t            partition(Actor** newActors, uint32_t newActorsSize, NvBlastLog logFn);
    +00396 
    +00400     void                updateVisibleChunksFromGraphNodes();
    +00401 
    +00416     uint32_t            partitionSingleLowerSupportChunk(Actor** newActors, uint32_t newActorsSize, NvBlastLog logFn);
    +00417 
    +00432     uint32_t            partitionMultipleGraphNodes(Actor** newActors, uint32_t newActorsSize, NvBlastLog logFn);
    +00433 
    +00437     bool                isBoundToWorld() const;
     00438 
    -00442     void                updateVisibleChunksFromGraphNodes();
    +00442     bool                isSplitRequired() const;
     00443 
    -00458     uint32_t            partitionSingleLowerSupportChunk(Actor** newActors, uint32_t newActorsSize, NvBlastLog logFn);
    -00459 
    -00474     uint32_t            partitionMultipleGraphNodes(Actor** newActors, uint32_t newActorsSize, NvBlastLog logFn);
    -00475 
    -00476 private:
    -00477 
    -00479 
    -00487     uint32_t    m_familyOffset;
    +00444 private:
    +00445 
    +00447 
    +00455     uint32_t    m_familyOffset;
    +00456 
    +00461     uint32_t    m_firstVisibleChunkIndex;
    +00462 
    +00466     uint32_t    m_visibleChunkCount;
    +00467 
    +00472     uint32_t    m_firstGraphNodeIndex;
    +00473 
    +00477     uint32_t    m_graphNodeCount;
    +00478 
    +00482     uint32_t    m_leafChunkCount;
    +00483 };
    +00484 
    +00485 } // namespace Blast
    +00486 } // namespace Nv
    +00487 
     00488 
    -00493     uint32_t    m_firstVisibleChunkIndex;
    -00494 
    -00498     uint32_t    m_visibleChunkCount;
    -00499 
    -00504     uint32_t    m_firstGraphNodeIndex;
    +00489 #include "NvBlastFamily.h"
    +00490 
    +00491 
    +00492 namespace Nv
    +00493 {
    +00494 namespace Blast
    +00495 {
    +00496 
    +00498 
    +00499 NV_INLINE FamilyHeader* Actor::getFamilyHeader() const
    +00500 {
    +00501     NVBLAST_ASSERT(isActive());
    +00502     return (FamilyHeader*)((uintptr_t)this - (uintptr_t)m_familyOffset);
    +00503 }
    +00504 
     00505 
    -00509     uint32_t    m_graphNodeCount;
    +00506 NV_INLINE const Asset* Actor::getAsset() const
    +00507 {
    +00508     return getFamilyHeader()->m_asset;
    +00509 }
     00510 
    -00514     uint32_t    m_leafChunkCount;
    -00515 };
    +00511 
    +00512 NV_INLINE bool Actor::isActive() const
    +00513 {
    +00514     return m_familyOffset != 0;
    +00515 }
     00516 
    -00517 } // namespace Blast
    -00518 } // namespace Nv
    -00519 
    -00520 
    -00521 #include "NvBlastFamily.h"
    +00517 
    +00518 NV_INLINE bool Actor::isSubSupportChunk() const
    +00519 {
    +00520     return m_graphNodeCount == 0;
    +00521 }
     00522 
     00523 
    -00524 namespace Nv
    -00525 {
    -00526 namespace Blast
    -00527 {
    +00524 NV_INLINE bool Actor::isSingleSupportChunk() const
    +00525 {
    +00526     return m_graphNodeCount == 1;
    +00527 }
     00528 
    -00530 
    -00531 NV_INLINE FamilyHeader* Actor::getFamilyHeader() const
    -00532 {
    -00533     NVBLAST_ASSERT(isActive());
    -00534     return (FamilyHeader*)((uintptr_t)this - (uintptr_t)m_familyOffset);
    -00535 }
    -00536 
    -00537 
    -00538 NV_INLINE const Asset* Actor::getAsset() const
    -00539 {
    -00540     return getFamilyHeader()->m_asset;
    -00541 }
    -00542 
    -00543 
    -00544 NV_INLINE bool Actor::isActive() const
    -00545 {
    -00546     return m_familyOffset != 0;
    -00547 }
    -00548 
    -00549 
    -00550 NV_INLINE bool Actor::isSubSupportChunk() const
    -00551 {
    -00552     return m_graphNodeCount == 0;
    -00553 }
    -00554 
    -00555 
    -00556 NV_INLINE bool Actor::isSingleSupportChunk() const
    -00557 {
    -00558     return m_graphNodeCount == 1;
    -00559 }
    -00560 
    -00561 
    -00562 NV_INLINE uint32_t Actor::getIndex() const
    -00563 {
    -00564     NVBLAST_ASSERT(isActive());
    -00565     const FamilyHeader* header = getFamilyHeader();
    -00566     NVBLAST_ASSERT(header != nullptr);
    -00567     const size_t index = this - header->getActors();
    -00568     NVBLAST_ASSERT(index <= UINT32_MAX);
    -00569     return (uint32_t)index;
    -00570 }
    -00571 
    -00572 
    -00573 NV_INLINE uint32_t Actor::getVisibleChunkCount() const
    -00574 {
    -00575     return m_visibleChunkCount;
    -00576 }
    -00577 
    -00578 
    -00579 NV_INLINE uint32_t Actor::getFirstVisibleChunkIndex() const
    -00580 {
    -00581     return m_firstVisibleChunkIndex;
    -00582 }
    -00583 
    +00529 
    +00530 NV_INLINE uint32_t Actor::getIndex() const
    +00531 {
    +00532     NVBLAST_ASSERT(isActive());
    +00533     const FamilyHeader* header = getFamilyHeader();
    +00534     NVBLAST_ASSERT(header != nullptr);
    +00535     const size_t index = this - header->getActors();
    +00536     NVBLAST_ASSERT(index <= UINT32_MAX);
    +00537     return (uint32_t)index;
    +00538 }
    +00539 
    +00540 
    +00541 NV_INLINE uint32_t Actor::getVisibleChunkCount() const
    +00542 {
    +00543     return m_visibleChunkCount;
    +00544 }
    +00545 
    +00546 
    +00547 NV_INLINE uint32_t Actor::getFirstVisibleChunkIndex() const
    +00548 {
    +00549     return m_firstVisibleChunkIndex;
    +00550 }
    +00551 
    +00552 
    +00553 NV_INLINE uint32_t Actor::getGraphNodeCount() const
    +00554 {
    +00555     return m_graphNodeCount;
    +00556 }
    +00557 
    +00558 
    +00559 NV_INLINE uint32_t Actor::getLeafChunkCount() const
    +00560 {
    +00561     return m_leafChunkCount;
    +00562 }
    +00563 
    +00564 
    +00565 NV_INLINE uint32_t Actor::getFirstGraphNodeIndex() const
    +00566 {
    +00567     return m_firstGraphNodeIndex;
    +00568 }
    +00569 
    +00570 NV_INLINE uint32_t Actor::getFirstSubsupportChunkIndex() const
    +00571 {
    +00572     return getAsset()->m_firstSubsupportChunkIndex;
    +00573 }
    +00574 
    +00575 NV_INLINE const SupportGraph* Actor::getGraph() const
    +00576 {
    +00577     return &getAsset()->m_graph;
    +00578 }
    +00579 
    +00580 NV_INLINE FamilyGraph* Actor::getFamilyGraph() const
    +00581 {
    +00582     return getFamilyHeader()->getFamilyGraph();
    +00583 }
     00584 
    -00585 NV_INLINE uint32_t Actor::getGraphNodeCount() const
    +00585 NV_INLINE NvBlastChunk* Actor::getChunks() const
     00586 {
    -00587     return m_graphNodeCount;
    +00587     return getAsset()->getChunks();
     00588 }
     00589 
    -00590 
    -00591 NV_INLINE uint32_t Actor::getLeafChunkCount() const
    -00592 {
    -00593     return m_leafChunkCount;
    -00594 }
    -00595 
    -00596 
    -00597 NV_INLINE uint32_t Actor::getFirstGraphNodeIndex() const
    -00598 {
    -00599     return m_firstGraphNodeIndex;
    -00600 }
    -00601 
    -00602 NV_INLINE uint32_t Actor::getFirstSubsupportChunkIndex() const
    -00603 {
    -00604     return getAsset()->m_firstSubsupportChunkIndex;
    -00605 }
    -00606 
    -00607 NV_INLINE const SupportGraph* Actor::getGraph() const
    -00608 {
    -00609     return &getAsset()->m_graph;
    -00610 }
    -00611 
    -00612 NV_INLINE FamilyGraph* Actor::getFamilyGraph() const
    -00613 {
    -00614     return getFamilyHeader()->getFamilyGraph();
    -00615 }
    -00616 
    -00617 NV_INLINE NvBlastChunk* Actor::getChunks() const
    -00618 {
    -00619     return getAsset()->getChunks();
    -00620 }
    -00621 
    -00622 NV_INLINE NvBlastBond* Actor::getBonds() const
    -00623 {
    -00624     return getAsset()->getBonds();
    -00625 }
    -00626 
    -00627 NV_INLINE float* Actor::getLowerSupportChunkHealths() const
    -00628 {
    -00629     return getFamilyHeader()->getLowerSupportChunkHealths();
    -00630 }
    -00631 
    -00632 NV_INLINE float*    Actor::getSubsupportChunkHealths() const
    -00633 {
    -00634     return getFamilyHeader()->getSubsupportChunkHealths();
    -00635 }
    +00590 NV_INLINE NvBlastBond* Actor::getBonds() const
    +00591 {
    +00592     return getAsset()->getBonds();
    +00593 }
    +00594 
    +00595 NV_INLINE float* Actor::getLowerSupportChunkHealths() const
    +00596 {
    +00597     return getFamilyHeader()->getLowerSupportChunkHealths();
    +00598 }
    +00599 
    +00600 NV_INLINE float*    Actor::getSubsupportChunkHealths() const
    +00601 {
    +00602     return getFamilyHeader()->getSubsupportChunkHealths();
    +00603 }
    +00604 
    +00605 NV_INLINE float* Actor::getBondHealths() const
    +00606 {
    +00607     return getFamilyHeader()->getBondHealths();
    +00608 }
    +00609 
    +00610 NV_INLINE const uint32_t* Actor::getGraphNodeIndexLinks() const
    +00611 {
    +00612     return getFamilyHeader()->getGraphNodeIndexLinks();
    +00613 }
    +00614 
    +00615 
    +00616 NV_INLINE bool Actor::release()
    +00617 {
    +00618     // Do nothing if this actor is not currently active.
    +00619     if (!isActive())
    +00620     {
    +00621         return false;
    +00622     }
    +00623 
    +00624     FamilyHeader* header = getFamilyHeader();
    +00625 
    +00626     // Clear the graph node list
    +00627     uint32_t* graphNodeIndexLinks = getFamilyHeader()->getGraphNodeIndexLinks();
    +00628     while (!isInvalidIndex(m_firstGraphNodeIndex))
    +00629     {
    +00630         const uint32_t graphNodeIndex = m_firstGraphNodeIndex;
    +00631         m_firstGraphNodeIndex = graphNodeIndexLinks[m_firstGraphNodeIndex];
    +00632         graphNodeIndexLinks[graphNodeIndex] = invalidIndex<uint32_t>();
    +00633         --m_graphNodeCount;
    +00634     }
    +00635     NVBLAST_ASSERT(m_graphNodeCount == 0);
     00636 
    -00637 NV_INLINE float* Actor::getBondHealths() const
    -00638 {
    -00639     return getFamilyHeader()->getBondHealths();
    -00640 }
    -00641 
    -00642 NV_INLINE const uint32_t* Actor::getGraphNodeIndexLinks() const
    -00643 {
    -00644     return getFamilyHeader()->getGraphNodeIndexLinks();
    -00645 }
    -00646 
    -00647 
    -00648 NV_INLINE bool Actor::release()
    -00649 {
    -00650     // Do nothing if this actor is not currently active.
    -00651     if (!isActive())
    -00652     {
    -00653         return false;
    -00654     }
    -00655 
    -00656     FamilyHeader* header = getFamilyHeader();
    -00657 
    -00658     // Clear the graph node list
    -00659     uint32_t* graphNodeIndexLinks = getFamilyHeader()->getGraphNodeIndexLinks();
    -00660     while (!isInvalidIndex(m_firstGraphNodeIndex))
    -00661     {
    -00662         const uint32_t graphNodeIndex = m_firstGraphNodeIndex;
    -00663         m_firstGraphNodeIndex = graphNodeIndexLinks[m_firstGraphNodeIndex];
    -00664         graphNodeIndexLinks[graphNodeIndex] = invalidIndex<uint32_t>();
    -00665         --m_graphNodeCount;
    -00666     }
    -00667     NVBLAST_ASSERT(m_graphNodeCount == 0);
    -00668 
    -00669     const Asset* asset = getAsset();
    -00670 
    -00671     // Clear the visible chunk list
    -00672     IndexDLink<uint32_t>* visibleChunkIndexLinks = header->getVisibleChunkIndexLinks();
    -00673     uint32_t* chunkActorIndices = header->getChunkActorIndices();
    -00674     while (!isInvalidIndex(m_firstVisibleChunkIndex))
    -00675     {
    -00676         // Descendants of the visible actor may be accessed again if the actor is deserialized.  Clear subtree.
    -00677         for (Asset::DepthFirstIt i(*asset, m_firstVisibleChunkIndex, true); (bool)i; ++i)
    -00678         {
    -00679             chunkActorIndices[(uint32_t)i] = invalidIndex<uint32_t>();
    -00680         }
    -00681         IndexDList<uint32_t>().removeListHead(m_firstVisibleChunkIndex, visibleChunkIndexLinks);
    -00682         --m_visibleChunkCount;
    -00683     }
    -00684     NVBLAST_ASSERT(m_visibleChunkCount == 0);
    +00637     const Asset* asset = getAsset();
    +00638 
    +00639     // Clear the visible chunk list
    +00640     IndexDLink<uint32_t>* visibleChunkIndexLinks = header->getVisibleChunkIndexLinks();
    +00641     uint32_t* chunkActorIndices = header->getChunkActorIndices();
    +00642     while (!isInvalidIndex(m_firstVisibleChunkIndex))
    +00643     {
    +00644         // Descendants of the visible actor may be accessed again if the actor is deserialized.  Clear subtree.
    +00645         for (Asset::DepthFirstIt i(*asset, m_firstVisibleChunkIndex, true); (bool)i; ++i)
    +00646         {
    +00647             chunkActorIndices[(uint32_t)i] = invalidIndex<uint32_t>();
    +00648         }
    +00649         IndexDList<uint32_t>().removeListHead(m_firstVisibleChunkIndex, visibleChunkIndexLinks);
    +00650         --m_visibleChunkCount;
    +00651     }
    +00652     NVBLAST_ASSERT(m_visibleChunkCount == 0);
    +00653 
    +00654     // Clear the leaf chunk count
    +00655     m_leafChunkCount = 0;
    +00656 
    +00657     // This invalidates the actor and decrements the reference count
    +00658     header->returnActor(*this);
    +00659 
    +00660     return true;
    +00661 }
    +00662 
    +00663 
    +00664 NV_INLINE uint32_t Actor::partition(Actor** newActors, uint32_t newActorsSize, NvBlastLog logFn)
    +00665 {
    +00666     NVBLASTLL_CHECK(newActorsSize == 0 || newActors != nullptr, logFn, "Nv::Blast::Actor::partition: NULL newActors pointer array input with non-zero newActorCount.", return 0);
    +00667 
    +00668     // Call one of two partition functions depending on the actor's support status
    +00669     return m_graphNodeCount <= 1 ?
    +00670         partitionSingleLowerSupportChunk(newActors, newActorsSize, logFn) : // This actor will partition into subsupport chunks
    +00671         partitionMultipleGraphNodes(newActors, newActorsSize, logFn);       // This actor will partition into support chunks
    +00672 }
    +00673 
    +00674 
    +00675 NV_INLINE bool Actor::isBoundToWorld() const
    +00676 {
    +00677     const SupportGraph& graph = *getGraph();
    +00678 
    +00679     if (graph.m_nodeCount == 0)
    +00680     {
    +00681         return false;   // This shouldn't happen
    +00682     }
    +00683 
    +00684     const uint32_t lastGraphChunkIndex = graph.getChunkIndices()[graph.m_nodeCount - 1];
     00685 
    -00686     // Clear the leaf chunk count
    -00687     m_leafChunkCount = 0;
    -00688 
    -00689     // This invalidates the actor and decrements the reference count
    -00690     header->returnActor(*this);
    -00691 
    -00692     return true;
    -00693 }
    +00686     if (!isInvalidIndex(lastGraphChunkIndex))
    +00687     {
    +00688         return false;   // There is no world node
    +00689     }
    +00690 
    +00691     return getFamilyGraph()->getIslandIds()[graph.m_nodeCount - 1] == getIndex();
    +00692 }
    +00693 
     00694 
    -00695 
    -00696 NV_INLINE uint32_t Actor::partition(Actor** newActors, uint32_t newActorsSize, NvBlastLog logFn)
    -00697 {
    -00698     NVBLAST_CHECK(newActorsSize == 0 || newActors != nullptr, logFn, "Nv::Blast::Actor::partition: NULL newActors pointer array input with non-zero newActorCount.", return 0);
    -00699 
    -00700     // Call one of two partition functions depending on the actor's support status
    -00701     return m_graphNodeCount <= 1 ?
    -00702         partitionSingleLowerSupportChunk(newActors, newActorsSize, logFn) : // This actor will partition into subsupport chunks
    -00703         partitionMultipleGraphNodes(newActors, newActorsSize, logFn);       // This actor will partition into support chunks
    -00704 }
    -00705 
    -00706 
    -00708 
    -00709 NV_INLINE Actor::VisibleChunkIt::VisibleChunkIt(const Actor& actor) : DListIt<uint32_t>(actor.m_firstVisibleChunkIndex, actor.getFamilyHeader()->getVisibleChunkIndexLinks())
    -00710 {
    -00711 }
    -00712 
    -00713 
    -00715 
    -00716 NV_INLINE Actor::GraphNodeIt::GraphNodeIt(const Actor& actor) : LListIt<uint32_t>(actor.m_firstGraphNodeIndex, actor.getFamilyHeader()->getGraphNodeIndexLinks())
    -00717 {
    -00718 }
    -00719 
    -00720 } // namespace Blast
    -00721 } // namespace Nv
    -00722 
    -00723 
    -00729 uint32_t NvBlastActorClosestChunk(const float point[4], const NvBlastActor* actor, NvBlastLog logFn);
    -00730 
    -00731 
    -00732 #endif // ifndef NVBLASTACTOR_H
    +00695 NV_INLINE bool Actor::isSplitRequired() const
    +00696 {
    +00697     NVBLAST_ASSERT(isActive());
    +00698 
    +00699     if (getGraphNodeCount() <= 1)
    +00700     {
    +00701         uint32_t chunkHealthIndex = isSingleSupportChunk() ? getIndex() : getFirstVisibleChunkIndex() - getFirstSubsupportChunkIndex() + getGraph()->m_nodeCount;
    +00702         float* chunkHealths = getLowerSupportChunkHealths();
    +00703         if (chunkHealths[chunkHealthIndex] <= 0.0f)
    +00704         {
    +00705             const uint32_t chunkIndex = m_graphNodeCount == 0 ? m_firstVisibleChunkIndex : getGraph()->getChunkIndices()[m_firstGraphNodeIndex];
    +00706             if (!isInvalidIndex(chunkIndex))
    +00707             {
    +00708                 const NvBlastChunk& chunk = getChunks()[chunkIndex];
    +00709                 uint32_t childCount = chunk.childIndexStop - chunk.firstChildIndex;
    +00710                 return childCount > 0;
    +00711             }
    +00712         }
    +00713     }
    +00714     else
    +00715     {
    +00716         uint32_t* firstDirtyNodeIndices = getFamilyGraph()->getFirstDirtyNodeIndices();
    +00717         if (!isInvalidIndex(firstDirtyNodeIndices[getIndex()]))
    +00718         {
    +00719             return true;
    +00720         }
    +00721 
    +00722     }
    +00723     return false;
    +00724 }
    +00725 
    +00726 
    +00728 
    +00729 NV_INLINE Actor::VisibleChunkIt::VisibleChunkIt(const Actor& actor) : DListIt<uint32_t>(actor.m_firstVisibleChunkIndex, actor.getFamilyHeader()->getVisibleChunkIndexLinks())
    +00730 {
    +00731 }
    +00732 
    +00733 
    +00735 
    +00736 NV_INLINE Actor::GraphNodeIt::GraphNodeIt(const Actor& actor) : LListIt<uint32_t>(actor.m_firstGraphNodeIndex, actor.getFamilyHeader()->getGraphNodeIndexLinks())
    +00737 {
    +00738 }
    +00739 
    +00740 
    +00742 
    +00743 #if NVBLASTLL_CHECK_PARAMS
    +00744 
    +00747 static inline bool isValid(const NvBlastFractureBuffers* buffers)
    +00748 {
    +00749     if (buffers->chunkFractureCount != 0 && buffers->chunkFractures == nullptr)
    +00750         return false;
    +00751 
    +00752     if (buffers->bondFractureCount != 0 && buffers->bondFractures == nullptr)
    +00753         return false;
    +00754 
    +00755     return true;
    +00756 }
    +00757 #endif
    +00758 
    +00759 
    +00760 } // namespace Blast
    +00761 } // namespace Nv
    +00762 
    +00763 
    +00764 #endif // ifndef NVBLASTACTOR_H
     
    -

    sdk/lowlevel/source/NvBlastActorSerializationBlock.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 NVBLASTACTORSERIALIZATIONBLOCK_H
    -00012 #define NVBLASTACTORSERIALIZATIONBLOCK_H
    -00013 
    -00014 
    -00015 #include "NvBlastFixedBoolArray.h"
    -00016 
    -00017 
    -00018 namespace Nv
    -00019 {
    -00020 namespace Blast
    -00021 {
    -00022 
    -00026 struct ActorSerializationFormat
    -00027 {
    -00028     enum Version
    -00029     {
    -00031         Initial,
    +

    sdk/lowlevel/source/NvBlastActorSerializationBlock.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTACTORSERIALIZATIONBLOCK_H
    +00030 #define NVBLASTACTORSERIALIZATIONBLOCK_H
    +00031 
     00032 
    -00033         //  New formats must come before Count.  They should be given descriptive names with more information in comments.
    +00033 #include "NvBlastFixedBoolArray.h"
     00034 
    -00036         Count,
    -00037 
    -00039         Current = Count - 1
    -00040     };
    -00041 };
    -00042 
    -00043 
    -00051 struct ActorSerializationHeader
    -00052 {
    -00056     uint32_t    m_formatVersion;
    -00057 
    -00063     uint32_t    m_size;
    -00064 
    -00068     uint32_t    m_index;
    -00069 
    -00073     uint32_t    m_visibleChunkCount;
    -00074 
    -00078     uint32_t    m_graphNodeCount;
    -00079 
    -00083     uint32_t    m_leafChunkCount;
    -00084 
    -00088     NvBlastBlockArrayData(uint32_t, m_visibleChunkIndicesOffset, getVisibleChunkIndices, m_visibleChunkCount);
    -00089 
    -00093     NvBlastBlockArrayData(uint32_t, m_graphNodeIndicesOffset, getGraphNodeIndices, m_graphNodeCount);
    -00094 
    -00098     NvBlastBlockData(float, m_lowerSupportChunkHealthsOffset, getLowerSupportChunkHealths);
    -00099 
    -00103     NvBlastBlockData(float, m_bondHealthsOffset, getBondHealths);
    -00104 
    -00108     NvBlastBlockArrayData(uint32_t, m_fastRouteOffset, getFastRoute, m_graphNodeCount);
    -00109 
    -00113     NvBlastBlockArrayData(uint32_t, m_hopCountsOffset, getHopCounts, m_graphNodeCount);
    -00114 
    -00118     NvBlastBlockData(FixedBoolArray, m_edgeRemovedArrayOffset, getEdgeRemovedArray);
    -00119 };
    -00120 
    -00121 
    -00123 
    -00134 NV_INLINE size_t getActorSerializationSize(uint32_t visibleChunkCount, uint32_t lowerSupportChunkCount, uint32_t graphNodeCount, uint32_t bondCount)
    -00135 {
    -00136     // Family offsets
    -00137     const size_t visibleChunkIndicesOffset = align16(sizeof(ActorSerializationHeader));                             // size = visibleChunkCount*sizeof(uint32_t)
    -00138     const size_t graphNodeIndicesOffset = align16(visibleChunkIndicesOffset + visibleChunkCount*sizeof(uint32_t));  // size = graphNodeCount*sizeof(uint32_t)
    -00139     const size_t lowerSupportHealthsOffset = align16(graphNodeIndicesOffset + graphNodeCount*sizeof(uint32_t));     // size = lowerSupportChunkCount*sizeof(float)
    -00140     const size_t bondHealthsOffset = align16(lowerSupportHealthsOffset + lowerSupportChunkCount*sizeof(float));     // size = bondCount*sizeof(float)
    -00141     const size_t fastRouteOffset = align16(bondHealthsOffset + bondCount*sizeof(float));                            // size = graphNodeCount*sizeof(uint32_t)
    -00142     const size_t hopCountsOffset = align16(fastRouteOffset + graphNodeCount*sizeof(uint32_t));                      // size = graphNodeCount*sizeof(uint32_t)
    -00143     const size_t edgeRemovedArrayOffset = align16(hopCountsOffset + graphNodeCount*sizeof(uint32_t));               // size = 0 or FixedBoolArray::requiredMemorySize(bondCount)
    -00144     return align16(edgeRemovedArrayOffset + (bondCount == 0 ? 0 : FixedBoolArray::requiredMemorySize(bondCount)));
    -00145 }
    -00146 
    -00147 } // namespace Blast
    -00148 } // namespace Nv
    -00149 
    -00150 
    -00151 #endif // ifndef NVBLASTACTORSERIALIZATIONBLOCK_H
    +00035 
    +00036 namespace Nv
    +00037 {
    +00038 namespace Blast
    +00039 {
    +00040 
    +00044 struct ActorSerializationFormat
    +00045 {
    +00046     enum Version
    +00047     {
    +00049         Initial,
    +00050 
    +00051         //  New formats must come before Count.  They should be given descriptive names with more information in comments.
    +00052 
    +00054         Count,
    +00055 
    +00057         Current = Count - 1
    +00058     };
    +00059 };
    +00060 
    +00061 
    +00069 struct ActorSerializationHeader
    +00070 {
    +00074     uint32_t    m_formatVersion;
    +00075 
    +00081     uint32_t    m_size;
    +00082 
    +00086     uint32_t    m_index;
    +00087 
    +00091     uint32_t    m_visibleChunkCount;
    +00092 
    +00096     uint32_t    m_graphNodeCount;
    +00097 
    +00101     uint32_t    m_leafChunkCount;
    +00102 
    +00106     NvBlastBlockArrayData(uint32_t, m_visibleChunkIndicesOffset, getVisibleChunkIndices, m_visibleChunkCount);
    +00107 
    +00111     NvBlastBlockArrayData(uint32_t, m_graphNodeIndicesOffset, getGraphNodeIndices, m_graphNodeCount);
    +00112 
    +00116     NvBlastBlockData(float, m_lowerSupportChunkHealthsOffset, getLowerSupportChunkHealths);
    +00117 
    +00121     NvBlastBlockData(float, m_bondHealthsOffset, getBondHealths);
    +00122 
    +00126     NvBlastBlockArrayData(uint32_t, m_fastRouteOffset, getFastRoute, m_graphNodeCount);
    +00127 
    +00131     NvBlastBlockArrayData(uint32_t, m_hopCountsOffset, getHopCounts, m_graphNodeCount);
    +00132 
    +00136     NvBlastBlockData(FixedBoolArray, m_edgeRemovedArrayOffset, getEdgeRemovedArray);
    +00137 };
    +00138 
    +00139 
    +00141 
    +00152 NV_INLINE size_t getActorSerializationSize(uint32_t visibleChunkCount, uint32_t lowerSupportChunkCount, uint32_t graphNodeCount, uint32_t bondCount)
    +00153 {
    +00154     // Family offsets
    +00155     const size_t visibleChunkIndicesOffset = align16(sizeof(ActorSerializationHeader));                             // size = visibleChunkCount*sizeof(uint32_t)
    +00156     const size_t graphNodeIndicesOffset = align16(visibleChunkIndicesOffset + visibleChunkCount*sizeof(uint32_t));  // size = graphNodeCount*sizeof(uint32_t)
    +00157     const size_t lowerSupportHealthsOffset = align16(graphNodeIndicesOffset + graphNodeCount*sizeof(uint32_t));     // size = lowerSupportChunkCount*sizeof(float)
    +00158     const size_t bondHealthsOffset = align16(lowerSupportHealthsOffset + lowerSupportChunkCount*sizeof(float));     // size = bondCount*sizeof(float)
    +00159     const size_t fastRouteOffset = align16(bondHealthsOffset + bondCount*sizeof(float));                            // size = graphNodeCount*sizeof(uint32_t)
    +00160     const size_t hopCountsOffset = align16(fastRouteOffset + graphNodeCount*sizeof(uint32_t));                      // size = graphNodeCount*sizeof(uint32_t)
    +00161     const size_t edgeRemovedArrayOffset = align16(hopCountsOffset + graphNodeCount*sizeof(uint32_t));               // size = 0 or FixedBoolArray::requiredMemorySize(bondCount)
    +00162     return align16(edgeRemovedArrayOffset + (bondCount == 0 ? 0 : FixedBoolArray::requiredMemorySize(bondCount)));
    +00163 }
    +00164 
    +00165 } // namespace Blast
    +00166 } // namespace Nv
    +00167 
    +00168 
    +00169 #endif // ifndef NVBLASTACTORSERIALIZATIONBLOCK_H
     
    -

    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
    +

    sdk/common/NvBlastAssert.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTASSERT_H
    +00030 #define NVBLASTASSERT_H
    +00031 
    +00032 
    +00033 #include "NvBlastPreprocessor.h"
    +00034 
    +00035 
    +00036 #if !NV_ENABLE_ASSERTS
    +00037 #define NVBLAST_ASSERT(exp) ((void)0)
    +00038 #define NVBLAST_ALWAYS_ASSERT_MESSAGE(message) ((void)0)
    +00039 #define NVBLAST_ASSERT_WITH_MESSAGE(condition, message) ((void)0)
    +00040 #else
    +00041 #if NV_VC
    +00042 #define NVBLAST_CODE_ANALYSIS_ASSUME(exp)                                                                     \
    +00043     __analysis_assume(!!(exp)) // This macro will be used to get rid of analysis warning messages if a NVBLAST_ASSERT is used
    +00044 // to "guard" illegal mem access, for example.
    +00045 #else
    +00046 #define NVBLAST_CODE_ANALYSIS_ASSUME(exp)
    +00047 #endif
    +00048 #define NVBLAST_ASSERT(exp)                                                                                   \
    +00049 {                                                                                                             \
    +00050     static bool _ignore = false;                                                                              \
    +00051     if (!(exp) && !_ignore) NvBlastAssertHandler(#exp, __FILE__, __LINE__, _ignore);                          \
    +00052     NVBLAST_CODE_ANALYSIS_ASSUME(exp);                                                                        \
    +00053 } ((void)0)
    +00054 #define NVBLAST_ALWAYS_ASSERT_MESSAGE(message)                                                                    \
    +00055 {                                                                                                             \
    +00056     static bool _ignore = false;                                                                              \
    +00057     if(!_ignore)                                                                                              \
    +00058     {                                                                                                         \
    +00059         NvBlastAssertHandler(message, __FILE__, __LINE__, _ignore);                                               \
    +00060     }                                                                                                         \
    +00061 } ((void)0)
    +00062 #define NVBLAST_ASSERT_WITH_MESSAGE(exp, message)                                                             \
    +00063 {                                                                                                             \
    +00064     static bool _ignore = false;                                                                              \
    +00065     if (!(exp) && !_ignore) NvBlastAssertHandler(message, __FILE__, __LINE__, _ignore);                       \
    +00066     NVBLAST_CODE_ANALYSIS_ASSUME(exp);                                                                        \
    +00067 } ((void)0)
    +00068 #endif
    +00069 
    +00070 #define NVBLAST_ALWAYS_ASSERT() NVBLAST_ASSERT(0)
    +00071 
    +00072 
    +00073 extern "C"
    +00074 {
    +00075 
    +00076 NVBLAST_API void NvBlastAssertHandler(const char* expr, const char* file, int line, bool& ignore);
    +00077 
    +00078 } // extern "C"
    +00079 
    +00080 
    +00081 #endif // #ifndef NVBLASTASSERT_H
     

    - +

    - + diff --git a/docs/source_docs/files/_nv_blast_asset_8h-source.html b/docs/source_docs/files/_nv_blast_asset_8h-source.html index 2d457ca..2b11969 100644 --- a/docs/source_docs/files/_nv_blast_asset_8h-source.html +++ b/docs/source_docs/files/_nv_blast_asset_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/lowlevel/source/NvBlastAsset.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/lowlevel/source/NvBlastAsset.h Source File @@ -35,159 +35,177 @@
  • File Members
  • -

    sdk/lowlevel/source/NvBlastAsset.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 NVBLASTASSET_H
    -00012 #define NVBLASTASSET_H
    -00013 
    -00014 
    -00015 #include "NvBlastSupportGraph.h"
    -00016 #include "NvBlast.h"
    -00017 #include "NvBlastAssert.h"
    -00018 #include "NvBlastIndexFns.h"
    -00019 #include "NvBlastChunkHierarchy.h"
    -00020 
    -00021 
    -00022 namespace Nv
    -00023 {
    -00024 namespace Blast
    -00025 {
    -00026 
    -00027 class Asset : public NvBlastAsset
    -00028 {
    -00029 public:
    -00030 
    -00034     struct ChunkAnnotation
    -00035     {
    -00036         enum Enum
    -00037         {
    -00038             Parent = (1 << 0),
    -00039             Support = (1 << 1),
    -00040             SuperSupport = (1 << 2),
    -00041 
    -00042             // Combinations
    -00043             UpperSupport = Support | SuperSupport
    -00044         };
    -00045     };
    -00046 
    -00047 
    -00058     static Asset*   create(void* mem, const NvBlastAssetDesc* desc, void* scratch, NvBlastLog logFn);
    +

    sdk/lowlevel/source/NvBlastAsset.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTASSET_H
    +00030 #define NVBLASTASSET_H
    +00031 
    +00032 
    +00033 #include "NvBlastSupportGraph.h"
    +00034 #include "NvBlast.h"
    +00035 #include "NvBlastAssert.h"
    +00036 #include "NvBlastIndexFns.h"
    +00037 #include "NvBlastChunkHierarchy.h"
    +00038 
    +00039 
    +00040 namespace Nv
    +00041 {
    +00042 namespace Blast
    +00043 {
    +00044 
    +00045 class Asset : public NvBlastAsset
    +00046 {
    +00047 public:
    +00048 
    +00052     struct ChunkAnnotation
    +00053     {
    +00054         enum Enum
    +00055         {
    +00056             Parent = (1 << 0),
    +00057             Support = (1 << 1),
    +00058             SuperSupport = (1 << 2),
     00059 
    -00066     static size_t   getMemorySize(const NvBlastAssetDesc* desc);
    -00067 
    -00076     static size_t   createRequiredScratch(const NvBlastAssetDesc* desc);
    +00060             // Combinations
    +00061             UpperSupport = Support | SuperSupport
    +00062         };
    +00063     };
    +00064 
    +00065 
    +00076     static Asset*   create(void* mem, const NvBlastAssetDesc* desc, void* scratch, NvBlastLog logFn);
     00077 
    -00078 
    -00084     uint32_t        getUpperSupportChunkCount() const;
    +00084     static size_t   getMemorySize(const NvBlastAssetDesc* desc);
     00085 
    -00091     uint32_t        getLowerSupportChunkCount() const;
    -00092 
    -00098     uint32_t        getBondCount() const;
    -00099 
    -00105     uint32_t        getHierarchyCount() const;
    -00106 
    -00114     uint32_t        getContiguousLowerSupportIndex(uint32_t chunkIndex) const;
    -00115 
    -00116 
    -00117     // Static functions
    -00118 
    -00138     static bool     ensureExactSupportCoverage(uint32_t& supportChunkCount, uint32_t& leafChunkCount, char* chunkAnnotation, uint32_t chunkCount, NvBlastChunkDesc* chunkDescs, bool testOnly, NvBlastLog logFn);
    -00139 
    -00155     static bool     testForValidChunkOrder(uint32_t chunkCount, const NvBlastChunkDesc* chunkDescs, const char* chunkAnnotation, void* scratch);
    -00156 
    +00094     static size_t   createRequiredScratch(const NvBlastAssetDesc* desc);
    +00095 
    +00096 
    +00102     uint32_t        getUpperSupportChunkCount() const;
    +00103 
    +00109     uint32_t        getLowerSupportChunkCount() const;
    +00110 
    +00116     uint32_t        getBondCount() const;
    +00117 
    +00123     uint32_t        getHierarchyCount() const;
    +00124 
    +00132     uint32_t        getContiguousLowerSupportIndex(uint32_t chunkIndex) const;
    +00133 
    +00134 
    +00135     // Static functions
    +00136 
    +00156     static bool     ensureExactSupportCoverage(uint32_t& supportChunkCount, uint32_t& leafChunkCount, char* chunkAnnotation, uint32_t chunkCount, NvBlastChunkDesc* chunkDescs, bool testOnly, NvBlastLog logFn);
     00157 
    -00159 
    -00163     NvBlastDataBlock    m_header;
    -00164 
    -00168     NvBlastID           m_ID;
    -00169 
    -00173     uint32_t            m_chunkCount;
    +00173     static bool     testForValidChunkOrder(uint32_t chunkCount, const NvBlastChunkDesc* chunkDescs, const char* chunkAnnotation, void* scratch);
     00174 
    -00178     SupportGraph        m_graph;
    -00179 
    -00183     uint32_t            m_leafChunkCount;
    -00184 
    -00188     uint32_t            m_firstSubsupportChunkIndex;
    -00189 
    -00193     uint32_t            m_bondCount;
    -00194 
    -00200     NvBlastBlockArrayData(NvBlastChunk, m_chunksOffset, getChunks, m_chunkCount);
    -00201 
    -00210     NvBlastBlockArrayData(NvBlastBond, m_bondsOffset, getBonds, m_bondCount);
    -00211 
    -00218     NvBlastBlockArrayData(uint32_t, m_subtreeLeafChunkCountsOffset, getSubtreeLeafChunkCounts, m_chunkCount);
    +00175 
    +00177 
    +00181     NvBlastDataBlock    m_header;
    +00182 
    +00186     NvBlastID           m_ID;
    +00187 
    +00191     uint32_t            m_chunkCount;
    +00192 
    +00196     SupportGraph        m_graph;
    +00197 
    +00201     uint32_t            m_leafChunkCount;
    +00202 
    +00206     uint32_t            m_firstSubsupportChunkIndex;
    +00207 
    +00211     uint32_t            m_bondCount;
    +00212 
    +00218     NvBlastBlockArrayData(NvBlastChunk, m_chunksOffset, getChunks, m_chunkCount);
     00219 
    -00225     NvBlastBlockArrayData(uint32_t, m_chunkToGraphNodeMapOffset, getChunkToGraphNodeMap, m_chunkCount);
    -00226 
    -00227 
    +00228     NvBlastBlockArrayData(NvBlastBond, m_bondsOffset, getBonds, m_bondCount);
     00229 
    -00234     class DepthFirstIt : public ChunkDepthFirstIt
    -00235     {
    -00236     public:
    -00238         DepthFirstIt(const Asset& asset, uint32_t startChunkIndex, bool upperSupportOnly = false) :
    -00239             ChunkDepthFirstIt(asset.getChunks(), startChunkIndex, upperSupportOnly ? asset.getUpperSupportChunkCount() : asset.m_chunkCount) {}
    -00240     };
    -00241 };
    -00242 
    -00243 
    +00236     NvBlastBlockArrayData(uint32_t, m_subtreeLeafChunkCountsOffset, getSubtreeLeafChunkCounts, m_chunkCount);
    +00237 
    +00243     NvBlastBlockArrayData(uint32_t, m_chunkToGraphNodeMapOffset, getChunkToGraphNodeMap, m_chunkCount);
    +00244 
     00245 
    -00246 NV_INLINE uint32_t Asset::getUpperSupportChunkCount() const
    -00247 {
    -00248     return m_firstSubsupportChunkIndex;
    -00249 }
    -00250 
    -00251 
    -00252 NV_INLINE uint32_t Asset::getLowerSupportChunkCount() const
    -00253 {
    -00254     return m_graph.m_nodeCount + (m_chunkCount - m_firstSubsupportChunkIndex);
    -00255 }
    -00256 
    -00257 
    -00258 NV_INLINE uint32_t Asset::getBondCount() const
    -00259 {
    -00260     NVBLAST_ASSERT((m_graph.getAdjacencyPartition()[m_graph.m_nodeCount] & 1) == 0);    // The bidirectional graph data should have an even number of edges
    -00261     return m_graph.getAdjacencyPartition()[m_graph.m_nodeCount] / 2;    // Directional bonds, divide by two
    -00262 }
    +00247 
    +00252     class DepthFirstIt : public ChunkDepthFirstIt
    +00253     {
    +00254     public:
    +00256         DepthFirstIt(const Asset& asset, uint32_t startChunkIndex, bool upperSupportOnly = false) :
    +00257             ChunkDepthFirstIt(asset.getChunks(), startChunkIndex, upperSupportOnly ? asset.getUpperSupportChunkCount() : asset.m_chunkCount) {}
    +00258     };
    +00259 };
    +00260 
    +00261 
     00263 
    -00264 
    -00265 NV_INLINE uint32_t Asset::getHierarchyCount() const
    -00266 {
    -00267     const NvBlastChunk* chunks = getChunks();
    -00268     for (uint32_t i = 0; i < m_chunkCount; ++i)
    -00269     {
    -00270         if (!isInvalidIndex(chunks[i].parentChunkIndex))
    -00271         {
    -00272             return i;
    -00273         }
    -00274     }
    -00275     return m_chunkCount;
    -00276 }
    -00277 
    -00278 
    -00279 NV_INLINE uint32_t Asset::getContiguousLowerSupportIndex(uint32_t chunkIndex) const
    -00280 {
    -00281     NVBLAST_ASSERT(chunkIndex < m_chunkCount);
    +00264 NV_INLINE uint32_t Asset::getUpperSupportChunkCount() const
    +00265 {
    +00266     return m_firstSubsupportChunkIndex;
    +00267 }
    +00268 
    +00269 
    +00270 NV_INLINE uint32_t Asset::getLowerSupportChunkCount() const
    +00271 {
    +00272     return m_graph.m_nodeCount + (m_chunkCount - m_firstSubsupportChunkIndex);
    +00273 }
    +00274 
    +00275 
    +00276 NV_INLINE uint32_t Asset::getBondCount() const
    +00277 {
    +00278     NVBLAST_ASSERT((m_graph.getAdjacencyPartition()[m_graph.m_nodeCount] & 1) == 0);    // The bidirectional graph data should have an even number of edges
    +00279     return m_graph.getAdjacencyPartition()[m_graph.m_nodeCount] / 2;    // Directional bonds, divide by two
    +00280 }
    +00281 
     00282 
    -00283     return chunkIndex < m_firstSubsupportChunkIndex ? getChunkToGraphNodeMap()[chunkIndex] : (chunkIndex - m_firstSubsupportChunkIndex + m_graph.m_nodeCount);
    -00284 }
    -00285 
    -00286 
    -00287 //JDM: Expose this so serialization layer can use it.
    -00288 NVBLAST_API Asset* initializeAsset(void* mem, NvBlastID id, uint32_t chunkCount, uint32_t graphNodeCount, uint32_t leafChunkCount, uint32_t firstSubsupportChunkIndex, uint32_t bondCount, NvBlastLog logFn);
    -00289 
    -00290 } // namespace Blast
    -00291 } // namespace Nv
    -00292 
    -00293 
    -00294 #endif // ifndef NVBLASTASSET_H
    +00283 NV_INLINE uint32_t Asset::getHierarchyCount() const
    +00284 {
    +00285     const NvBlastChunk* chunks = getChunks();
    +00286     for (uint32_t i = 0; i < m_chunkCount; ++i)
    +00287     {
    +00288         if (!isInvalidIndex(chunks[i].parentChunkIndex))
    +00289         {
    +00290             return i;
    +00291         }
    +00292     }
    +00293     return m_chunkCount;
    +00294 }
    +00295 
    +00296 
    +00297 NV_INLINE uint32_t Asset::getContiguousLowerSupportIndex(uint32_t chunkIndex) const
    +00298 {
    +00299     NVBLAST_ASSERT(chunkIndex < m_chunkCount);
    +00300 
    +00301     return chunkIndex < m_firstSubsupportChunkIndex ? getChunkToGraphNodeMap()[chunkIndex] : (chunkIndex - m_firstSubsupportChunkIndex + m_graph.m_nodeCount);
    +00302 }
    +00303 
    +00304 
    +00305 //JDM: Expose this so serialization layer can use it.
    +00306 NVBLAST_API Asset* initializeAsset(void* mem, NvBlastID id, uint32_t chunkCount, uint32_t graphNodeCount, uint32_t leafChunkCount, uint32_t firstSubsupportChunkIndex, uint32_t bondCount, NvBlastLog logFn);
    +00307 
    +00308 } // namespace Blast
    +00309 } // namespace Nv
    +00310 
    +00311 
    +00312 #endif // ifndef NVBLASTASSET_H
     
    -

    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);
    +

    sdk/common/NvBlastAtomic.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
     00028 
    -00029 } // namespace Blast
    -00030 } // namespace Nv
    -00031 
    -00032 #endif // #ifndef NVBLASTATOMIC_H
    +00029 #ifndef NVBLASTATOMIC_H
    +00030 #define NVBLASTATOMIC_H
    +00031 
    +00032 #include "NvBlastTypes.h"
    +00033 
    +00034 
    +00035 namespace Nv
    +00036 {
    +00037 namespace Blast
    +00038 {
    +00039 
    +00040 /* increment the specified location. Return the incremented value */
    +00041 int32_t atomicIncrement(volatile int32_t* val);
    +00042 
    +00043 
    +00044 /* decrement the specified location. Return the decremented value */
    +00045 int32_t atomicDecrement(volatile int32_t* val);
    +00046 
    +00047 } // namespace Blast
    +00048 } // namespace Nv
    +00049 
    +00050 #endif // #ifndef NVBLASTATOMIC_H
     
    -

    sdk/extensions/serialization/source/DTO/NvBlastBondDTO.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 #pragma once
    -00012 #include "DTOMacros.h"
    -00013 #include "NvBlastTypes.h"
    -00014 #include "generated/NvBlastExtSerializationLL.capn.h"
    -00015 
    -00016 DTO_CLASS_LL(NvBlastBond, NvBlastBond, Nv::Blast::Serialization::NvBlastBond)
    +

    sdk/extensions/serialization/source/DTO/NvBlastBondDTO.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #pragma once
    +00030 #include "DTOMacros.h"
    +00031 #include "NvBlastTypes.h"
    +00032 #include "generated/NvBlastExtLlSerialization.capn.h"
    +00033 
    +00034 DTO_CLASS(NvBlastBond, NvBlastBond, Nv::Blast::Serialization::NvBlastBond)
     
    #define NVBLAST_ALWAYS_ASSERT_MESSAGE (exp message   )     ((void)0)
    diff --git a/docs/source_docs/files/_nv_blast_chunk_d_t_o_8h-source.html b/docs/source_docs/files/_nv_blast_chunk_d_t_o_8h-source.html index 33158cf..90bea94 100644 --- a/docs/source_docs/files/_nv_blast_chunk_d_t_o_8h-source.html +++ b/docs/source_docs/files/_nv_blast_chunk_d_t_o_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/serialization/source/DTO/NvBlastChunkDTO.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/DTO/NvBlastChunkDTO.h Source File @@ -35,24 +35,42 @@
  • File Members
  • -

    sdk/extensions/serialization/source/DTO/NvBlastChunkDTO.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 #pragma once
    -00012 #include "DTOMacros.h"
    -00013 #include "NvBlastTypes.h"
    -00014 #include "generated/NvBlastExtSerializationLL.capn.h"
    -00015 
    -00016 
    -00017 DTO_CLASS_LL(NvBlastChunk, NvBlastChunk, Nv::Blast::Serialization::NvBlastChunk)
    -00018 
    +

    sdk/extensions/serialization/source/DTO/NvBlastChunkDTO.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #pragma once
    +00030 #include "DTOMacros.h"
    +00031 #include "NvBlastTypes.h"
    +00032 #include "generated/NvBlastExtLlSerialization.capn.h"
    +00033 
    +00034 
    +00035 DTO_CLASS(NvBlastChunk, NvBlastChunk, Nv::Blast::Serialization::NvBlastChunk)
    +00036 
     
    diff --git a/docs/source_docs/files/_nv_blast_chunk_hierarchy_8h-source.html b/docs/source_docs/files/_nv_blast_chunk_hierarchy_8h-source.html index 69b9bea..f12c676 100644 --- a/docs/source_docs/files/_nv_blast_chunk_hierarchy_8h-source.html +++ b/docs/source_docs/files/_nv_blast_chunk_hierarchy_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/lowlevel/source/NvBlastChunkHierarchy.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/lowlevel/source/NvBlastChunkHierarchy.h Source File @@ -35,224 +35,242 @@
  • File Members
  • -

    sdk/lowlevel/source/NvBlastChunkHierarchy.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 NVBLASTCHUNKHIERARCHY_H
    -00012 #define NVBLASTCHUNKHIERARCHY_H
    -00013 
    -00014 
    -00015 #include "NvBlastIndexFns.h"
    -00016 #include "NvBlastDLink.h"
    -00017 #include "NvBlast.h"
    -00018 #include "NvBlastAssert.h"
    -00019 #include "NvBlastIteratorBase.h"
    -00020 
    -00021 
    -00022 namespace Nv
    -00023 {
    -00024 namespace Blast
    -00025 {
    -00026 
    -00031 class ChunkDepthFirstIt : public IteratorBase<uint32_t>
    -00032 {
    -00033 public:
    -00035     ChunkDepthFirstIt(const NvBlastChunk* chunks, uint32_t startChunkIndex, uint32_t chunkIndexLimit) :
    -00036         IteratorBase<uint32_t>(startChunkIndex), m_chunks(chunks), m_stop(startChunkIndex), m_limit(chunkIndexLimit)
    -00037     {
    -00038         if (m_curr >= m_limit)
    -00039         {
    -00040             m_curr = invalidIndex<uint32_t>();
    -00041         }
    -00042     }
    -00043 
    -00045     uint32_t    operator ++ ()
    -00046     {
    -00047         NVBLAST_ASSERT(!isInvalidIndex(m_curr));
    -00048         const NvBlastChunk* chunk = m_chunks + m_curr;
    -00049         if (chunk->childIndexStop > chunk->firstChildIndex && chunk->firstChildIndex < m_limit)
    -00050         {
    -00051             m_curr = chunk->firstChildIndex;
    -00052         }
    -00053         else
    -00054         {
    -00055             for (;;)
    -00056             {
    -00057                 if (m_curr == m_stop)
    -00058                 {
    -00059                     m_curr = invalidIndex<uint32_t>();
    -00060                     break;
    -00061                 }
    -00062                 NVBLAST_ASSERT(!isInvalidIndex(chunk->parentChunkIndex));   // This should not be possible with this search
    -00063                 const NvBlastChunk* parentChunk = m_chunks + chunk->parentChunkIndex;
    -00064                 if (++m_curr < parentChunk->childIndexStop)
    -00065                 {
    -00066                     break;  // Sibling chunk is valid, that's the next chunk
    -00067                 }
    -00068                 m_curr = chunk->parentChunkIndex;
    -00069                 chunk = parentChunk;
    -00070             }
    -00071         }
    -00072         return m_curr;
    -00073     }
    -00074 
    -00075 private:
    -00076     const NvBlastChunk* m_chunks;
    -00077     uint32_t            m_stop;
    -00078     uint32_t            m_limit;
    -00079 };
    -00080 
    -00081 
    -00087 NV_INLINE uint32_t enumerateChunkHierarchyBreadthFirst
    -00088 (
    -00089 uint32_t* chunkIndices,
    -00090 uint32_t chunkIndicesSize,
    -00091 const NvBlastChunk* chunks,
    -00092 uint32_t chunkIndex,
    -00093 bool includeRoot = true,
    -00094 uint32_t chunkIndexLimit = invalidIndex<uint32_t>()
    -00095 )
    -00096 {
    -00097     if (chunkIndicesSize == 0)
    -00098     {
    -00099         return 0;
    -00100     }
    -00101     uint32_t chunkIndexCount = 0;
    -00102     bool rootHandled = false;
    -00103     if (includeRoot)
    -00104     {
    -00105         chunkIndices[chunkIndexCount++] = chunkIndex;
    -00106         rootHandled = true;
    -00107     }
    -00108     for (uint32_t curr = 0; !rootHandled || curr < chunkIndexCount;)
    -00109     {
    -00110         const NvBlastChunk& chunk = chunks[rootHandled ? chunkIndices[curr] : chunkIndex];
    -00111         if (chunk.firstChildIndex < chunkIndexLimit)
    -00112         {
    -00113             const uint32_t childIndexStop = chunk.childIndexStop < chunkIndexLimit ? chunk.childIndexStop : chunkIndexLimit;
    -00114             const uint32_t childIndexBufferStop = chunk.firstChildIndex + (chunkIndicesSize - chunkIndexCount);
    -00115             const uint32_t stop = childIndexStop < childIndexBufferStop ? childIndexStop : childIndexBufferStop;
    -00116             for (uint32_t childIndex = chunk.firstChildIndex; childIndex < stop; ++childIndex)
    -00117             {
    -00118                 chunkIndices[chunkIndexCount++] = childIndex;
    -00119             }
    -00120         }
    -00121         if (rootHandled)
    -00122         {
    -00123             ++curr;
    -00124         }
    -00125         rootHandled = true;
    -00126     }
    -00127     return chunkIndexCount;
    -00128 }
    -00129 
    -00130 
    -00134 template<class VisibilityRep>
    -00135 void updateVisibleChunksFromSupportChunk
    -00136 (
    -00137 VisibilityRep* actors,
    -00138 IndexDLink<uint32_t>* visibleChunkIndexLinks,
    -00139 uint32_t* chunkActorIndices,
    -00140 uint32_t actorIndex,
    -00141 uint32_t supportChunkIndex,
    -00142 const NvBlastChunk* chunks,
    -00143 uint32_t upperSupportChunkCount
    -00144 )
    -00145 {
    -00146     uint32_t chunkIndex = supportChunkIndex;
    -00147     uint32_t chunkActorIndex = chunkActorIndices[supportChunkIndex];
    -00148     uint32_t newChunkActorIndex = actorIndex;
    -00149     VisibilityRep& thisActor = actors[actorIndex];
    -00150 
    -00151     do
    -00152     {
    -00153         if (chunkActorIndex == newChunkActorIndex)
    -00154         {
    -00155             break;  // Nothing to do
    -00156         }
    -00157 
    -00158         const uint32_t parentChunkIndex = chunks[chunkIndex].parentChunkIndex;
    -00159         const uint32_t parentChunkActorIndex = parentChunkIndex != invalidIndex<uint32_t>() ? chunkActorIndices[parentChunkIndex] : invalidIndex<uint32_t>();
    -00160         const bool chunkVisible = chunkActorIndex != parentChunkActorIndex;
    -00161 
    -00162         // If the chunk is visible, it needs to be removed from its old actor's visibility list
    -00163         if (chunkVisible && !isInvalidIndex(chunkActorIndex))
    -00164         {
    -00165             VisibilityRep& chunkActor = actors[chunkActorIndex];
    -00166             IndexDList<uint32_t>().removeFromList(chunkActor.m_firstVisibleChunkIndex, visibleChunkIndexLinks, chunkIndex);
    -00167             --chunkActor.m_visibleChunkCount;
    -00168         }
    -00169 
    -00170         // Now update the chunk's actor index
    -00171         const uint32_t oldChunkActorIndex = chunkActorIndices[chunkIndex];
    -00172         chunkActorIndices[chunkIndex] = newChunkActorIndex;
    -00173         if (newChunkActorIndex != invalidIndex<uint32_t>() && parentChunkActorIndex != newChunkActorIndex)
    -00174         {
    -00175             // The chunk is now visible.  Add it to this actor's visibility list
    -00176             IndexDList<uint32_t>().insertListHead(thisActor.m_firstVisibleChunkIndex, visibleChunkIndexLinks, chunkIndex);
    -00177             ++thisActor.m_visibleChunkCount;
    -00178             // Remove its children from this actor's visibility list
    -00179             if (actorIndex != oldChunkActorIndex)
    -00180             {
    -00181                 const NvBlastChunk& chunk = chunks[chunkIndex];
    -00182                 if (chunk.firstChildIndex < upperSupportChunkCount) // Only need to deal with upper-support children
    -00183                 {
    -00184                     for (uint32_t childChunkIndex = chunk.firstChildIndex; childChunkIndex < chunk.childIndexStop; ++childChunkIndex)
    -00185                     {
    -00186                         if (chunkActorIndices[childChunkIndex] == actorIndex)
    -00187                         {
    -00188                             IndexDList<uint32_t>().removeFromList(thisActor.m_firstVisibleChunkIndex, visibleChunkIndexLinks, childChunkIndex);
    -00189                             --thisActor.m_visibleChunkCount;
    -00190                         }
    -00191                     }
    -00192                 }
    -00193             }
    -00194         }
    -00195 
    -00196         if (parentChunkIndex != invalidIndex<uint32_t>())
    -00197         {
    -00198             // If all of its siblings have the same index, then the parent will too.  Otherwise, the parent will have an invalid index and its children will be visible
    -00199             const NvBlastChunk& parentChunk = chunks[parentChunkIndex];
    -00200             bool uniform = true;
    -00201             for (uint32_t childChunkIndex = parentChunk.firstChildIndex; uniform && childChunkIndex < parentChunk.childIndexStop; ++childChunkIndex)
    -00202             {
    -00203                 uniform = (newChunkActorIndex == chunkActorIndices[childChunkIndex]);
    -00204             }
    -00205             if (!uniform)
    -00206             {
    -00207                 newChunkActorIndex = invalidIndex<uint32_t>();
    -00208                 for (uint32_t childChunkIndex = parentChunk.firstChildIndex; childChunkIndex < parentChunk.childIndexStop; ++childChunkIndex)
    -00209                 {
    -00210                     const uint32_t childChunkActorIndex = chunkActorIndices[childChunkIndex];
    -00211                     if (childChunkActorIndex != invalidIndex<uint32_t>() && childChunkActorIndex == parentChunkActorIndex)
    -00212                     {
    -00213                         // The child was invisible.  Add it to its actor's visibility list
    -00214                         VisibilityRep& childChunkActor = actors[childChunkActorIndex];
    -00215                         IndexDList<uint32_t>().insertListHead(childChunkActor.m_firstVisibleChunkIndex, visibleChunkIndexLinks, childChunkIndex);
    -00216                         ++childChunkActor.m_visibleChunkCount;
    -00217                     }
    -00218                 }
    -00219             }
    -00220         }
    -00221 
    -00222         // Climb the hierarchy
    -00223         chunkIndex = parentChunkIndex;
    -00224         chunkActorIndex = parentChunkActorIndex;
    -00225     } while (chunkIndex != invalidIndex<uint32_t>());
    -00226 }
    -00227 
    -00228 } // namespace Blast
    -00229 } // namespace Nv
    -00230 
    -00231 
    -00232 #endif // ifndef NVBLASTCHUNKHIERARCHY_H
    +

    sdk/lowlevel/source/NvBlastChunkHierarchy.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTCHUNKHIERARCHY_H
    +00030 #define NVBLASTCHUNKHIERARCHY_H
    +00031 
    +00032 
    +00033 #include "NvBlastIndexFns.h"
    +00034 #include "NvBlastDLink.h"
    +00035 #include "NvBlast.h"
    +00036 #include "NvBlastAssert.h"
    +00037 #include "NvBlastIteratorBase.h"
    +00038 
    +00039 
    +00040 namespace Nv
    +00041 {
    +00042 namespace Blast
    +00043 {
    +00044 
    +00049 class ChunkDepthFirstIt : public IteratorBase<uint32_t>
    +00050 {
    +00051 public:
    +00053     ChunkDepthFirstIt(const NvBlastChunk* chunks, uint32_t startChunkIndex, uint32_t chunkIndexLimit) :
    +00054         IteratorBase<uint32_t>(startChunkIndex), m_chunks(chunks), m_stop(startChunkIndex), m_limit(chunkIndexLimit)
    +00055     {
    +00056         if (m_curr >= m_limit)
    +00057         {
    +00058             m_curr = invalidIndex<uint32_t>();
    +00059         }
    +00060     }
    +00061 
    +00063     uint32_t    operator ++ ()
    +00064     {
    +00065         NVBLAST_ASSERT(!isInvalidIndex(m_curr));
    +00066         const NvBlastChunk* chunk = m_chunks + m_curr;
    +00067         if (chunk->childIndexStop > chunk->firstChildIndex && chunk->firstChildIndex < m_limit)
    +00068         {
    +00069             m_curr = chunk->firstChildIndex;
    +00070         }
    +00071         else
    +00072         {
    +00073             for (;;)
    +00074             {
    +00075                 if (m_curr == m_stop)
    +00076                 {
    +00077                     m_curr = invalidIndex<uint32_t>();
    +00078                     break;
    +00079                 }
    +00080                 NVBLAST_ASSERT(!isInvalidIndex(chunk->parentChunkIndex));   // This should not be possible with this search
    +00081                 const NvBlastChunk* parentChunk = m_chunks + chunk->parentChunkIndex;
    +00082                 if (++m_curr < parentChunk->childIndexStop)
    +00083                 {
    +00084                     break;  // Sibling chunk is valid, that's the next chunk
    +00085                 }
    +00086                 m_curr = chunk->parentChunkIndex;
    +00087                 chunk = parentChunk;
    +00088             }
    +00089         }
    +00090         return m_curr;
    +00091     }
    +00092 
    +00093 private:
    +00094     const NvBlastChunk* m_chunks;
    +00095     uint32_t            m_stop;
    +00096     uint32_t            m_limit;
    +00097 };
    +00098 
    +00099 
    +00105 NV_INLINE uint32_t enumerateChunkHierarchyBreadthFirst
    +00106 (
    +00107 uint32_t* chunkIndices,
    +00108 uint32_t chunkIndicesSize,
    +00109 const NvBlastChunk* chunks,
    +00110 uint32_t chunkIndex,
    +00111 bool includeRoot = true,
    +00112 uint32_t chunkIndexLimit = invalidIndex<uint32_t>()
    +00113 )
    +00114 {
    +00115     if (chunkIndicesSize == 0)
    +00116     {
    +00117         return 0;
    +00118     }
    +00119     uint32_t chunkIndexCount = 0;
    +00120     bool rootHandled = false;
    +00121     if (includeRoot)
    +00122     {
    +00123         chunkIndices[chunkIndexCount++] = chunkIndex;
    +00124         rootHandled = true;
    +00125     }
    +00126     for (uint32_t curr = 0; !rootHandled || curr < chunkIndexCount;)
    +00127     {
    +00128         const NvBlastChunk& chunk = chunks[rootHandled ? chunkIndices[curr] : chunkIndex];
    +00129         if (chunk.firstChildIndex < chunkIndexLimit)
    +00130         {
    +00131             const uint32_t childIndexStop = chunk.childIndexStop < chunkIndexLimit ? chunk.childIndexStop : chunkIndexLimit;
    +00132             const uint32_t childIndexBufferStop = chunk.firstChildIndex + (chunkIndicesSize - chunkIndexCount);
    +00133             const uint32_t stop = childIndexStop < childIndexBufferStop ? childIndexStop : childIndexBufferStop;
    +00134             for (uint32_t childIndex = chunk.firstChildIndex; childIndex < stop; ++childIndex)
    +00135             {
    +00136                 chunkIndices[chunkIndexCount++] = childIndex;
    +00137             }
    +00138         }
    +00139         if (rootHandled)
    +00140         {
    +00141             ++curr;
    +00142         }
    +00143         rootHandled = true;
    +00144     }
    +00145     return chunkIndexCount;
    +00146 }
    +00147 
    +00148 
    +00152 template<class VisibilityRep>
    +00153 void updateVisibleChunksFromSupportChunk
    +00154 (
    +00155 VisibilityRep* actors,
    +00156 IndexDLink<uint32_t>* visibleChunkIndexLinks,
    +00157 uint32_t* chunkActorIndices,
    +00158 uint32_t actorIndex,
    +00159 uint32_t supportChunkIndex,
    +00160 const NvBlastChunk* chunks,
    +00161 uint32_t upperSupportChunkCount
    +00162 )
    +00163 {
    +00164     uint32_t chunkIndex = supportChunkIndex;
    +00165     uint32_t chunkActorIndex = chunkActorIndices[supportChunkIndex];
    +00166     uint32_t newChunkActorIndex = actorIndex;
    +00167     VisibilityRep& thisActor = actors[actorIndex];
    +00168 
    +00169     do
    +00170     {
    +00171         if (chunkActorIndex == newChunkActorIndex)
    +00172         {
    +00173             break;  // Nothing to do
    +00174         }
    +00175 
    +00176         const uint32_t parentChunkIndex = chunks[chunkIndex].parentChunkIndex;
    +00177         const uint32_t parentChunkActorIndex = parentChunkIndex != invalidIndex<uint32_t>() ? chunkActorIndices[parentChunkIndex] : invalidIndex<uint32_t>();
    +00178         const bool chunkVisible = chunkActorIndex != parentChunkActorIndex;
    +00179 
    +00180         // If the chunk is visible, it needs to be removed from its old actor's visibility list
    +00181         if (chunkVisible && !isInvalidIndex(chunkActorIndex))
    +00182         {
    +00183             VisibilityRep& chunkActor = actors[chunkActorIndex];
    +00184             IndexDList<uint32_t>().removeFromList(chunkActor.m_firstVisibleChunkIndex, visibleChunkIndexLinks, chunkIndex);
    +00185             --chunkActor.m_visibleChunkCount;
    +00186         }
    +00187 
    +00188         // Now update the chunk's actor index
    +00189         const uint32_t oldChunkActorIndex = chunkActorIndices[chunkIndex];
    +00190         chunkActorIndices[chunkIndex] = newChunkActorIndex;
    +00191         if (newChunkActorIndex != invalidIndex<uint32_t>() && parentChunkActorIndex != newChunkActorIndex)
    +00192         {
    +00193             // The chunk is now visible.  Add it to this actor's visibility list
    +00194             IndexDList<uint32_t>().insertListHead(thisActor.m_firstVisibleChunkIndex, visibleChunkIndexLinks, chunkIndex);
    +00195             ++thisActor.m_visibleChunkCount;
    +00196             // Remove its children from this actor's visibility list
    +00197             if (actorIndex != oldChunkActorIndex)
    +00198             {
    +00199                 const NvBlastChunk& chunk = chunks[chunkIndex];
    +00200                 if (chunk.firstChildIndex < upperSupportChunkCount) // Only need to deal with upper-support children
    +00201                 {
    +00202                     for (uint32_t childChunkIndex = chunk.firstChildIndex; childChunkIndex < chunk.childIndexStop; ++childChunkIndex)
    +00203                     {
    +00204                         if (chunkActorIndices[childChunkIndex] == actorIndex)
    +00205                         {
    +00206                             IndexDList<uint32_t>().removeFromList(thisActor.m_firstVisibleChunkIndex, visibleChunkIndexLinks, childChunkIndex);
    +00207                             --thisActor.m_visibleChunkCount;
    +00208                         }
    +00209                     }
    +00210                 }
    +00211             }
    +00212         }
    +00213 
    +00214         if (parentChunkIndex != invalidIndex<uint32_t>())
    +00215         {
    +00216             // If all of its siblings have the same index, then the parent will too.  Otherwise, the parent will have an invalid index and its children will be visible
    +00217             const NvBlastChunk& parentChunk = chunks[parentChunkIndex];
    +00218             bool uniform = true;
    +00219             for (uint32_t childChunkIndex = parentChunk.firstChildIndex; uniform && childChunkIndex < parentChunk.childIndexStop; ++childChunkIndex)
    +00220             {
    +00221                 uniform = (newChunkActorIndex == chunkActorIndices[childChunkIndex]);
    +00222             }
    +00223             if (!uniform)
    +00224             {
    +00225                 newChunkActorIndex = invalidIndex<uint32_t>();
    +00226                 for (uint32_t childChunkIndex = parentChunk.firstChildIndex; childChunkIndex < parentChunk.childIndexStop; ++childChunkIndex)
    +00227                 {
    +00228                     const uint32_t childChunkActorIndex = chunkActorIndices[childChunkIndex];
    +00229                     if (childChunkActorIndex != invalidIndex<uint32_t>() && childChunkActorIndex == parentChunkActorIndex)
    +00230                     {
    +00231                         // The child was invisible.  Add it to its actor's visibility list
    +00232                         VisibilityRep& childChunkActor = actors[childChunkActorIndex];
    +00233                         IndexDList<uint32_t>().insertListHead(childChunkActor.m_firstVisibleChunkIndex, visibleChunkIndexLinks, childChunkIndex);
    +00234                         ++childChunkActor.m_visibleChunkCount;
    +00235                     }
    +00236                 }
    +00237             }
    +00238         }
    +00239 
    +00240         // Climb the hierarchy
    +00241         chunkIndex = parentChunkIndex;
    +00242         chunkActorIndex = parentChunkActorIndex;
    +00243     } while (chunkIndex != invalidIndex<uint32_t>());
    +00244 }
    +00245 
    +00246 } // namespace Blast
    +00247 } // namespace Nv
    +00248 
    +00249 
    +00250 #endif // ifndef NVBLASTCHUNKHIERARCHY_H
     
    -

    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;
    +

    sdk/common/NvBlastDLink.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTDLINK_H
    +00030 #define NVBLASTDLINK_H
    +00031 
    +00032 
    +00033 #include "NvBlastAssert.h"
    +00034 #include "NvBlastIndexFns.h"
    +00035 
    +00036 
    +00037 namespace Nv
    +00038 {
    +00039 namespace Blast
    +00040 {
    +00041 
    +00042 template<typename IndexType>
    +00043 struct IndexDLink
    +00044 {
    +00045     IndexType   m_adj[2];
    +00046 };
    +00047 
    +00048 
    +00049 template<typename IndexType>
    +00050 class IndexDList
    +00051 {
    +00052 public:
    +00053     void        initLinksSolitary(IndexDLink<IndexType>* links, IndexType linkCount)
    +00054     {
    +00055         for (IndexType i = 0; i < linkCount; ++i)
    +00056         {
    +00057             links[i].m_adj[0] = invalidIndex<IndexType>();
    +00058             links[i].m_adj[1] = invalidIndex<IndexType>();
    +00059         }
    +00060     }
    +00061 
    +00062     void        initLinksChain(IndexDLink<IndexType>* links, IndexType linkCount)
    +00063     {
    +00064         if (linkCount > 0)
    +00065         {
    +00066             links[0].m_adj[0] = invalidIndex<IndexType>();
    +00067             for (IndexType i = 1; i < linkCount; ++i)
    +00068             {
    +00069                 links[i - 1].m_adj[1] = i;
    +00070                 links[i].m_adj[0] = i - 1;
    +00071             }
    +00072             links[linkCount - 1].m_adj[1] = invalidIndex<IndexType>();
    +00073         }
    +00074     }
    +00075 
    +00076     IndexType   getAdj(IndexDLink<IndexType>* links, IndexType linkIndex, int which)
    +00077     {
    +00078         return links[linkIndex].m_adj[which & 1];
    +00079     }
    +00080 
    +00081     void        remove(IndexDLink<IndexType>* links, IndexType linkIndex)
    +00082     {
    +00083         IndexDLink<IndexType>& link = links[linkIndex];
    +00084         const IndexType adj0 = link.m_adj[0];
    +00085         const IndexType adj1 = link.m_adj[1];
    +00086         if (!isInvalidIndex(adj1))
    +00087         {
    +00088             links[adj1].m_adj[0] = adj0;
    +00089             link.m_adj[1] = invalidIndex<IndexType>();
    +00090         }
    +00091         if (!isInvalidIndex(adj0))
    +00092         {
    +00093             links[adj0].m_adj[1] = adj1;
    +00094             link.m_adj[0] = invalidIndex<IndexType>();
    +00095         }
    +00096     }
    +00097 
    +00098     bool        isSolitary(IndexDLink<IndexType>* links, IndexType linkIndex)
    +00099     {
    +00100         const IndexDLink<IndexType>& link = links[linkIndex];
    +00101         return isInvalidIndex(link.m_adj[0]) && isInvalidIndex(link.m_adj[1]);
    +00102     }
    +00103 
    +00104     void        insertListHead(IndexType& listHead, IndexDLink<IndexType>* links, IndexType linkIndex)
    +00105     {
    +00106         NVBLAST_ASSERT(!isInvalidIndex(linkIndex));
    +00107         if (!isInvalidIndex(listHead))
    +00108         {
    +00109             links[listHead].m_adj[0] = linkIndex;
    +00110         }
    +00111         links[linkIndex].m_adj[1] = listHead;
    +00112         listHead = linkIndex;
    +00113     }
    +00114 
    +00115     IndexType   removeListHead(IndexType& listHead, IndexDLink<IndexType>* links)
    +00116     {
    +00117         const IndexType linkIndex = listHead;
    +00118         if (!isInvalidIndex(linkIndex))
    +00119         {
    +00120             listHead = links[linkIndex].m_adj[1];
    +00121             if (!isInvalidIndex(listHead))
    +00122             {
    +00123                 links[listHead].m_adj[0] = invalidIndex<IndexType>();
    +00124             }
    +00125             links[linkIndex].m_adj[1] = invalidIndex<IndexType>();
    +00126         }
    +00127         return linkIndex;
    +00128     }
    +00129 
    +00130     void        removeFromList(IndexType& listHead, IndexDLink<IndexType>* links, IndexType linkIndex)
    +00131     {
    +00132         NVBLAST_ASSERT(!isInvalidIndex(linkIndex));
    +00133         if (listHead == linkIndex)
    +00134         {
    +00135             listHead = links[linkIndex].m_adj[1];
    +00136         }
    +00137         remove(links, linkIndex);
    +00138     }
    +00139 };
    +00140 
     00141 
    -00142     friend class DList;
    -00143 };
    -00144 
    +00142 struct DLink
    +00143 {
    +00144     DLink() : m_prev(nullptr), m_next(nullptr) {}
     00145 
    -00146 class DList
    -00147 {
    -00148 public:
    -00149     DList() : m_head(nullptr), m_tail(nullptr) {}
    +00146     DLink*  getPrev() const
    +00147     {
    +00148         return m_prev;
    +00149     }
     00150 
    -00151     bool    isEmpty() const
    +00151     DLink*  getNext() 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         }
    +00153         return m_next;
    +00154     }
    +00155 
    +00156 private:
    +00157     DLink*  m_prev;
    +00158     DLink*  m_next;
    +00159 
    +00160     friend class DList;
    +00161 };
    +00162 
    +00163 
    +00164 class DList
    +00165 {
    +00166 public:
    +00167     DList() : m_head(nullptr), m_tail(nullptr) {}
    +00168 
    +00169     bool    isEmpty() const
    +00170     {
    +00171         NVBLAST_ASSERT((m_head == nullptr) == (m_tail == nullptr));
    +00172         return m_head == nullptr;
    +00173     }
    +00174 
    +00175     bool    isSolitary(const DLink& link) const
    +00176     {
    +00177         return link.m_prev == nullptr && link.m_next == nullptr && m_head != &link;
    +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 };
    +00180     DLink*  getHead() const
    +00181     {
    +00182         return m_head;
    +00183     }
    +00184 
    +00185     DLink*  getTail() const
    +00186     {
    +00187         return m_tail;
    +00188     }
    +00189 
    +00190     bool    insertHead(DLink& link)
    +00191     {
    +00192         NVBLAST_ASSERT(isSolitary(link));
    +00193         if (!isSolitary(link))
    +00194         {
    +00195             return false;
    +00196         }
    +00197 
    +00198         link.m_next = m_head;
    +00199         if (m_head != nullptr)
    +00200         {
    +00201             m_head->m_prev = &link;
    +00202         }
    +00203         m_head = &link;
    +00204         if (m_tail == nullptr)
    +00205         {
    +00206             m_tail = &link;
    +00207         }
    +00208 
    +00209         return true;
    +00210     }
    +00211 
    +00212     bool    insertTail(DLink& link)
    +00213     {
    +00214         NVBLAST_ASSERT(isSolitary(link));
    +00215         if (!isSolitary(link))
    +00216         {
    +00217             return false;
    +00218         }
    +00219 
    +00220         link.m_prev = m_tail;
    +00221         if (m_tail != nullptr)
    +00222         {
    +00223             m_tail->m_next = &link;
    +00224         }
    +00225         m_tail = &link;
    +00226         if (m_head == nullptr)
    +00227         {
    +00228             m_head = &link;
    +00229         }
    +00230 
    +00231         return true;
    +00232     }
    +00233 
    +00234     void    remove(DLink& link)
    +00235     {
    +00236         if (link.m_prev != nullptr)
    +00237         {
    +00238             link.m_prev->m_next = link.m_next;
    +00239         }
    +00240         else
    +00241         if (m_head == &link)
    +00242         {
    +00243             m_head = link.m_next;
    +00244         }
     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         }
    +00246         if (link.m_next != nullptr)
    +00247         {
    +00248             link.m_next->m_prev = link.m_prev;
    +00249         }
    +00250         else
    +00251         if (m_tail == &link)
    +00252         {
    +00253             m_tail = link.m_prev;
    +00254         }
    +00255 
    +00256         link.m_next = link.m_prev = nullptr;
    +00257     }
    +00258 
    +00259     class It
    +00260     {
    +00261     public:
    +00262         enum Direction { Reverse, Forward };
    +00263 
    +00264         It(const DList& list, Direction dir = Forward) : m_curr(dir == Forward ? list.getHead() : list.getTail()) {}
     00265 
    -00267         const DLink*    operator -- ()
    -00268         {
    -00269             return m_curr = m_curr->getPrev();
    +00267         operator bool() const
    +00268         {
    +00269             return m_curr != nullptr;
     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
    +00273         operator const DLink*() const
    +00274         {
    +00275             return m_curr;
    +00276         }
    +00277 
    +00279         const DLink*    operator ++ ()
    +00280         {
    +00281             return m_curr = m_curr->getNext();
    +00282         }
     00283 
    -00284 
    -00285 #endif // #ifndef NVBLASTDLINK_H
    +00285         const DLink*    operator -- ()
    +00286         {
    +00287             return m_curr = m_curr->getPrev();
    +00288         }
    +00289 
    +00290     private:
    +00291         const DLink*    m_curr;
    +00292     };
    +00293 
    +00294 private:
    +00295     DLink*  m_head;
    +00296     DLink*  m_tail;
    +00297 };
    +00298 
    +00299 } // end namespace Blast
    +00300 } // end namespace Nv
    +00301 
    +00302 
    +00303 #endif // #ifndef NVBLASTDLINK_H
     
    - - - - - - - - - - - -

    Classes

    class  Nv::Blast::ExtAlignedAllocator< A >
    class  Nv::Blast::ExtAllocator

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    -
    - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_apex_destruction_8h-source.html b/docs/source_docs/files/_nv_blast_ext_apex_destruction_8h-source.html index b315f51..0ea6f42 100644 --- a/docs/source_docs/files/_nv_blast_ext_apex_destruction_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_apex_destruction_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/import/source/NvBlastExtApexDestruction.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/import/source/NvBlastExtApexDestruction.h Source File @@ -35,83 +35,101 @@
  • File Members
  • -

    sdk/extensions/import/source/NvBlastExtApexDestruction.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 NVBLASTEXTAPEXDESTRUCTION_H
    -00012 #define NVBLASTEXTAPEXDESTRUCTION_H
    -00013 
    -00014 #include "ApexUsingNamespace.h"
    -00015 #include "NvBlastExtScopedResource.h"
    -00016 #include "PsUtilities.h"
    -00017 #include <string>
    -00018 #include <NvBlastTypes.h>
    -00019 #include <PxFileBuf.h>
    -00020 
    -00021 namespace physx
    -00022 {
    -00023     class PxFoundation;
    -00024 }
    -00025 
    -00026 
    -00027 namespace Nv
    -00028 {
    -00029 namespace Blast
    -00030 {
    -00031 
    -00032 namespace ApexImporter
    -00033 {
    -00037 class ApexDestruction
    -00038 {
    -00039     PX_NOCOPY(ApexDestruction)
    -00040 
    -00041 public:
    -00042     ApexDestruction(NvBlastLog log = NULL);
    +

    sdk/extensions/import/source/NvBlastExtApexDestruction.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTAPEXDESTRUCTION_H
    +00030 #define NVBLASTEXTAPEXDESTRUCTION_H
    +00031 
    +00032 #include "ApexUsingNamespace.h"
    +00033 #include "NvBlastExtScopedResource.h"
    +00034 #include "PsUtilities.h"
    +00035 #include <string>
    +00036 #include <NvBlastTypes.h>
    +00037 #include <PxFileBuf.h>
    +00038 
    +00039 namespace physx
    +00040 {
    +00041     class PxFoundation;
    +00042 }
     00043 
    -00044     ApexDestruction(nvidia::apex::ApexSDK* apexSdk, nvidia::apex::ModuleDestructible* moduleDestructible, NvBlastLog log = NULL);
    -00045     ~ApexDestruction();
    -00046 
    -00048 
    -00052     bool initialize();
    -00053 
    -00057     bool isValid();
    +00044 
    +00045 namespace Nv
    +00046 {
    +00047 namespace Blast
    +00048 {
    +00049 
    +00050 namespace ApexImporter
    +00051 {
    +00055 class ApexDestruction
    +00056 {
    +00057     PX_NOCOPY(ApexDestruction)
     00058 
    -00064     nvidia::apex::DestructibleAsset*    loadAsset(physx::PxFileBuf* stream);
    -00065 
    -00069     physx::PxFoundation*                foundation() { return m_Foundation.get(); }
    -00073     physx::PxPhysics*                   physxSDK() { return m_PhysxSDK.get(); }
    -00077     physx::PxCooking*                   cooking() { return m_Cooking.get(); }
    -00081     nvidia::apex::ApexSDK*              apexSDK() { return m_ApexSDK.get(); }
    -00082 
    -00086     nvidia::apex::ModuleDestructible*   destructibleModule() { return m_DestructibleModule.get(); }
    -00087 
    -00088 private:
    -00089     bool hasLegacyModule;
    -00090     NvBlastLog                                                      m_log;
    -00092 
    -00093 protected:
    -00094     ScopedResource<physx::PxFoundation>                             m_Foundation;
    -00095     ScopedResource<physx::PxPhysics>                                m_PhysxSDK;
    -00096     ScopedResource<physx::PxCooking>                                m_Cooking;
    -00097     ScopedResource<nvidia::apex::ApexSDK>                           m_ApexSDK;
    -00098     ScopedResource<nvidia::apex::ModuleDestructible, ApexReleaser>  m_DestructibleModule;
    -00099 
    -00100 };
    -00101 
    -00102 } // namespace ApexImporter
    -00103 
    -00104 } // namespace Blast
    -00105 } // namespace Nv
    -00106 
    -00107 
    -00108 #endif // NVBLASTEXTAPEXDESTRUCTION_H
    +00059 public:
    +00060     ApexDestruction(NvBlastLog log = NULL);
    +00061 
    +00062     ApexDestruction(nvidia::apex::ApexSDK* apexSdk, nvidia::apex::ModuleDestructible* moduleDestructible, NvBlastLog log = NULL);
    +00063     ~ApexDestruction();
    +00064 
    +00066 
    +00070     bool initialize();
    +00071 
    +00075     bool isValid();
    +00076 
    +00082     nvidia::apex::DestructibleAsset*    loadAsset(physx::PxFileBuf* stream);
    +00083 
    +00087     physx::PxFoundation*                foundation() { return m_Foundation.get(); }
    +00091     physx::PxPhysics*                   physxSDK() { return m_PhysxSDK.get(); }
    +00095     physx::PxCooking*                   cooking() { return m_Cooking.get(); }
    +00099     nvidia::apex::ApexSDK*              apexSDK() { return m_ApexSDK.get(); }
    +00100 
    +00104     nvidia::apex::ModuleDestructible*   destructibleModule() { return m_DestructibleModule.get(); }
    +00105 
    +00106 private:
    +00107     bool hasLegacyModule;
    +00108     NvBlastLog                                                      m_log;
    +00110 
    +00111 protected:
    +00112     ScopedResource<physx::PxFoundation>                             m_Foundation;
    +00113     ScopedResource<physx::PxPhysics>                                m_PhysxSDK;
    +00114     ScopedResource<physx::PxCooking>                                m_Cooking;
    +00115     ScopedResource<nvidia::apex::ApexSDK>                           m_ApexSDK;
    +00116     ScopedResource<nvidia::apex::ModuleDestructible, ApexReleaser>  m_DestructibleModule;
    +00117 
    +00118 };
    +00119 
    +00120 } // namespace ApexImporter
    +00121 
    +00122 } // namespace Blast
    +00123 } // namespace Nv
    +00124 
    +00125 
    +00126 #endif // NVBLASTEXTAPEXDESTRUCTION_H
     
    -

    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 }
    +

    sdk/extensions/import/include/NvBlastExtApexImportTool.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +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 };
    +00029 #ifndef NVBLASTEXTAPEXIMPORTTOOL_H
    +00030 #define NVBLASTEXTAPEXIMPORTTOOL_H
    +00031 
    +00032 #include "NvBlast.h"
    +00033 #include <vector>
    +00034 #include <string>
    +00035 #include "NvBlastExtPxAsset.h"
    +00036 
    +00037 namespace physx
    +00038 {
    +00039 namespace general_PxIOStream2
    +00040 {
    +00041 class PxFileBuf;
    +00042 }
    +00043 }
    +00044 
    +00045 namespace nvidia
    +00046 {
    +00047 namespace apex
    +00048 {
    +00049 class ApexSDK;
    +00050 class ModuleDestructible;
    +00051 class DestructibleAsset;
    +00052 }
    +00053 using namespace physx::general_PxIOStream2;
    +00054 }
    +00055 
    +00056 
    +00057 namespace Nv
    +00058 {
    +00059 namespace Blast
    +00060 {
    +00061 
    +00062 struct CollisionHull;
    +00063 class TkFramework;
     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 
    +00065 namespace ApexImporter
    +00066 {
    +00067 
    +00068 struct ApexImporterConfig
    +00069 {
    +00079     enum InterfaceSearchMode { EXACT, FORCED, MODE_COUNT };
     00080 
    -00084 class ApexImportTool
    -00085 {
    -00086 public:
    -00087 
    -00092     ApexImportTool(NvBlastLog logFn = NULL);
    -00093     ~ApexImportTool();
    -00094 
    +00081     ApexImporterConfig()
    +00082     {
    +00083         setDefaults();
    +00084     }
    +00085 
    +00086     void setDefaults()
    +00087     {
    +00088         infSearchMode               =   EXACT;
    +00089     }
    +00090     InterfaceSearchMode infSearchMode;
    +00091 };
    +00092 
    +00093 
    +00094 class ApexDestruction;
    +00095 
     00096 
    -00101     bool                                initialize();
    -00102 
    -00109     bool                                initialize(nvidia::apex::ApexSDK* apexSdk, nvidia::apex::ModuleDestructible* moduleDestructible);
    -00110 
    -00115     bool                                isValid();
    -00116 
    +00100 class ApexImportTool
    +00101 {
    +00102 public:
    +00103 
    +00107     ApexImportTool();
    +00108     ~ApexImportTool();
    +00109 
    +00111 
    +00116     bool                                initialize();
     00117 
    -00123     nvidia::apex::DestructibleAsset*    loadAssetFromFile(nvidia::PxFileBuf* stream);
    -00124 
    +00124     bool                                initialize(nvidia::apex::ApexSDK* apexSdk, nvidia::apex::ModuleDestructible* moduleDestructible);
     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);
    +00130     bool                                isValid();
    +00131 
    +00132 
    +00138     nvidia::apex::DestructibleAsset*    loadAssetFromFile(nvidia::PxFileBuf* stream);
    +00139 
    +00140 
    +00151     bool                                importApexAsset(std::vector<uint32_t>& chunkReorderInvMap, const nvidia::apex::DestructibleAsset* apexAsset,
    +00152                                             std::vector<NvBlastChunkDesc>& chunkDescriptors, std::vector<NvBlastBondDesc>& bondDescriptors, std::vector<uint32_t>& flags);
     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
    +00165     bool                                importApexAsset(std::vector<uint32_t>& chunkReorderInvMap, const nvidia::apex::DestructibleAsset* apexAsset,
    +00166                                             std::vector<NvBlastChunkDesc>& chunkDescriptors, std::vector<NvBlastBondDesc>& bondDescriptors, std::vector<uint32_t>& flags,
    +00167                                             const ApexImporterConfig& config);
    +00168 
    +00169 
    +00176     bool                                saveAsset(const NvBlastAsset* asset, nvidia::PxFileBuf* stream);
    +00177 
    +00189     bool                                getCollisionGeometry(const nvidia::apex::DestructibleAsset* apexAsset, uint32_t chunkCount, std::vector<uint32_t>& chunkReorderInvMap,
    +00190                                                 const std::vector<uint32_t>& apexChunkFlags, std::vector<ExtPxAssetDesc::ChunkDesc>& physicsChunks,
    +00191                                                 std::vector<ExtPxAssetDesc::SubchunkDesc>& physicsSubchunks, std::vector<std::vector<CollisionHull*> >& hullsDesc);
    +00192 
    +00193     ApexDestruction*                    m_apexDestruction;
     00195 
    -00196 } // namespace Blast
    -00197 } // namespace Nv
    -00198 
    -00199 #endif // NVBLASTEXTAPEXIMPORTTOOL_H
    +00196 private:
    +00197     bool                                importApexAssetInternal(std::vector<uint32_t>& chunkReorderInvMap, const nvidia::apex::DestructibleAsset* apexAsset,
    +00198                                             std::vector<NvBlastChunkDesc>& chunkDescriptors, std::vector<NvBlastBondDesc>& bondDesc, std::vector<uint32_t>& flags,
    +00199                                             const ApexImporterConfig& configDesc);
    +00200     
    +00201 
    +00202 protected:
    +00203     ApexImportTool(const ApexImportTool&);
    +00204     ApexImportTool& operator=(const ApexImportTool&);
    +00205 };
    +00206 
    +00207 } // namespace ApexImporter
    +00208 
    +00209 } // namespace Blast
    +00210 } // namespace Nv
    +00211 
    +00212 #endif // NVBLASTEXTAPEXIMPORTTOOL_H
     
    -

    sdk/extensions/authoring/source/NvBlastExtApexSharedParts.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 NVBLASTEXTAPEXSHAREDPARTS_H
    -00012 #define NVBLASTEXTAPEXSHAREDPARTS_H
    -00013 
    -00014 #include "NvBlast.h"
    -00015 #include <vector>
    -00016 #include <PxPlane.h>
    -00017 namespace physx
    -00018 {
    -00019     class PxVec3;
    -00020     class PxTransform;
    -00021     class PxBounds3;
    -00022 }
    -00023 
    -00024 namespace Nv
    -00025 {
    -00026 namespace Blast
    -00027 {
    +

    sdk/extensions/authoring/source/NvBlastExtApexSharedParts.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
     00028 
    -00029 struct Separation
    -00030 {
    -00031     physx::PxPlane  plane;
    -00032     float   min0, max0, min1, max1;
    -00033 
    -00034     float getDistance()
    -00035     {
    -00036         return physx::PxMax(min0 - max1, min1 - max0);
    -00037     }
    -00038 };
    -00039 
    -00043 bool importerHullsInProximityApexFree(const std::vector<physx::PxVec3>& hull0, physx::PxBounds3& hull0Bounds, const physx::PxTransform& localToWorldRT0In, const physx::PxVec3& scale0In,
    -00044     const std::vector<physx::PxVec3>& hull1, physx::PxBounds3& hull1Bounds, const physx::PxTransform& localToWorldRT1In, const physx::PxVec3& scale1In,
    -00045     physx::PxF32 maxDistance, Separation* separation);
    -00046 
    -00047 } // namespace Blast
    -00048 } // namespace Nv
    -00049 
    +00029 #ifndef NVBLASTEXTAPEXSHAREDPARTS_H
    +00030 #define NVBLASTEXTAPEXSHAREDPARTS_H
    +00031 
    +00032 #include "NvBlast.h"
    +00033 #include <PxPlane.h>
    +00034 namespace physx
    +00035 {
    +00036     class PxVec3;
    +00037     class PxTransform;
    +00038     class PxBounds3;
    +00039 }
    +00040 
    +00041 namespace Nv
    +00042 {
    +00043 namespace Blast
    +00044 {
    +00045 
    +00046 struct Separation
    +00047 {
    +00048     physx::PxPlane  plane;
    +00049     float   min0, max0, min1, max1;
     00050 
    -00051 #endif // NVBLASTEXTAPEXSHAREDPARTS_H
    +00051     float getDistance()
    +00052     {
    +00053         return physx::PxMax(min0 - max1, min1 - max0);
    +00054     }
    +00055 };
    +00056 
    +00060 bool importerHullsInProximityApexFree(  uint32_t hull0Count, const physx::PxVec3* hull0, physx::PxBounds3& hull0Bounds, const physx::PxTransform& localToWorldRT0In, const physx::PxVec3& scale0In,
    +00061                                         uint32_t hull1Count, const physx::PxVec3* hull1, physx::PxBounds3& hull1Bounds, const physx::PxTransform& localToWorldRT1In, const physx::PxVec3& scale1In,
    +00062                                         physx::PxF32 maxDistance, Separation* separation);
    +00063 
    +00064 } // namespace Blast
    +00065 } // namespace Nv
    +00066 
    +00067 
    +00068 #endif // NVBLASTEXTAPEXSHAREDPARTS_H
     

    sdk/extensions/authoring/source/NvBlastExtApexSharedParts.h File Reference

    #include "NvBlast.h"
    -#include <vector>
    #include <PxPlane.h>

    @@ -55,7 +54,7 @@ namespace  physx

    Functions

    -bool Nv::Blast::importerHullsInProximityApexFree (const std::vector< physx::PxVec3 > &hull0, physx::PxBounds3 &hull0Bounds, const physx::PxTransform &localToWorldRT0In, const physx::PxVec3 &scale0In, const std::vector< physx::PxVec3 > &hull1, physx::PxBounds3 &hull1Bounds, const physx::PxTransform &localToWorldRT1In, const physx::PxVec3 &scale1In, physx::PxF32 maxDistance, Separation *separation) +bool Nv::Blast::importerHullsInProximityApexFree (uint32_t hull0Count, const physx::PxVec3 *hull0, physx::PxBounds3 &hull0Bounds, const physx::PxTransform &localToWorldRT0In, const physx::PxVec3 &scale0In, uint32_t hull1Count, const physx::PxVec3 *hull1, physx::PxBounds3 &hull1Bounds, const physx::PxTransform &localToWorldRT1In, const physx::PxVec3 &scale1In, physx::PxF32 maxDistance, Separation *separation)
    diff --git a/docs/source_docs/files/_nv_blast_ext_array_8h-source.html b/docs/source_docs/files/_nv_blast_ext_array_8h-source.html deleted file mode 100644 index bf6159e..0000000 --- a/docs/source_docs/files/_nv_blast_ext_array_8h-source.html +++ /dev/null @@ -1,85 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/common/source/NvBlastExtArray.h Source File - - - - - - - - - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_array_8h.html b/docs/source_docs/files/_nv_blast_ext_array_8h.html deleted file mode 100644 index b4794cb..0000000 --- a/docs/source_docs/files/_nv_blast_ext_array_8h.html +++ /dev/null @@ -1,63 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/common/source/NvBlastExtArray.h File Reference - - - - - - - - -
    -

    sdk/extensions/common/source/NvBlastExtArray.h File Reference

    #include "NvBlastExtAllocator.h"
    -#include "PsInlineArray.h"
    - -

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

    Classes

    struct  Nv::Blast::ExtArray< T >
    struct  Nv::Blast::ExtInlineArray< T, N >

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    -

    - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_asset_block_version_converter__v0__v1_8h-source.html b/docs/source_docs/files/_nv_blast_ext_asset_block_version_converter__v0__v1_8h-source.html deleted file mode 100644 index 36ecf1e..0000000 --- a/docs/source_docs/files/_nv_blast_ext_asset_block_version_converter__v0__v1_8h-source.html +++ /dev/null @@ -1,132 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/converter/source/conversion/NvBlastExtAssetBlockVersionConverter_v0_v1.h Source File - - - - - - - - - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_asset_block_version_converter__v0__v1_8h.html b/docs/source_docs/files/_nv_blast_ext_asset_block_version_converter__v0__v1_8h.html deleted file mode 100644 index 492b21b..0000000 --- a/docs/source_docs/files/_nv_blast_ext_asset_block_version_converter__v0__v1_8h.html +++ /dev/null @@ -1,66 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/converter/source/conversion/NvBlastExtAssetBlockVersionConverter_v0_v1.h File Reference - - - - - - - - -
    -

    sdk/extensions/converter/source/conversion/NvBlastExtAssetBlockVersionConverter_v0_v1.h File Reference

    #include "NvBlastExtBinaryBlockConverter.h"
    - -

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

    Classes

    class  Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1
    struct  Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew
    struct  Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev
    struct  Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    -

    - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_asset_utils_8h-source.html b/docs/source_docs/files/_nv_blast_ext_asset_utils_8h-source.html new file mode 100644 index 0000000..d931389 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_asset_utils_8h-source.html @@ -0,0 +1,117 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/assetutils/include/NvBlastExtAssetUtils.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_asset_utils_8h.html b/docs/source_docs/files/_nv_blast_ext_asset_utils_8h.html new file mode 100644 index 0000000..f76e8e8 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_asset_utils_8h.html @@ -0,0 +1,241 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/assetutils/include/NvBlastExtAssetUtils.h File Reference + + + + + + + + +
    +

    sdk/extensions/assetutils/include/NvBlastExtAssetUtils.h File Reference

    #include "NvBlastTypes.h"
    +#include "NvCTypes.h"
    +#include <stdint.h>
    + +

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

    Classes

    struct  NvBlastExtAssetUtilsBondDesc

    Functions

    NVBLAST_API void NvBlastExtAssetTransformInPlace (NvBlastAsset *asset, const NvcVec3 *scale, const NvcQuat *rotation, const NvcVec3 *translation)
    NVBLAST_API NvBlastAssetNvBlastExtAssetUtilsAddWorldBonds (const NvBlastAsset *asset, const uint32_t *worldBoundChunks, uint32_t worldBoundChunkCount, const NvcVec3 *bondDirections, const uint32_t *bondUserData)
    NVBLAST_API NvBlastAssetDesc NvBlastExtAssetUtilsMergeAssets (const NvBlastAsset **components, const NvcQuat *rotations, const NvcVec3 *translations, uint32_t componentCount, const NvBlastExtAssetUtilsBondDesc *newBondDescs, uint32_t newBondCount)
    +


    Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NVBLAST_API void NvBlastExtAssetTransformInPlace (NvBlastAsset asset,
    const NvcVec3 scale,
    const NvcQuat rotation,
    const NvcVec3 translation 
    )
    +
    +
    + +

    +Transforms asset in place using scale, rotation, transform. Chunk centroids, chunk bond centroids and bond normals are being transformed. Chunk volume and bond area are changed accordingly.

    +

    Parameters:
    + + + + + +
    [in,out] asset Pointer to the asset to be transformed (modified).
    [in] scale Pointer to scale to be applied. Can be nullptr.
    [in] rotation Pointer to rotation to be applied. Can be nullptr.
    [in] translation Pointer to translation to be applied. Can be nullptr.
    +
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NVBLAST_API NvBlastAsset* NvBlastExtAssetUtilsAddWorldBonds (const NvBlastAsset asset,
    const uint32_t *  worldBoundChunks,
    uint32_t  worldBoundChunkCount,
    const NvcVec3 bondDirections,
    const uint32_t *  bondUserData 
    )
    +
    +
    + +

    +Reauthor the provided asset to bond the specified support chunks to the world.

    +

    Parameters:
    + + + + + + +
    [in] asset Pointer to the original asset. Won't be modified.
    [in] worldBoundChunks Array of support chunk indices which are to be bound to the world.
    [in] worldBoundChunksCount Size of worldBoundChunks array.
    [in] bondDirections Array of normals for each bond (size worldBoundChunksCount)
    [in] bondUserData Array of user data values for the new bonds, of size worldBoundChunksCount. May be NULL. If NULL, bond user data will be set to zero.
    +
    +
    Returns:
    a new asset with added bonds if successful, NULL otherwise.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NVBLAST_API NvBlastAssetDesc NvBlastExtAssetUtilsMergeAssets (const NvBlastAsset **  components,
    const NvcQuat rotations,
    const NvcVec3 translations,
    uint32_t  componentCount,
    const NvBlastExtAssetUtilsBondDesc newBondDescs,
    uint32_t  newBondCount 
    )
    +
    +
    + +

    +Creates an asset descriptor which will build an asset that merges several assets. Each asset (or component) is given a transform, applied to the geometric information in the chunk and bond descriptors.

    +New bond descriptors may be given to bond support chunks from different components.

    +An NvBlastAsset may appear more than once in the components array.

    +NOTE: This function allocates memory using the allocator in NvBlastGlobals, to create the new chunk and bond descriptor arrays referenced in the returned NvBlastAssetDesc. The user must free this memory after use with NVBLAST_FREE appied to the pointers in the returned NvBlastAssetDesc.

    +

    Parameters:
    + + + + + + + +
    [in] components An array of assets to merge, of size componentCount.
    [in] rotations An array of rotations to apply to the geometric data in the chunks and bonds, stored quaternion format. The quaternions MUST be normalized. If NULL, no rotations are applied. If not NULL, the array must be of size componentCount.
    [in] translations An array of transforms to apply to the geometric data in the chunks and bonds. If NULL, no translations are applied. If not NULL, the array must be of size componentCount.
    [in] componentCount The size of the components and relativeTransforms arrays.
    [in] newBondDescs Descriptors of type NvBlastExtAssetUtilsBondDesc for new bonds between components, of size newBondCount. If NULL, newBondCount must be 0.
    [in] newBondCount The size of the newBondDescs array.
    +
    +
    Returns:
    an asset descriptor that will build an asset which merges the components, using NvBlastCreateAsset.
    + +
    +

    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_8h-source.html new file mode 100644 index 0000000..1c8ded0 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_8h-source.html @@ -0,0 +1,117 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/include/NvBlastExtAuthoring.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_8h.html b/docs/source_docs/files/_nv_blast_ext_authoring_8h.html new file mode 100644 index 0000000..0476721 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_8h.html @@ -0,0 +1,333 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/include/NvBlastExtAuthoring.h File Reference + + + + + + + + +
    +

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

    #include "NvBlastExtAuthoringTypes.h"
    + +

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

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    namespace  physx

    Functions

    NVBLAST_API
    +Nv::Blast::BlastBondGenerator
    NvBlastExtAuthoringCreateBondGenerator (physx::PxCooking *cooking, physx::PxPhysicsInsertionCallback *insertionCallback)
    NVBLAST_API
    +Nv::Blast::ConvexMeshBuilder
    NvBlastExtAuthoringCreateConvexMeshBuilder (physx::PxCooking *cooking, physx::PxPhysicsInsertionCallback *insertionCallback)
    NVBLAST_API
    +Nv::Blast::FractureTool
    NvBlastExtAuthoringCreateFractureTool ()
    NVBLAST_API Nv::Blast::MeshNvBlastExtAuthoringCreateMesh (const physx::PxVec3 *positions, const physx::PxVec3 *normals, const physx::PxVec2 *uv, uint32_t verticesCount, const uint32_t *indices, uint32_t indicesCount)
    NVBLAST_API
    +Nv::Blast::MeshCleaner
    NvBlastExtAuthoringCreateMeshCleaner ()
    NVBLAST_API
    +Nv::Blast::VoronoiSitesGenerator
    NvBlastExtAuthoringCreateVoronoiSitesGenerator (Nv::Blast::Mesh *mesh, Nv::Blast::RandomGeneratorBase *rng)
    NVBLAST_API
    +Nv::Blast::AuthoringResult
    NvBlastExtAuthoringProcessFracture (Nv::Blast::FractureTool &fTool, Nv::Blast::BlastBondGenerator &bondGenerator, Nv::Blast::ConvexMeshBuilder &collisionBuilder, int32_t defaultSupportDepth=-1)
    +


    Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    NVBLAST_API Nv::Blast::BlastBondGenerator* NvBlastExtAuthoringCreateBondGenerator (physx::PxCooking *  cooking,
    physx::PxPhysicsInsertionCallback *  insertionCallback 
    )
    +
    +
    + +

    +Create BlastBondGenerator

    Returns:
    Pointer to created BlastBondGenerator. User's code should release it after usage.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    NVBLAST_API Nv::Blast::ConvexMeshBuilder* NvBlastExtAuthoringCreateConvexMeshBuilder (physx::PxCooking *  cooking,
    physx::PxPhysicsInsertionCallback *  insertionCallback 
    )
    +
    +
    + +

    +Create ConvexMeshBuilder

    Returns:
    Pointer to created ConvexMeshBuilder. User's code should release it after usage.
    + +
    +

    + +

    +
    + + + + + + + + +
    NVBLAST_API Nv::Blast::FractureTool* NvBlastExtAuthoringCreateFractureTool (  ) 
    +
    +
    + +

    +Create FractureTool object.

    Returns:
    Pointer to create FractureTool. User's code should release it after usage.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NVBLAST_API Nv::Blast::Mesh* NvBlastExtAuthoringCreateMesh (const physx::PxVec3 *  positions,
    const physx::PxVec3 *  normals,
    const physx::PxVec2 *  uv,
    uint32_t  verticesCount,
    const uint32_t *  indices,
    uint32_t  indicesCount 
    )
    +
    +
    + +

    +Constructs mesh object from array of triangles. User should call release() after usage.

    +

    Parameters:
    + + + + + + + +
    [in] positions Array for vertex positions, 3 * verticesCount floats will be read
    [in] normals Array for vertex normals, 3 * verticesCount floats will be read
    [in] uv Array for vertex uv coordinates, 2 * verticesCount floats will be read
    [in] verticesCount Number of vertices in mesh
    [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)
    +
    +
    Returns:
    pointer to Nv::Blast::Mesh if it was created succefully otherwise return nullptr
    + +
    +

    + +

    +
    + + + + + + + + +
    NVBLAST_API Nv::Blast::MeshCleaner* NvBlastExtAuthoringCreateMeshCleaner (  ) 
    +
    +
    + +

    +Creates MeshCleaner object

    Returns:
    pointer to Nv::Blast::Mesh if it was created succefully otherwise return nullptr
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    NVBLAST_API Nv::Blast::VoronoiSitesGenerator* NvBlastExtAuthoringCreateVoronoiSitesGenerator (Nv::Blast::Mesh mesh,
    Nv::Blast::RandomGeneratorBase rng 
    )
    +
    +
    + +

    +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:
    Pointer to VoronoiSitesGenerator. User's code should release it after usage.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NVBLAST_API Nv::Blast::AuthoringResult* NvBlastExtAuthoringProcessFracture (Nv::Blast::FractureTool fTool,
    Nv::Blast::BlastBondGenerator bondGenerator,
    Nv::Blast::ConvexMeshBuilder collisionBuilder,
    int32_t  defaultSupportDepth = -1 
    )
    +
    +
    + +

    +Performs pending fractures and generates fractured asset, render and collision geometry

    +

    Parameters:
    + + + + + +
    [in] fTool Fracture tool created by NvBlastExtAuthoringCreateFractureTool
    [in] bondGenerator Bond generator created by NvBlastExtAuthoringCreateBondGenerator
    [in] collisionBuilder Collision builder created by NvBlastExtAuthoringCreateConvexMeshBuilder
    [in] defaultSupportDepth All new chunks will be marked as support if its depth equal to defaultSupportDepth. By default leaves (chunks without children) marked as support.
    +
    +
    Returns:
    Authoring result
    + +
    +

    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_accelerator_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_accelerator_8h-source.html index 2675732..279b2e4 100644 --- a/docs/source_docs/files/_nv_blast_ext_authoring_accelerator_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_authoring_accelerator_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringAccelerator.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringAccelerator.h Source File @@ -35,113 +35,131 @@
  • File Members
  • -

    sdk/extensions/authoring/source/NvBlastExtAuthoringAccelerator.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 NVBLASTEXTAUTHORINGACCELERATOR_H
    -00012 #define NVBLASTEXTAUTHORINGACCELERATOR_H
    -00013 
    -00014 #include <set>
    -00015 #include <vector>
    -00016 #include "NvBlastExtAuthoringTypes.h"
    -00017 
    -00018 
    -00019 namespace Nv
    -00020 {
    -00021 namespace Blast
    -00022 {
    -00023 
    -00024 class Mesh;
    -00025 
    -00026 
    -00030 class SpatialAccelerator
    -00031 {
    -00032 public:
    -00039     virtual void    setState(Vertex* pos, Edge* ed, Facet& fc) = 0;
    -00044     virtual void    setState(const physx::PxVec3& point) = 0;
    -00049     virtual int32_t getNextFacet() = 0;
    -00050 
    -00051     virtual ~SpatialAccelerator() {};
    -00052 };
    -00053 
    -00054 
    -00058 class DummyAccelerator : public SpatialAccelerator
    -00059 {
    -00060 public:
    -00064     DummyAccelerator(int32_t count);
    -00065     virtual void setState(Vertex* pos, Edge* ed, Facet& fc);
    -00066     virtual void setState(const physx::PxVec3& point);
    -00067     virtual int32_t getNextFacet();
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringAccelerator.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTAUTHORINGACCELERATOR_H
    +00030 #define NVBLASTEXTAUTHORINGACCELERATOR_H
    +00031 
    +00032 #include <set>
    +00033 #include <vector>
    +00034 #include "NvBlastExtAuthoringTypes.h"
    +00035 
    +00036 
    +00037 namespace Nv
    +00038 {
    +00039 namespace Blast
    +00040 {
    +00041 
    +00042 class Mesh;
    +00043 
    +00044 
    +00048 class SpatialAccelerator
    +00049 {
    +00050 public:
    +00057     virtual void    setState(const Vertex* pos, const Edge* ed, const Facet& fc) = 0;
    +00062     virtual void    setState(const physx::PxVec3& point) = 0;
    +00067     virtual int32_t getNextFacet() = 0;
     00068 
    -00069 private:
    -00070     int32_t count;
    -00071     int32_t current;
    -00072 };
    -00073 
    -00079 class BBoxBasedAccelerator : public SpatialAccelerator
    -00080 {
    -00081 public:
    -00086     BBoxBasedAccelerator(Mesh* mesh, int32_t resolution);
    -00087     virtual ~BBoxBasedAccelerator();
    -00088     int32_t getNextFacet();
    -00089     void setState(Vertex* pos, Edge* ed, Facet& fc);
    -00090     void setState(const physx::PxVec3& p);
    -00091 private:
    -00092 
    -00093     bool testCellPolygonIntersection(int32_t cellId, physx::PxBounds3& facetBB);
    -00094     void buildAccelStructure(Vertex* pos, Edge* edges, Facet* fc, int32_t facetCount);
    -00095 
    -00096     int32_t mResolution;
    -00097     physx::PxBounds3 mBounds;
    -00098     physx::PxBounds3 facetBox;
    -00099     std::vector< std::vector<int32_t> > mSpatialMap;
    -00100     std::vector<physx::PxBounds3> mCells;
    -00101 
    -00102     
    -00103     // Iterator data
    -00104     std::vector<uint32_t> alreadyGotFlag;
    -00105     uint32_t alreadyGotValue;
    -00106     std::vector<int32_t> cellList;
    -00107     int32_t mIteratorCell;
    -00108     int32_t mIteratorFacet;
    -00109 };
    +00069     virtual ~SpatialAccelerator() {};
    +00070 };
    +00071 
    +00072 
    +00076 class DummyAccelerator : public SpatialAccelerator
    +00077 {
    +00078 public:
    +00082     DummyAccelerator(int32_t count);
    +00083     virtual void setState(const Vertex* pos, const Edge* ed, const Facet& fc);
    +00084     virtual void setState(const physx::PxVec3& point);
    +00085     virtual int32_t getNextFacet();
    +00086 
    +00087 private:
    +00088     int32_t count;
    +00089     int32_t current;
    +00090 };
    +00091 
    +00097 class BBoxBasedAccelerator : public SpatialAccelerator
    +00098 {
    +00099 public:
    +00104     BBoxBasedAccelerator(const Mesh* mesh, int32_t resolution);
    +00105     virtual ~BBoxBasedAccelerator();
    +00106     int32_t getNextFacet();
    +00107     void setState(const Vertex* pos, const Edge* ed, const Facet& fc);
    +00108     void setState(const physx::PxVec3& p);
    +00109 private:
     00110 
    -00111 
    -00112 
    -00121 class IntersectionTestingAccelerator : public SpatialAccelerator
    -00122 {
    -00123 public:
    -00124     IntersectionTestingAccelerator(Mesh* mesh, int32_t resolution);
    -00125     int32_t getNextFacet();
    -00126     void setState(Vertex* pos, Edge* ed, Facet& fc);
    -00127     void setState(const physx::PxVec3& p);
    +00111     bool testCellPolygonIntersection(int32_t cellId, physx::PxBounds3& facetBB);
    +00112     void buildAccelStructure(const Vertex* pos, const Edge* edges, const Facet* fc, int32_t facetCount);
    +00113 
    +00114     int32_t mResolution;
    +00115     physx::PxBounds3 mBounds;
    +00116     physx::PxBounds3 facetBox;
    +00117     std::vector< std::vector<int32_t> > mSpatialMap;
    +00118     std::vector<physx::PxBounds3> mCells;
    +00119 
    +00120     
    +00121     // Iterator data
    +00122     std::vector<uint32_t> alreadyGotFlag;
    +00123     uint32_t alreadyGotValue;
    +00124     std::vector<int32_t> cellList;
    +00125     int32_t mIteratorCell;
    +00126     int32_t mIteratorFacet;
    +00127 };
     00128 
     00129 
    -00130 private:
    -00131     std::vector< std::vector<int32_t> > mSpatialMap;
    -00132     std::vector<physx::PxBounds3> mCubes;
    -00133     int32_t mResolution;
    -00134 
    -00135     // Iterator data
    -00136     std::vector<uint32_t> alreadyGotFlag;
    -00137     uint32_t alreadyGotValue;
    -00138     std::vector<int32_t> cellList;
    -00139     int32_t mIteratorCell;
    -00140     int32_t mIteratorFacet;
    -00141 };
    -00142 
    -00143 } // namespace Blast
    -00144 } // namsepace Nv
    -00145 
    +00130 
    +00139 class IntersectionTestingAccelerator : public SpatialAccelerator
    +00140 {
    +00141 public:
    +00142     IntersectionTestingAccelerator(const Mesh* mesh, int32_t resolution);
    +00143     int32_t getNextFacet();
    +00144     void setState(const Vertex* pos, const Edge* ed, const Facet& fc);
    +00145     void setState(const physx::PxVec3& p);
     00146 
    -00147 #endif // ifndef NVBLASTEXTAUTHORINGACCELERATOR_H
    +00147 
    +00148 private:
    +00149     std::vector< std::vector<int32_t> > mSpatialMap;
    +00150     std::vector<physx::PxBounds3> mCubes;
    +00151     int32_t mResolution;
    +00152 
    +00153     // Iterator data
    +00154     std::vector<uint32_t> alreadyGotFlag;
    +00155     uint32_t alreadyGotValue;
    +00156     std::vector<int32_t> cellList;
    +00157     int32_t mIteratorCell;
    +00158     int32_t mIteratorFacet;
    +00159 };
    +00160 
    +00161 } // namespace Blast
    +00162 } // namsepace Nv
    +00163 
    +00164 
    +00165 #endif // ifndef NVBLASTEXTAUTHORINGACCELERATOR_H
     
    -

    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){};
    +

    sdk/extensions/authoring/include/NvBlastExtAuthoringBondGenerator.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTAUTHORINGBONDGENERATOR_H
    +00030 #define NVBLASTEXTAUTHORINGBONDGENERATOR_H
    +00031 
    +00032 #include "NvBlastExtAuthoringTypes.h"
    +00033 
    +00034 namespace physx
    +00035 {
    +00036 class PxPlane;
    +00037 class PxCooking;
    +00038 class PxPhysicsInsertionCallback;
    +00039 }
    +00040 
    +00041 struct NvBlastBondDesc;
    +00042 struct NvBlastChunkDesc;
    +00043 struct NvBlastBond;
    +00044 
    +00045 namespace Nv
    +00046 {
    +00047 namespace Blast
    +00048 {
    +00049 
    +00050 // Forward declarations
    +00051 class FractureTool;
    +00052 class TriangleProcessor;
    +00053 struct PlaneChunkIndexer;
    +00054 
    +00060 struct BondGenerationConfig
    +00061 {
    +00062     enum BondGenMode { EXACT, AVERAGE };
    +00063     BondGenMode bondMode;
    +00064 };
    +00065 
     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
    +00067 struct PlaneChunkIndexer
    +00068 {
    +00069     PlaneChunkIndexer(int32_t chunkId, int32_t trId, physx::PxPlane pl) : chunkId(chunkId), trId(trId), plane(pl) {}
    +00070     int32_t chunkId;
    +00071     int32_t trId;
    +00072     physx::PxPlane plane;
    +00073 };
    +00074 
    +00075 
    +00080 class BlastBondGenerator
    +00081 {
    +00082 public:
    +00083     virtual ~BlastBondGenerator() {}
    +00084 
    +00088     virtual void release() = 0;
    +00089 
    +00099     virtual int32_t buildDescFromInternalFracture(FractureTool* tool, const bool* chunkIsSupport, 
    +00100         NvBlastBondDesc*& resultBondDescs, NvBlastChunkDesc*& resultChunkDescriptors) = 0;
    +00101 
    +00102 
    +00113     virtual int32_t createBondBetweenMeshes(uint32_t meshACount, const Triangle* meshA, uint32_t meshBCount, const Triangle* meshB, 
    +00114         NvBlastBond& resultBond, BondGenerationConfig conf = BondGenerationConfig()) = 0;
    +00115 
    +00130     virtual int32_t createBondBetweenMeshes(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
    +00131         uint32_t overlapsCount, const uint32_t* overlapsA, const uint32_t* overlapsB, 
    +00132         NvBlastBondDesc*& resultBond, BondGenerationConfig cfg) = 0;
    +00133 
    +00134 
    +00148     virtual int32_t bondsFromPrefractured(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
    +00149         const bool*& chunkIsSupport, NvBlastBondDesc*& resultBondDescs,
    +00150         BondGenerationConfig conf = BondGenerationConfig()) = 0;
    +00151                 
    +00152 };
    +00153 
    +00154 }   // namespace Blast
    +00155 }   // namespace Nv
    +00156 
    +00157 #endif // NVBLASTEXTAUTHORINGBONDGENERATOR_H
     

    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. @@ -59,6 +54,8 @@ + +
    namespace  Nv::Blast
    namespace  physx

    diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h-source.html new file mode 100644 index 0000000..f822d5d --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h-source.html @@ -0,0 +1,144 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h.html b/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h.html new file mode 100644 index 0000000..f706863 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h.html @@ -0,0 +1,65 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h File Reference + + + + + + + + +
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h File Reference

    #include "NvBlastExtAuthoringBondGenerator.h"
    +#include "NvBlastExtAuthoringFractureTool.h"
    +#include "../cooking/PxCooking.h"
    +#include <PxPlane.h>
    +#include <NvBlastExtAuthoringCollisionBuilder.h>
    +#include <vector>
    + +

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

    Classes

    class  Nv::Blast::BlastBondGeneratorImpl

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_boolean_tool_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_boolean_tool_8h-source.html index 7bfea27..8893bc3 100644 --- a/docs/source_docs/files/_nv_blast_ext_authoring_boolean_tool_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_authoring_boolean_tool_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringBooleanTool.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringBooleanTool.h Source File @@ -35,134 +35,150 @@
  • File Members
  • -

    sdk/extensions/authoring/source/NvBlastExtAuthoringBooleanTool.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 NVBLASTEXTAUTHORINGBOOLEANTOOL_H
    -00012 #define NVBLASTEXTAUTHORINGBOOLEANTOOL_H
    -00013 
    -00014 #include "NvBlastExtAuthoringTypes.h"
    -00015 #include "NvBlastExtAuthoringInternalCommon.h"
    -00016 #include <vector>
    -00017 #include <map>
    -00018 #include "NvBlastTypes.h"
    -00019 
    -00020 
    -00021 namespace Nv
    -00022 {
    -00023 namespace Blast
    -00024 {
    -00025 
    -00026 class Mesh;
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringBooleanTool.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
     00027 
    -00031 struct BooleanConf
    -00032 {
    -00033     int32_t ca, cb, ci;
    -00034     BooleanConf(int32_t a, int32_t b, int32_t c) : ca(a), cb(b), ci(c)
    -00035     {
    -00036     }
    -00037 };
    +00028 
    +00029 #ifndef NVBLASTEXTAUTHORINGBOOLEANTOOL_H
    +00030 #define NVBLASTEXTAUTHORINGBOOLEANTOOL_H
    +00031 
    +00032 #include "NvBlastExtAuthoringTypes.h"
    +00033 #include "NvBlastExtAuthoringInternalCommon.h"
    +00034 #include <vector>
    +00035 #include <map>
    +00036 #include "NvBlastTypes.h"
    +00037 
     00038 
    -00039 
    -00040 namespace BooleanConfigurations
    -00041 {
    -00045 inline BooleanConf BOOLEAN_INTERSECION()
    -00046 {
    -00047     return BooleanConf(0, 0, 1);
    -00048 }
    -00049 
    -00053 inline BooleanConf BOOLEAN_UNION()
    -00054 {
    -00055     return BooleanConf(1, 1, -1);
    -00056 }
    -00060 inline BooleanConf BOOLEAN_DIFFERENCE()
    -00061 {
    -00062     return BooleanConf(1, 0, -1);
    -00063 }
    -00064 }
    -00065 
    -00069 struct EdgeFacetIntersectionData
    -00070 {
    -00071     int32_t edId;
    -00072     int32_t intersectionType;
    -00073     Vertex  intersectionPoint;
    -00074     EdgeFacetIntersectionData(int32_t edId, int32_t intersType, Vertex& inters) : edId(edId), intersectionType(intersType), intersectionPoint(inters)
    -00075     {   }
    -00076     EdgeFacetIntersectionData(int32_t edId) : edId(edId)
    -00077     {   }
    -00078     bool operator<(const EdgeFacetIntersectionData& b) const
    -00079     {
    -00080         return edId < b.edId;
    -00081     }
    -00082 };
    +00039 namespace Nv
    +00040 {
    +00041 namespace Blast
    +00042 {
    +00043 
    +00044 class Mesh;
    +00045 
    +00049 struct BooleanConf
    +00050 {
    +00051     int32_t ca, cb, ci;
    +00052     BooleanConf(int32_t a, int32_t b, int32_t c) : ca(a), cb(b), ci(c)
    +00053     {
    +00054     }
    +00055 };
    +00056 
    +00057 
    +00058 namespace BooleanConfigurations
    +00059 {
    +00063 inline BooleanConf BOOLEAN_INTERSECION()
    +00064 {
    +00065     return BooleanConf(0, 0, 1);
    +00066 }
    +00067 
    +00071 inline BooleanConf BOOLEAN_UNION()
    +00072 {
    +00073     return BooleanConf(1, 1, -1);
    +00074 }
    +00078 inline BooleanConf BOOLEAN_DIFFERENCE()
    +00079 {
    +00080     return BooleanConf(1, 0, -1);
    +00081 }
    +00082 }
     00083 
    -00084 
    -00085 class SpatialAccelerator;
    -00086 
    -00091 class BooleanEvaluator
    -00092 {
    -00093 
    -00094 public:
    -00095     BooleanEvaluator(NvBlastLog logCallback = nullptr);
    -00096     ~BooleanEvaluator();
    -00097 
    -00106     void    performBoolean(Mesh* meshA, Mesh* meshB, SpatialAccelerator* spAccelA, SpatialAccelerator* spAccelB, BooleanConf mode);
    -00107 
    -00114     void    performBoolean(Mesh* meshA, Mesh* meshB, BooleanConf mode);
    +00087 struct EdgeFacetIntersectionData
    +00088 {
    +00089     int32_t edId;
    +00090     int32_t intersectionType;
    +00091     Vertex  intersectionPoint;
    +00092     EdgeFacetIntersectionData(int32_t edId, int32_t intersType, Vertex& inters) : edId(edId), intersectionType(intersType), intersectionPoint(inters)
    +00093     {   }
    +00094     EdgeFacetIntersectionData(int32_t edId) : edId(edId)
    +00095     {   }
    +00096     bool operator<(const EdgeFacetIntersectionData& b) const
    +00097     {
    +00098         return edId < b.edId;
    +00099     }
    +00100 };
    +00101 
    +00102 
    +00103 class SpatialAccelerator;
    +00104 
    +00109 class BooleanEvaluator
    +00110 {
    +00111 
    +00112 public:
    +00113     BooleanEvaluator();
    +00114     ~BooleanEvaluator();
     00115 
    -00125     void    performFastCutting(Mesh* meshA, Mesh* meshB, SpatialAccelerator* spAccelA, SpatialAccelerator* spAccelB, BooleanConf mode);
    -00126 
    -00134     void    performFastCutting(Mesh* meshA, Mesh* meshB, BooleanConf mode);
    -00135 
    -00142     int32_t isPointContainedInMesh(Mesh* mesh, const physx::PxVec3& point);
    -00150     int32_t isPointContainedInMesh(Mesh* mesh, SpatialAccelerator* spAccel, const physx::PxVec3& point);
    -00151 
    -00152 
    -00157     Mesh*   createNewMesh();
    -00158 
    -00162     void    reset();
    -00163 
    -00164 private:
    -00165 
    -00166     void    buildFaceFaceIntersections(BooleanConf);
    -00167     void    buildFastFaceFaceIntersection(BooleanConf);
    -00168     void    collectRetainedPartsFromA(BooleanConf mode);
    -00169     void    collectRetainedPartsFromB(BooleanConf mode);
    +00124     void    performBoolean(const Mesh* meshA, const Mesh* meshB, SpatialAccelerator* spAccelA, SpatialAccelerator* spAccelB, BooleanConf mode);
    +00125 
    +00132     void    performBoolean(const Mesh* meshA, const Mesh* meshB, BooleanConf mode);
    +00133 
    +00143     void    performFastCutting(const Mesh* meshA, const Mesh* meshB, SpatialAccelerator* spAccelA, SpatialAccelerator* spAccelB, BooleanConf mode);
    +00144 
    +00152     void    performFastCutting(const Mesh* meshA, const Mesh* meshB, BooleanConf mode);
    +00153 
    +00160     int32_t isPointContainedInMesh(const Mesh* mesh, const physx::PxVec3& point);
    +00168     int32_t isPointContainedInMesh(const Mesh* mesh, SpatialAccelerator* spAccel, const physx::PxVec3& point);
    +00169 
     00170 
    -00171     int32_t addIfNotExist(Vertex& p);
    -00172     void    addEdgeIfValid(EdgeWithParent& ed);
    -00173 private:
    -00174 
    -00175     int32_t vertexMeshStatus03(const physx::PxVec3& p, Mesh* mesh);
    -00176     int32_t vertexMeshStatus30(const physx::PxVec3& p, Mesh* mesh);
    -00177 
    -00178     Mesh*                                                   mMeshA;
    -00179     Mesh*                                                   mMeshB;
    -00180 
    -00181     SpatialAccelerator*                                     mAcceleratorA;
    -00182     SpatialAccelerator*                                     mAcceleratorB;
    +00175     Mesh*   createNewMesh();
    +00176 
    +00180     void    reset();
    +00181 
    +00182 private:
     00183 
    -00184     std::vector<EdgeWithParent>                             mEdgeAggregate;
    -00185     std::vector<Vertex>                                     mVerticesAggregate;
    -00186 
    -00187     std::vector<std::vector<EdgeFacetIntersectionData> >    mEdgeFacetIntersectionData12;
    -00188     std::vector<std::vector<EdgeFacetIntersectionData> >    mEdgeFacetIntersectionData21;
    -00189 
    -00190     NvBlastLog  mLoggingCallback;
    -00191 };
    +00184     void    buildFaceFaceIntersections(BooleanConf);
    +00185     void    buildFastFaceFaceIntersection(BooleanConf);
    +00186     void    collectRetainedPartsFromA(BooleanConf mode);
    +00187     void    collectRetainedPartsFromB(BooleanConf mode);
    +00188 
    +00189     int32_t addIfNotExist(Vertex& p);
    +00190     void    addEdgeIfValid(EdgeWithParent& ed);
    +00191 private:
     00192 
    -00193 } // namespace Blast
    -00194 } // namespace Nv
    +00193     int32_t vertexMeshStatus03(const physx::PxVec3& p, const Mesh* mesh);
    +00194     int32_t vertexMeshStatus30(const physx::PxVec3& p, const Mesh* mesh);
     00195 
    -00196 
    -00197 #endif // ifndef NVBLASTEXTAUTHORINGBOOLEANTOOL_H
    +00196     const Mesh*                                             mMeshA;
    +00197     const Mesh*                                             mMeshB;
    +00198 
    +00199     SpatialAccelerator*                                     mAcceleratorA;
    +00200     SpatialAccelerator*                                     mAcceleratorB;
    +00201 
    +00202     std::vector<EdgeWithParent>                             mEdgeAggregate;
    +00203     std::vector<Vertex>                                     mVerticesAggregate;
    +00204 
    +00205     std::vector<std::vector<EdgeFacetIntersectionData> >    mEdgeFacetIntersectionData12;
    +00206     std::vector<std::vector<EdgeFacetIntersectionData> >    mEdgeFacetIntersectionData21;
    +00207 };
    +00208 
    +00209 } // namespace Blast
    +00210 } // namespace Nv
    +00211 
    +00212 
    +00213 #endif // ifndef NVBLASTEXTAUTHORINGBOOLEANTOOL_H
     
    -

    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) {}
    +

    sdk/extensions/authoring/include/NvBlastExtAuthoringCollisionBuilder.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTAUTHORINGCOLLISIONBUILDER_H
    +00030 #define NVBLASTEXTAUTHORINGCOLLISIONBUILDER_H
    +00031 
    +00032 #include "NvBlastTypes.h"
    +00033 
    +00034 namespace physx
    +00035 {
    +00036 class PxCooking;
    +00037 class PxPhysicsInsertionCallback;
    +00038 class PxVec3;
    +00039 class PxConvexMesh;
    +00040 }
    +00041 
    +00042 
    +00043 namespace Nv
    +00044 {
    +00045 namespace Blast
    +00046 {
    +00047 
    +00048 struct CollisionHull;
    +00049 
    +00055 class ConvexMeshBuilder
    +00056 {
    +00057 public:
    +00058     virtual ~ConvexMeshBuilder() {}
    +00059 
    +00063     virtual void                    release() = 0;
    +00064 
    +00071     virtual CollisionHull*          buildCollisionGeometry(uint32_t verticesCount, const physx::PxVec3* vertexData) = 0;
     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
    +00080     virtual physx::PxConvexMesh*    buildConvexMesh(uint32_t verticesCount, const physx::PxVec3* vertexData) = 0;
    +00081 
    +00082 
    +00089     virtual physx::PxConvexMesh*    buildConvexMesh(const CollisionHull& hull) = 0;
    +00090 
    +00091 
    +00104     virtual void                    trimCollisionGeometry(uint32_t chunksCount, CollisionHull** in, const uint32_t* chunkDepth) = 0;
    +00105 
    +00106 };
    +00107 
    +00108 } // namespace Blast
    +00109 } // namespace Nv
    +00110 
    +00111 
    +00112 #endif // ifndef NVBLASTEXTAUTHORINGCOLLISIONBUILDER_H
     

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

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

    Go to the source code of this file. - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_collision_builder_impl_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_collision_builder_impl_8h-source.html new file mode 100644 index 0000000..e904ab5 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_collision_builder_impl_8h-source.html @@ -0,0 +1,114 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringCollisionBuilderImpl.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_collision_builder_impl_8h.html b/docs/source_docs/files/_nv_blast_ext_authoring_collision_builder_impl_8h.html new file mode 100644 index 0000000..d36a486 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_collision_builder_impl_8h.html @@ -0,0 +1,63 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringCollisionBuilderImpl.h File Reference + + + + + + + + +
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringCollisionBuilderImpl.h File Reference

    #include "NvBlastExtAuthoringCollisionBuilder.h"
    +#include "NvBlastExtAuthoringTypes.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

    + + + + + + + + + + + +

    Classes

    struct  Nv::Blast::CollisionHullImpl
    class  Nv::Blast::ConvexMeshBuilderImpl

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html index e5ba353..9532728 100644 --- a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h Source File @@ -35,228 +35,164 @@
  • File Members
  • -

    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 
    +

    sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTAUTHORINGFRACTURETOOL_H
    +00030 #define NVBLASTAUTHORINGFRACTURETOOL_H
    +00031 
    +00032 #include "NvBlastExtAuthoringTypes.h"
    +00033 
    +00034 namespace Nv
    +00035 {
    +00036 namespace Blast
    +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 
    +00039 class SpatialAccelerator;
    +00040 class Triangulator;
    +00041 class Mesh;
    +00042 
    +00043 /*
    +00044     Chunk data, chunk with chunkId == 0 is always source mesh.
    +00045 */
    +00046 struct ChunkInfo
    +00047 {
    +00048     Mesh*   meshData;
    +00049     int32_t parent;
    +00050     int32_t chunkId;
    +00051     bool    isLeaf;
    +00052 };
    +00053 
    +00054 
    +00055 /*
    +00056     Slicing fracturing configuration
    +00057 */
    +00058 struct SlicingConfiguration
    +00059 {
    +00063     int32_t x_slices = 1, y_slices = 1, z_slices = 1;
    +00064     
    +00068     float   offset_variations = 0.f;
    +00069     
    +00073     float   angle_variations = 0.f;
    +00074 
    +00080     float   noiseAmplitude = 0.f;
    +00081     
    +00085     float   noiseFrequency = 1.f;
    +00086 
    +00090     uint32_t noiseOctaveNumber = 1;
     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 
    +00095     int32_t surfaceResolution = 1;
    +00096 };
    +00097 
    +00098 
    +00102 class VoronoiSitesGenerator
    +00103 {
    +00104 public:
    +00105     virtual ~VoronoiSitesGenerator() {}
    +00106 
    +00110     virtual void                        release() = 0;
    +00111 
    +00115     virtual void                        setBaseMesh(const Mesh* mesh) = 0;
     00116 
    -00120 class VoronoiSitesGenerator
    -00121 {
    -00122 public:
    +00122     virtual uint32_t                    getVoronoiSites(const physx::PxVec3*& sites) = 0;
     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);
    +00128     virtual void                        addSite(const physx::PxVec3& site) = 0;
    +00133     virtual void                        uniformlyGenerateSitesInMesh(uint32_t numberOfSites) = 0;
    +00134 
    +00141     virtual void                        clusteredSitesGeneration(uint32_t numberOfClusters, uint32_t sitesPerCluster, float clusterRadius) = 0;
    +00142 
    +00153     virtual 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) = 0;
     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:
    +00161     virtual void                        generateInSphere(const uint32_t count, const float radius, const physx::PxVec3& center) = 0;
    +00166     virtual void                        setStencil(const Mesh* stencil) = 0;
    +00170     virtual void                        clearStencil() = 0;
    +00171 
    +00178     virtual void                        deleteInSphere(const float radius, const physx::PxVec3& center, const float eraserProbability = 1) = 0;
    +00179 };
    +00180 
    +00184 class FractureTool
    +00185 {
    +00186 
    +00187 public:
    +00188     virtual ~FractureTool() {}
    +00189 
    +00193     virtual void                                    release() = 0;
    +00194 
    +00198     virtual void                                    reset() = 0;
    +00199     
    +00200     
    +00204     virtual void                                    setSourceMesh(const Mesh* mesh) = 0;
    +00205 
    +00209     virtual Mesh*                                   createChunkMesh(int32_t chunkId) = 0;
    +00210 
    +00215     virtual void                                    getTransformation(physx::PxVec3& offset, float& scale) = 0;
    +00216 
     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 
    +00226     virtual int32_t                                 voronoiFracturing(uint32_t chunkId, uint32_t cellCount, const physx::PxVec3* cellPoints, bool replaceChunk) = 0;
    +00227 
    +00238     virtual int32_t                                 voronoiFracturing(uint32_t chunkId, uint32_t cellCount, const physx::PxVec3* cellPoints, const physx::PxVec3& scale, bool replaceChunk) = 0;
    +00239 
    +00240 
    +00251     virtual int32_t                                 slicing(uint32_t chunkId, SlicingConfiguration conf, bool replaceChunk, RandomGeneratorBase* rnd) = 0;
    +00252 
    +00253 
    +00257     virtual void                                    finalizeFracturing() = 0;
    +00258     
    +00259     virtual uint32_t                                getChunkCount() const = 0;
    +00260 
    +00264     virtual const ChunkInfo&                        getChunkInfo(int32_t chunkIndex) = 0;
    +00265 
    +00273     virtual float                                   getMeshOverlap(const Mesh& meshA, const Mesh& meshB) = 0;
    +00274 
    +00281     virtual uint32_t                                getBaseMesh(int32_t chunkIndex, Triangle*& output) = 0;
    +00282 
    +00288     virtual int32_t                                 getChunkIndex(int32_t chunkId) = 0;
    +00289 
    +00295     virtual int32_t                                 getChunkId(int32_t chunkIndex) = 0;
    +00296 
    +00302     virtual int32_t                                 getChunkDepth(int32_t chunkId) = 0;
     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
    +00310     virtual uint32_t                                getChunksIdAtDepth(uint32_t depth, int32_t*& chunkIds) = 0;
    +00311 
    +00312 
    +00322     virtual uint32_t                                getBufferedBaseMeshes(Vertex*& vertexBuffer, uint32_t*& indexBuffer, uint32_t*& indexBufferOffsets) = 0;
    +00323 
    +00328     virtual void                                    setRemoveIslands(bool isRemoveIslands) = 0;
    +00329 
    +00335     virtual int32_t                                 islandDetectionAndRemoving(int32_t chunkId) = 0;
    +00336 
    +00341     virtual bool                                    isMeshContainOpenEdges(const Mesh* input) = 0;
    +00342 };
    +00343 
    +00344 } // namespace Blast
    +00345 } // namespace Nv
    +00346 
    +00347 #endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H
     
    -

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

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

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

    #include "NvBlastExtAuthoringTypes.h"

    Go to the source code of this file. diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h-source.html new file mode 100644 index 0000000..de780d1 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h-source.html @@ -0,0 +1,197 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h.html b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h.html new file mode 100644 index 0000000..5ea8877 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h.html @@ -0,0 +1,64 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.h File Reference + + + + + + + + +
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.h File Reference

    #include "NvBlastExtAuthoringFractureTool.h"
    +#include "NvBlastExtAuthoringMesh.h"
    +#include <vector>
    + +

    +Go to the source code of this file.

    + + + + + + + + + + + +

    Classes

    class  Nv::Blast::FractureToolImpl
    class  Nv::Blast::VoronoiSitesGeneratorImpl

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h-source.html index fb5a17c..c4a98cf 100644 --- a/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringInternalCommon.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringInternalCommon.h Source File @@ -35,175 +35,237 @@
  • File Members
  • -

    sdk/extensions/authoring/source/NvBlastExtAuthoringInternalCommon.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 NVBLASTINTERNALCOMMON_H
    -00012 #define NVBLASTINTERNALCOMMON_H
    -00013 #include "NvBlastExtAuthoringTypes.h"
    -00014 
    -00015 using namespace physx;
    -00016 
    -00017 namespace Nv
    -00018 {
    -00019 namespace Blast
    -00020 {
    -00021 
    -00025 struct EdgeWithParent
    -00026 {
    -00027     int32_t s, e; // Starting and ending vertices
    -00028     int32_t parent; // Parent facet index
    -00029     EdgeWithParent() : s(0), e(0), parent(0) {}
    -00030     EdgeWithParent(int32_t s, int32_t e, int32_t p) : s(s), e(e), parent(p) {}
    -00031 };
    -00032 
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringInternalCommon.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTINTERNALCOMMON_H
    +00030 #define NVBLASTINTERNALCOMMON_H
    +00031 #include "NvBlastExtAuthoringTypes.h"
    +00032 #include <algorithm>
     00033 
    -00037 struct EdgeComparator
    -00038 {
    -00039     bool operator()(const EdgeWithParent& a, const EdgeWithParent& b) const
    -00040     {
    -00041         if (a.parent == b.parent)
    -00042         {
    -00043             if (a.s == b.s)
    -00044             {
    -00045                 return a.e < b.e;
    -00046             }
    -00047             else
    -00048             {
    -00049                 return a.s < b.s;
    -00050             }
    -00051         }
    -00052         else
    -00053         {
    -00054             return a.parent < b.parent;
    -00055         }
    -00056     }
    -00057 };
    -00058 
    -00059 
    -00063 enum ProjectionDirections
    -00064 {
    -00065     YZ_PLANE = 1 << 1,
    -00066     XY_PLANE = 1 << 2,
    -00067     ZX_PLANE = 1 << 3,
    -00068 
    -00069     OPPOSITE_WINDING = 1 << 4
    -00070 };
    -00071 
    -00075 NV_FORCE_INLINE ProjectionDirections getProjectionDirection(const physx::PxVec3& normal)
    -00076 {
    -00077     float maxv = std::max(abs(normal.x), std::max(abs(normal.y), abs(normal.z)));
    -00078     ProjectionDirections retVal;
    -00079     if (maxv == abs(normal.x))
    -00080     {
    -00081         retVal = YZ_PLANE;
    -00082         if (normal.x < 0) retVal = (ProjectionDirections)((int)retVal | (int)OPPOSITE_WINDING);
    -00083         return retVal;
    -00084     }
    -00085     if (maxv == abs(normal.y))
    -00086     {
    -00087         retVal = ZX_PLANE;
    -00088         if (normal.y > 0) retVal = (ProjectionDirections)((int)retVal | (int)OPPOSITE_WINDING);
    -00089         return retVal;
    -00090     }
    -00091     retVal = XY_PLANE;
    -00092     if (normal.z < 0) retVal = (ProjectionDirections)((int)retVal | (int)OPPOSITE_WINDING);
    -00093     return retVal;
    -00094 }
    -00095 
    -00096 
    -00100 NV_FORCE_INLINE physx::PxVec2 getProjectedPoint(const physx::PxVec3& point, ProjectionDirections dir)
    -00101 {
    -00102     if (dir & YZ_PLANE)
    -00103     {
    -00104         return physx::PxVec2(point.y, point.z);
    -00105     }
    -00106     if (dir & ZX_PLANE)
    -00107     {
    -00108         return physx::PxVec2(point.x, point.z);
    +00034 using namespace physx;
    +00035 
    +00036 namespace Nv
    +00037 {
    +00038 namespace Blast
    +00039 {
    +00040 
    +00044 struct EdgeWithParent
    +00045 {
    +00046     int32_t s, e; // Starting and ending vertices
    +00047     int32_t parent; // Parent facet index
    +00048     EdgeWithParent() : s(0), e(0), parent(0) {}
    +00049     EdgeWithParent(int32_t s, int32_t e, int32_t p) : s(s), e(e), parent(p) {}
    +00050 };
    +00051 
    +00052 
    +00056 struct EdgeComparator
    +00057 {
    +00058     bool operator()(const EdgeWithParent& a, const EdgeWithParent& b) const
    +00059     {
    +00060         if (a.parent == b.parent)
    +00061         {
    +00062             if (a.s == b.s)
    +00063             {
    +00064                 return a.e < b.e;
    +00065             }
    +00066             else
    +00067             {
    +00068                 return a.s < b.s;
    +00069             }
    +00070         }
    +00071         else
    +00072         {
    +00073             return a.parent < b.parent;
    +00074         }
    +00075     }
    +00076 };
    +00077 
    +00078 
    +00082 enum ProjectionDirections
    +00083 {
    +00084     YZ_PLANE = 1 << 1,
    +00085     XY_PLANE = 1 << 2,
    +00086     ZX_PLANE = 1 << 3,
    +00087 
    +00088     OPPOSITE_WINDING = 1 << 4
    +00089 };
    +00090 
    +00094 NV_FORCE_INLINE ProjectionDirections getProjectionDirection(const physx::PxVec3& normal)
    +00095 {
    +00096     float maxv = std::max(std::abs(normal.x), std::max(std::abs(normal.y), std::abs(normal.z)));
    +00097     ProjectionDirections retVal;
    +00098     if (maxv == std::abs(normal.x))
    +00099     {
    +00100         retVal = YZ_PLANE;
    +00101         if (normal.x < 0) retVal = (ProjectionDirections)((int)retVal | (int)OPPOSITE_WINDING);
    +00102         return retVal;
    +00103     }
    +00104     if (maxv == std::abs(normal.y))
    +00105     {
    +00106         retVal = ZX_PLANE;
    +00107         if (normal.y > 0) retVal = (ProjectionDirections)((int)retVal | (int)OPPOSITE_WINDING);
    +00108         return retVal;
     00109     }
    -00110     return physx::PxVec2(point.x, point.y);
    -00111 }
    -00112 
    -00116 NV_FORCE_INLINE physx::PxVec2 getProjectedPointWithWinding(const physx::PxVec3& point, ProjectionDirections dir)
    -00117 {
    -00118     if (dir & YZ_PLANE)
    -00119     {
    -00120         if (dir & OPPOSITE_WINDING)
    -00121         {
    -00122             return physx::PxVec2(point.z, point.y);
    -00123         }
    -00124         else
    -00125         return physx::PxVec2(point.y, point.z);
    -00126     }
    -00127     if (dir & ZX_PLANE)
    -00128     {
    -00129         if (dir & OPPOSITE_WINDING)
    -00130         {
    -00131             return physx::PxVec2(point.z, point.x);
    -00132         }
    -00133         return physx::PxVec2(point.x, point.z);
    -00134     }
    -00135     if (dir & OPPOSITE_WINDING)
    -00136     {
    -00137         return physx::PxVec2(point.y, point.x);
    -00138     }
    -00139     return physx::PxVec2(point.x, point.y);
    -00140 }
    -00141 
    -00142 
    -00143 
    -00144 #define MAXIMUM_EXTENT 1000 * 1000 * 1000
    -00145 #define BBOX_TEST_EPS 1e-5f 
    -00146 
    -00150 NV_INLINE bool  weakBoundingBoxIntersection(const physx::PxBounds3& aBox, const physx::PxBounds3& bBox)
    -00151 {
    -00152     if (std::max(aBox.minimum.x, bBox.minimum.x) > std::min(aBox.maximum.x, bBox.maximum.x) + BBOX_TEST_EPS)
    -00153         return false;
    -00154     if (std::max(aBox.minimum.y, bBox.minimum.y) > std::min(aBox.maximum.y, bBox.maximum.y) + BBOX_TEST_EPS)
    -00155         return false;
    -00156     if (std::max(aBox.minimum.z, bBox.minimum.z) > std::min(aBox.maximum.z, bBox.maximum.z) + BBOX_TEST_EPS)
    -00157         return false;
    -00158     return true;
    +00110     retVal = XY_PLANE;
    +00111     if (normal.z < 0) retVal = (ProjectionDirections)((int)retVal | (int)OPPOSITE_WINDING);
    +00112     return retVal;
    +00113 }
    +00114 
    +00115 
    +00119 NV_FORCE_INLINE physx::PxVec2 getProjectedPoint(const physx::PxVec3& point, ProjectionDirections dir)
    +00120 {
    +00121     if (dir & YZ_PLANE)
    +00122     {
    +00123         return physx::PxVec2(point.y, point.z);
    +00124     }
    +00125     if (dir & ZX_PLANE)
    +00126     {
    +00127         return physx::PxVec2(point.x, point.z);
    +00128     }
    +00129     return physx::PxVec2(point.x, point.y);
    +00130 }
    +00131 
    +00135 NV_FORCE_INLINE physx::PxVec2 getProjectedPointWithWinding(const physx::PxVec3& point, ProjectionDirections dir)
    +00136 {
    +00137     if (dir & YZ_PLANE)
    +00138     {
    +00139         if (dir & OPPOSITE_WINDING)
    +00140         {
    +00141             return physx::PxVec2(point.z, point.y);
    +00142         }
    +00143         else
    +00144         return physx::PxVec2(point.y, point.z);
    +00145     }
    +00146     if (dir & ZX_PLANE)
    +00147     {
    +00148         if (dir & OPPOSITE_WINDING)
    +00149         {
    +00150             return physx::PxVec2(point.z, point.x);
    +00151         }
    +00152         return physx::PxVec2(point.x, point.z);
    +00153     }
    +00154     if (dir & OPPOSITE_WINDING)
    +00155     {
    +00156         return physx::PxVec2(point.y, point.x);
    +00157     }
    +00158     return physx::PxVec2(point.x, point.y);
     00159 }
     00160 
     00161 
     00162 
    -00166 NV_INLINE bool getPlaneSegmentIntersection(const PxPlane& pl, const PxVec3& a, const PxVec3& b, PxVec3& result)
    -00167 {
    -00168     float div = (b - a).dot(pl.n);
    -00169     if (PxAbs(div) < 0.0001f)
    -00170     {
    -00171         if (pl.contains(a))
    -00172         {
    -00173             result = a;
    -00174             return true;
    -00175         }
    -00176         else
    -00177         {
    -00178             return false;
    -00179         }
    -00180     }
    -00181     float t = (-a.dot(pl.n) - pl.d) / div;
    -00182     if (t < 0.0f || t > 1.0f)
    -00183     {
    -00184         return false;
    -00185     }
    -00186     result = (b - a) * t + a;
    -00187     return true;
    -00188 }
    -00189 
    -00190 }   // namespace Blast
    -00191 }   // namespace Nv
    -00192 
    -00193 #endif
    +00163 #define MAXIMUM_EXTENT 1000 * 1000 * 1000
    +00164 #define BBOX_TEST_EPS 1e-5f 
    +00165 
    +00169 NV_INLINE bool  weakBoundingBoxIntersection(const physx::PxBounds3& aBox, const physx::PxBounds3& bBox)
    +00170 {
    +00171     if (std::max(aBox.minimum.x, bBox.minimum.x) > std::min(aBox.maximum.x, bBox.maximum.x) + BBOX_TEST_EPS)
    +00172         return false;
    +00173     if (std::max(aBox.minimum.y, bBox.minimum.y) > std::min(aBox.maximum.y, bBox.maximum.y) + BBOX_TEST_EPS)
    +00174         return false;
    +00175     if (std::max(aBox.minimum.z, bBox.minimum.z) > std::min(aBox.maximum.z, bBox.maximum.z) + BBOX_TEST_EPS)
    +00176         return false;
    +00177     return true;
    +00178 }
    +00179 
    +00180 
    +00181 
    +00185 NV_INLINE bool getPlaneSegmentIntersection(const PxPlane& pl, const PxVec3& a, const PxVec3& b, PxVec3& result)
    +00186 {
    +00187     float div = (b - a).dot(pl.n);
    +00188     if (PxAbs(div) < 0.0001f)
    +00189     {
    +00190         if (pl.contains(a))
    +00191         {
    +00192             result = a;
    +00193             return true;
    +00194         }
    +00195         else
    +00196         {
    +00197             return false;
    +00198         }
    +00199     }
    +00200     float t = (-a.dot(pl.n) - pl.d) / div;
    +00201     if (t < 0.0f || t > 1.0f)
    +00202     {
    +00203         return false;
    +00204     }
    +00205     result = (b - a) * t + a;
    +00206     return true;
    +00207 }
    +00208 
    +00209 
    +00210 #define VEC_COMPARISON_OFFSET 1e-5f
    +00211 
    +00214 struct VrtComp
    +00215 {
    +00216     bool operator()(const Vertex& a, const Vertex& b) const
    +00217     {
    +00218         if (a.p.x + VEC_COMPARISON_OFFSET < b.p.x) return true;
    +00219         if (a.p.x - VEC_COMPARISON_OFFSET > b.p.x) return false;
    +00220         if (a.p.y + VEC_COMPARISON_OFFSET < b.p.y) return true;
    +00221         if (a.p.y - VEC_COMPARISON_OFFSET > b.p.y) return false;
    +00222         if (a.p.z + VEC_COMPARISON_OFFSET < b.p.z) return true;
    +00223         if (a.p.z - VEC_COMPARISON_OFFSET > b.p.z) return false;
    +00224 
    +00225         if (a.n.x + 1e-3 < b.n.x) return true;
    +00226         if (a.n.x - 1e-3 > b.n.x) return false;
    +00227         if (a.n.y + 1e-3 < b.n.y) return true;
    +00228         if (a.n.y - 1e-3 > b.n.y) return false;
    +00229         if (a.n.z + 1e-3 < b.n.z) return true;
    +00230         if (a.n.z - 1e-3 > b.n.z) return false;
    +00231 
    +00232 
    +00233         if (a.uv[0].x + 1e-3 < b.uv[0].x) return true;
    +00234         if (a.uv[0].x - 1e-3 > b.uv[0].x) return false;
    +00235         if (a.uv[0].y + 1e-3 < b.uv[0].y) return true;
    +00236         return false;
    +00237     };
    +00238 };
    +00239 
    +00243 struct VrtPositionComparator
    +00244 {
    +00245     bool operator()(const physx::PxVec3& a, const physx::PxVec3& b) const
    +00246     {
    +00247         if (a.x + VEC_COMPARISON_OFFSET < b.x) return true;
    +00248         if (a.x - VEC_COMPARISON_OFFSET > b.x) return false;
    +00249         if (a.y + VEC_COMPARISON_OFFSET < b.y) return true;
    +00250         if (a.y - VEC_COMPARISON_OFFSET > b.y) return false;
    +00251         if (a.z + VEC_COMPARISON_OFFSET < b.z) return true;
    +00252         if (a.z - VEC_COMPARISON_OFFSET > b.z) return false;
    +00253         return false;
    +00254     };
    +00255 };
    +00256 
    +00257 }   // namespace Blast
    +00258 }   // namespace Nv
    +00259 
    +00260 #endif
     

    sdk/extensions/authoring/source/NvBlastExtAuthoringInternalCommon.h File Reference

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

    Go to the source code of this file. @@ -47,6 +48,10 @@ + + + + @@ -57,6 +62,8 @@ + + - + - - - +
    struct  Nv::Blast::EdgeWithParent
    struct  Nv::Blast::VrtComp
    struct  Nv::Blast::VrtPositionComparator

    Namespaces

    namespace  Nv
    #define MAXIMUM_EXTENT   1000 * 1000 * 1000
    #define VEC_COMPARISON_OFFSET   1e-5f

    Enumerations

    enum  Nv::Blast::ProjectionDirections { Nv::Blast::YZ_PLANE = 1 << 1, Nv::Blast::XY_PLANE = 1 << 2, @@ -106,6 +113,21 @@ ProjectionDirections  + +

    + +

    +
    + + + + +
    #define VEC_COMPARISON_OFFSET   1e-5f
    +
    +
    + +

    +

    diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_mesh_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_8h-source.html index e16b63d..0f306db 100644 --- a/docs/source_docs/files/_nv_blast_ext_authoring_mesh_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringMesh.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringMesh.h Source File @@ -35,83 +35,94 @@

  • File Members
  • -

    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);
    +

    sdk/extensions/authoring/include/NvBlastExtAuthoringMesh.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTAUTHORINGMESH_H
    +00030 #define NVBLASTAUTHORINGMESH_H
    +00031 
    +00032 #include "NvBlastExtAuthoringTypes.h"
    +00033 
    +00034 namespace Nv
    +00035 {
    +00036 namespace Blast
    +00037 {
    +00038 
    +00042 class Mesh
    +00043 {
    +00044 public:
    +00045     virtual ~Mesh() {}
    +00046 
    +00050     virtual void                release() = 0;
     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 };
    +00055     virtual bool                isValid() const = 0;
    +00056 
    +00060     virtual Vertex*             getVerticesWritable() = 0;
    +00061 
    +00065     virtual const Vertex*       getVertices() const = 0;
    +00066 
    +00067 
    +00071     virtual Edge*               getEdgesWritable() = 0;
    +00072 
    +00076     virtual const Edge*         getEdges() const = 0;
    +00077 
    +00081     virtual Facet*              getFacetsBufferWritable() = 0;
    +00082 
    +00086     virtual const Facet*        getFacetsBuffer() const = 0;
    +00087 
    +00091     virtual Facet*              getFacetWritable(int32_t facet) = 0;
    +00095     virtual const Facet*        getFacet(int32_t facet) const = 0;
    +00096 
    +00100     virtual uint32_t            getEdgesCount() const = 0;
    +00101 
    +00105     virtual uint32_t            getVerticesCount() const = 0;
    +00106 
    +00110     virtual uint32_t            getFacetCount() const = 0;
    +00111 
    +00115     virtual const physx::PxBounds3& getBoundingBox() const = 0;
     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
    +00120     virtual physx::PxBounds3&   getBoundingBoxWritable() = 0;
    +00121 
    +00122 
    +00126     virtual void    setMaterialId(int32_t* materialIds) = 0;
    +00127 
    +00131     virtual void    setSmoothingGroup(int32_t* smoothingGroup) = 0;
    +00132 
    +00136     virtual void                recalculateBoundingBox() = 0;
    +00137 
    +00142     virtual float               getMeshVolume() = 0;
    +00143 };
    +00144 
    +00145 } // namespace Blast
    +00146 } // namespace Nv
    +00147 
    +00148 
    +00149 #endif // ifndef NVBLASTAUTHORINGMESH_H
     

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

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

    Go to the source code of this file. @@ -51,17 +50,6 @@ - - - - - - - - - - -
    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/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_8h-source.html new file mode 100644 index 0000000..906e2b4 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_8h-source.html @@ -0,0 +1,99 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringMeshCleaner.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_8h.html b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_8h.html new file mode 100644 index 0000000..5444be4 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_8h.html @@ -0,0 +1,60 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/include/NvBlastExtAuthoringMeshCleaner.h File Reference + + + + + + + + +
    +

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

    #include "NvBlastExtAuthoringTypes.h"
    + +

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

    Classes

    class  Nv::Blast::MeshCleaner

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_impl_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_impl_8h-source.html new file mode 100644 index 0000000..476be26 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_impl_8h-source.html @@ -0,0 +1,64 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringMeshCleanerImpl.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_impl_8h.html b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_impl_8h.html new file mode 100644 index 0000000..0c59c2a --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_cleaner_impl_8h.html @@ -0,0 +1,60 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringMeshCleanerImpl.h File Reference + + + + + + + + +
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringMeshCleanerImpl.h File Reference

    #include "NvBlastExtAuthoringMeshCleaner.h"
    + +

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

    Classes

    class  Nv::Blast::MeshCleanerImpl

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_mesh_impl_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_impl_8h-source.html new file mode 100644 index 0000000..fea04a0 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_impl_8h-source.html @@ -0,0 +1,138 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringMeshImpl.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_mesh_impl_8h.html b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_impl_8h.html new file mode 100644 index 0000000..fd50409 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_impl_8h.html @@ -0,0 +1,72 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringMeshImpl.h File Reference + + + + + + + + +
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringMeshImpl.h File Reference

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

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

    Classes

    class  Nv::Blast::MeshImpl

    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/source_docs/files/_nv_blast_ext_authoring_mesh_noiser_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_noiser_8h-source.html new file mode 100644 index 0000000..435ad95 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_noiser_8h-source.html @@ -0,0 +1,198 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringMeshNoiser.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_mesh_noiser_8h.html b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_noiser_8h.html new file mode 100644 index 0000000..a65c62b --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_authoring_mesh_noiser_8h.html @@ -0,0 +1,64 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringMeshNoiser.h File Reference + + + + + + + + +
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringMeshNoiser.h File Reference

    #include <vector>
    +#include <map>
    +#include "NvBlastExtAuthoringInternalCommon.h"
    + +

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

    Classes

    struct  Nv::Blast::EdgeToTriangles
    class  Nv::Blast::MeshNoiser

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_perlin_noise_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_perlin_noise_8h-source.html index cf028b9..4b0703b 100644 --- a/docs/source_docs/files/_nv_blast_ext_authoring_perlin_noise_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_authoring_perlin_noise_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringPerlinNoise.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringPerlinNoise.h Source File @@ -35,344 +35,362 @@
  • File Members
  • -

    sdk/extensions/authoring/source/NvBlastExtAuthoringPerlinNoise.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 NVBLASTEXTAUTHORINGPERLINNOISE_H
    -00012 #define NVBLASTEXTAUTHORINGPERLINNOISE_H
    -00013 
    -00014 
    -00015 #include <NvBlastExtAuthoringTypes.h>
    -00016 
    -00017 #include <PxVec4.h>
    -00018 #include <PxVec3.h>
    -00019 
    -00020 #define PERLIN_NOISE_SAMPLE_TABLE 512
    -00021 using physx::PxVec3;
    -00022 namespace Nv
    -00023 {
    -00024 namespace Blast
    -00025 {
    -00026 
    -00027 /***********
    -00028     Noise generation routines, copied from Apex.    
    -00029 */
    -00030 
    -00031 
    -00032 NV_INLINE float at3(const float& rx, const float& ry, const float& rz, const PxVec3 q)
    -00033 {
    -00034     return rx * q[0] + ry * q[1] + rz * q[2];
    -00035 }
    -00036 
    -00037 NV_INLINE float fade(float t) { return t * t * t * (t * (t  * 6.0f - 15.0f) + 10.0f); }
    -00038 
    -00039 NV_INLINE float lerp(float t, float a, float b) { return a + t * (b - a); }
    -00040 
    -00041 NV_INLINE void setup(int i, PxVec3 point, float& t, int& b0, int& b1, float& r0, float& r1)
    -00042 {
    -00043     t = point[i] + (0x1000);
    -00044     b0 = ((int)t) & (PERLIN_NOISE_SAMPLE_TABLE - 1);
    -00045     b1 = (b0 + 1)   & (PERLIN_NOISE_SAMPLE_TABLE - 1);
    -00046     r0 = t - (int)t;
    -00047     r1 = r0 - 1.0f;
    -00048 }
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringPerlinNoise.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTAUTHORINGPERLINNOISE_H
    +00030 #define NVBLASTEXTAUTHORINGPERLINNOISE_H
    +00031 
    +00032 
    +00033 #include <NvBlastExtAuthoringTypes.h>
    +00034 
    +00035 #include <PxVec4.h>
    +00036 #include <PxVec3.h>
    +00037 
    +00038 #define PERLIN_NOISE_SAMPLE_TABLE 512
    +00039 using physx::PxVec3;
    +00040 namespace Nv
    +00041 {
    +00042 namespace Blast
    +00043 {
    +00044 
    +00045 /***********
    +00046     Noise generation routines, copied from Apex.    
    +00047 */
    +00048 
     00049 
    -00050 
    -00051 NV_INLINE float noiseSample(PxVec3 point, int* p, PxVec3* g)
    -00052 {
    -00053     int bx0, bx1, by0, by1, bz0, bz1, b00, b10, b01, b11;
    -00054     float rx0, rx1, ry0, ry1, rz0, rz1, sy, sz, a, b, c, d, t, u, v;
    -00055     PxVec3 q;
    -00056     int i, j;
    -00057 
    -00058     setup(0, point, t, bx0, bx1, rx0, rx1);
    -00059     setup(1, point, t, by0, by1, ry0, ry1);
    -00060     setup(2, point, t, bz0, bz1, rz0, rz1);
    -00061 
    -00062     i = p[bx0];
    -00063     j = p[bx1];
    -00064 
    -00065     b00 = p[i + by0];
    -00066     b10 = p[j + by0];
    -00067     b01 = p[i + by1];
    -00068     b11 = p[j + by1];
    -00069 
    -00070     t = fade(rx0);
    -00071     sy = fade(ry0);
    -00072     sz = fade(rz0);
    -00073 
    -00074     q = g[b00 + bz0]; u = at3(rx0, ry0, rz0, q);
    -00075     q = g[b10 + bz0]; v = at3(rx1, ry0, rz0, q);
    -00076     a = lerp(t, u, v);
    -00077 
    -00078     q = g[b01 + bz0]; u = at3(rx0, ry1, rz0, q);
    -00079     q = g[b11 + bz0]; v = at3(rx1, ry1, rz0, q);
    -00080     b = lerp(t, u, v);
    -00081 
    -00082     c = lerp(sy, a, b);
    -00083 
    -00084     q = g[b00 + bz1]; u = at3(rx0, ry0, rz1, q);
    -00085     q = g[b10 + bz1]; v = at3(rx1, ry0, rz1, q);
    -00086     a = lerp(t, u, v);
    +00050 NV_INLINE float at3(const float& rx, const float& ry, const float& rz, const PxVec3 q)
    +00051 {
    +00052     return rx * q[0] + ry * q[1] + rz * q[2];
    +00053 }
    +00054 
    +00055 NV_INLINE float fade(float t) { return t * t * t * (t * (t  * 6.0f - 15.0f) + 10.0f); }
    +00056 
    +00057 NV_INLINE float lerp(float t, float a, float b) { return a + t * (b - a); }
    +00058 
    +00059 NV_INLINE void setup(int i, PxVec3 point, float& t, int& b0, int& b1, float& r0, float& r1)
    +00060 {
    +00061     t = point[i] + (0x1000);
    +00062     b0 = ((int)t) & (PERLIN_NOISE_SAMPLE_TABLE - 1);
    +00063     b1 = (b0 + 1)   & (PERLIN_NOISE_SAMPLE_TABLE - 1);
    +00064     r0 = t - (int)t;
    +00065     r1 = r0 - 1.0f;
    +00066 }
    +00067 
    +00068 
    +00069 NV_INLINE float noiseSample(PxVec3 point, int* p, PxVec3* g)
    +00070 {
    +00071     int bx0, bx1, by0, by1, bz0, bz1, b00, b10, b01, b11;
    +00072     float rx0, rx1, ry0, ry1, rz0, rz1, sy, sz, a, b, c, d, t, u, v;
    +00073     PxVec3 q;
    +00074     int i, j;
    +00075 
    +00076     setup(0, point, t, bx0, bx1, rx0, rx1);
    +00077     setup(1, point, t, by0, by1, ry0, ry1);
    +00078     setup(2, point, t, bz0, bz1, rz0, rz1);
    +00079 
    +00080     i = p[bx0];
    +00081     j = p[bx1];
    +00082 
    +00083     b00 = p[i + by0];
    +00084     b10 = p[j + by0];
    +00085     b01 = p[i + by1];
    +00086     b11 = p[j + by1];
     00087 
    -00088     q = g[b01 + bz1]; u = at3(rx0, ry1, rz1, q);
    -00089     q = g[b11 + bz1]; v = at3(rx1, ry1, rz1, q);
    -00090     b = lerp(t, u, v);
    +00088     t = fade(rx0);
    +00089     sy = fade(ry0);
    +00090     sz = fade(rz0);
     00091 
    -00092     d = lerp(sy, a, b);
    -00093 
    -00094     return lerp(sz, c, d);
    -00095 }
    -00096 
    -00100 class PerlinNoise
    -00101 {
    -00102 public:
    -00109     PerlinNoise(Nv::Blast::RandomGeneratorBase* rnd, int octaves = 1, float frequency = 1., float amplitude = 1.)
    -00110         : mRnd(rnd),
    -00111         mOctaves(octaves),
    -00112         mFrequency(frequency),
    -00113         mAmplitude(amplitude),
    -00114         mbInit(false)
    -00115     {
    -00116 
    -00117     }
    -00118 
    -00119     /*
    -00120         Reset state of noise generator
    -00121         \param[in] octaves Number of noise octaves
    -00122         \param[in] frequency Frequency of noise
    -00123         \param[in] amplitude Amplitude of noise
    -00124     */
    -00125     void reset(int octaves = 1, float frequency = 1.f, float amplitude = 1.f)
    -00126     {
    -00127         mOctaves = octaves;
    -00128         mFrequency = frequency;
    -00129         mAmplitude = amplitude;
    -00130         init();
    -00131     }
    -00132 
    -00136     float sample(const physx::PxVec3& point)
    -00137     {
    -00138         return perlinNoise(point);
    -00139     }
    -00140 
    -00141 private:
    -00142     PerlinNoise& operator=(const PerlinNoise&);
    -00143 
    -00144     float perlinNoise(physx::PxVec3 point)
    -00145     {
    -00146         if (!mbInit)
    -00147             init();
    -00148 
    -00149         const int octaves = mOctaves;
    -00150         const float frequency = mFrequency;
    -00151         float amplitude = mAmplitude;
    -00152         float result = 0.0f;
    -00153 
    -00154         point *= frequency;
    -00155 
    -00156         for (int i = 0; i < octaves; ++i)
    -00157         {
    -00158             PxVec3 lpnt;
    -00159             lpnt[0] = point.x;
    -00160             lpnt[1] = point.y;
    -00161             lpnt[2] = point.z;
    -00162             result += (noiseSample(lpnt, p, g)) * amplitude;
    -00163             point *= 2.0f;
    -00164             amplitude *= 0.5f;
    -00165         }
    -00166         return result;
    -00167     }
    -00168 
    -00169     void init(void)
    -00170     {
    -00171         mbInit = true;
    -00172 
    -00173         unsigned  i, j;
    -00174         int k;
    -00175 
    -00176         for (i = 0; i < (unsigned)PERLIN_NOISE_SAMPLE_TABLE; i++)
    -00177         {
    -00178             p[i] = (int)i;
    -00179             for (j = 0; j < 3; ++j)
    -00180                 g[i][j] = mRnd->getRandomValue();
    -00181             g[i].normalize();
    -00182         }
    -00183 
    -00184         while (--i)
    -00185         {
    -00186             k = p[i];
    -00187             j = static_cast<uint32_t>(mRnd->getRandomValue() * PERLIN_NOISE_SAMPLE_TABLE);
    -00188             p[i] = p[j];
    -00189             p[j] = k;
    -00190         }
    -00191 
    -00192         for (i = 0; i < PERLIN_NOISE_SAMPLE_TABLE + 2; ++i)
    -00193         {
    -00194             p[(unsigned)PERLIN_NOISE_SAMPLE_TABLE + i] = p[i];
    -00195             for (j = 0; j < 3; ++j)
    -00196                 g[(unsigned)PERLIN_NOISE_SAMPLE_TABLE + i][j] = g[i][j];
    -00197         }
    -00198 
    -00199     }
    -00200 
    -00201     Nv::Blast::RandomGeneratorBase* mRnd;
    -00202     int                             mOctaves;
    -00203     float                           mFrequency;
    -00204     float                           mAmplitude;
    -00205 
    -00206     // Permutation vector
    -00207     int                             p[(unsigned)(PERLIN_NOISE_SAMPLE_TABLE + PERLIN_NOISE_SAMPLE_TABLE + 2)];
    -00208     // Gradient vector
    -00209     PxVec3                          g[(unsigned)(PERLIN_NOISE_SAMPLE_TABLE + PERLIN_NOISE_SAMPLE_TABLE + 2)];
    -00210 
    -00211     bool                            mbInit;
    -00212 };
    -00213 
    -00214 
    -00218 class SimplexNoise
    -00219 {
    -00220 
    -00221     int32_t             mOctaves;
    -00222     float               mAmplitude;
    -00223     float               mFrequency;
    -00224     int32_t             mSeed;
    -00225 
    -00226     static const int    X_NOISE_GEN = 1619;
    -00227     static const int    Y_NOISE_GEN = 31337;
    -00228     static const int    Z_NOISE_GEN = 6971;
    -00229     static const int    W_NOISE_GEN = 1999;
    -00230     static const int    SEED_NOISE_GEN = 1013;
    -00231     static const int    SHIFT_NOISE_GEN = 8;
    +00092     q = g[b00 + bz0]; u = at3(rx0, ry0, rz0, q);
    +00093     q = g[b10 + bz0]; v = at3(rx1, ry0, rz0, q);
    +00094     a = lerp(t, u, v);
    +00095 
    +00096     q = g[b01 + bz0]; u = at3(rx0, ry1, rz0, q);
    +00097     q = g[b11 + bz0]; v = at3(rx1, ry1, rz0, q);
    +00098     b = lerp(t, u, v);
    +00099 
    +00100     c = lerp(sy, a, b);
    +00101 
    +00102     q = g[b00 + bz1]; u = at3(rx0, ry0, rz1, q);
    +00103     q = g[b10 + bz1]; v = at3(rx1, ry0, rz1, q);
    +00104     a = lerp(t, u, v);
    +00105 
    +00106     q = g[b01 + bz1]; u = at3(rx0, ry1, rz1, q);
    +00107     q = g[b11 + bz1]; v = at3(rx1, ry1, rz1, q);
    +00108     b = lerp(t, u, v);
    +00109 
    +00110     d = lerp(sy, a, b);
    +00111 
    +00112     return lerp(sz, c, d);
    +00113 }
    +00114 
    +00118 class PerlinNoise
    +00119 {
    +00120 public:
    +00127     PerlinNoise(Nv::Blast::RandomGeneratorBase* rnd, int octaves = 1, float frequency = 1., float amplitude = 1.)
    +00128         : mRnd(rnd),
    +00129         mOctaves(octaves),
    +00130         mFrequency(frequency),
    +00131         mAmplitude(amplitude),
    +00132         mbInit(false)
    +00133     {
    +00134 
    +00135     }
    +00136 
    +00137     /*
    +00138         Reset state of noise generator
    +00139         \param[in] octaves Number of noise octaves
    +00140         \param[in] frequency Frequency of noise
    +00141         \param[in] amplitude Amplitude of noise
    +00142     */
    +00143     void reset(int octaves = 1, float frequency = 1.f, float amplitude = 1.f)
    +00144     {
    +00145         mOctaves = octaves;
    +00146         mFrequency = frequency;
    +00147         mAmplitude = amplitude;
    +00148         init();
    +00149     }
    +00150 
    +00154     float sample(const physx::PxVec3& point)
    +00155     {
    +00156         return perlinNoise(point);
    +00157     }
    +00158 
    +00159 private:
    +00160     PerlinNoise& operator=(const PerlinNoise&);
    +00161 
    +00162     float perlinNoise(physx::PxVec3 point)
    +00163     {
    +00164         if (!mbInit)
    +00165             init();
    +00166 
    +00167         const int octaves = mOctaves;
    +00168         const float frequency = mFrequency;
    +00169         float amplitude = mAmplitude;
    +00170         float result = 0.0f;
    +00171 
    +00172         point *= frequency;
    +00173 
    +00174         for (int i = 0; i < octaves; ++i)
    +00175         {
    +00176             PxVec3 lpnt;
    +00177             lpnt[0] = point.x;
    +00178             lpnt[1] = point.y;
    +00179             lpnt[2] = point.z;
    +00180             result += (noiseSample(lpnt, p, g)) * amplitude;
    +00181             point *= 2.0f;
    +00182             amplitude *= 0.5f;
    +00183         }
    +00184         return result;
    +00185     }
    +00186 
    +00187     void init(void)
    +00188     {
    +00189         mbInit = true;
    +00190 
    +00191         unsigned  i, j;
    +00192         int k;
    +00193 
    +00194         for (i = 0; i < (unsigned)PERLIN_NOISE_SAMPLE_TABLE; i++)
    +00195         {
    +00196             p[i] = (int)i;
    +00197             for (j = 0; j < 3; ++j)
    +00198                 g[i][j] = mRnd->getRandomValue();
    +00199             g[i].normalize();
    +00200         }
    +00201 
    +00202         while (--i)
    +00203         {
    +00204             k = p[i];
    +00205             j = static_cast<uint32_t>(mRnd->getRandomValue() * PERLIN_NOISE_SAMPLE_TABLE);
    +00206             p[i] = p[j];
    +00207             p[j] = k;
    +00208         }
    +00209 
    +00210         for (i = 0; i < PERLIN_NOISE_SAMPLE_TABLE + 2; ++i)
    +00211         {
    +00212             p[(unsigned)PERLIN_NOISE_SAMPLE_TABLE + i] = p[i];
    +00213             for (j = 0; j < 3; ++j)
    +00214                 g[(unsigned)PERLIN_NOISE_SAMPLE_TABLE + i][j] = g[i][j];
    +00215         }
    +00216 
    +00217     }
    +00218 
    +00219     Nv::Blast::RandomGeneratorBase* mRnd;
    +00220     int                             mOctaves;
    +00221     float                           mFrequency;
    +00222     float                           mAmplitude;
    +00223 
    +00224     // Permutation vector
    +00225     int                             p[(unsigned)(PERLIN_NOISE_SAMPLE_TABLE + PERLIN_NOISE_SAMPLE_TABLE + 2)];
    +00226     // Gradient vector
    +00227     PxVec3                          g[(unsigned)(PERLIN_NOISE_SAMPLE_TABLE + PERLIN_NOISE_SAMPLE_TABLE + 2)];
    +00228 
    +00229     bool                            mbInit;
    +00230 };
    +00231 
     00232 
    -00233     NV_INLINE int fastfloor(float x)
    -00234     {
    -00235         return (x >= 0) ? (int)x : (int)(x - 1);
    -00236     }
    -00237 
    -00238     SimplexNoise& operator=(const SimplexNoise&)
    -00239     {
    -00240         return *this;
    -00241     }
    -00242 
    -00243 public:
    -00250     SimplexNoise(float ampl, float freq, int32_t octaves, int32_t seed) : mOctaves(octaves), mAmplitude(ampl), mFrequency(freq), mSeed(seed) {};
    -00251     // 4D simplex noise
    -00252     // returns: (x,y,z) = noise grad, w = noise value
    -00253 
    -00263     physx::PxVec4 eval4D(float x, float y, float z, float w, int seed)
    -00264     {
    -00265         // The skewing and unskewing factors are hairy again for the 4D case
    -00266         const float F4 = (physx::PxSqrt(5.0f) - 1.0f) / 4.0f;
    -00267         const float G4 = (5.0f - physx::PxSqrt(5.0f)) / 20.0f;
    -00268         // Skew the (x,y,z,w) space to determine which cell of 24 simplices we're in
    -00269         float s = (x + y + z + w) * F4; // Factor for 4D skewing
    -00270         int ix = fastfloor(x + s);
    -00271         int iy = fastfloor(y + s);
    -00272         int iz = fastfloor(z + s);
    -00273         int iw = fastfloor(w + s);
    -00274         float tu = (ix + iy + iz + iw) * G4; // Factor for 4D unskewing
    -00275                                             // Unskew the cell origin back to (x,y,z,w) space
    -00276         float x0 = x - (ix - tu); // The x,y,z,w distances from the cell origin
    -00277         float y0 = y - (iy - tu);
    -00278         float z0 = z - (iz - tu);
    -00279         float w0 = w - (iw - tu);
    -00280 
    -00281         int c = (x0 > y0) ? (1 << 0) : (1 << 2);
    -00282         c += (x0 > z0) ? (1 << 0) : (1 << 4);
    -00283         c += (x0 > w0) ? (1 << 0) : (1 << 6);
    -00284         c += (y0 > z0) ? (1 << 2) : (1 << 4);
    -00285         c += (y0 > w0) ? (1 << 2) : (1 << 6);
    -00286         c += (z0 > w0) ? (1 << 4) : (1 << 6);
    -00287 
    -00288         physx::PxVec4 res;
    -00289         res.setZero();
    -00290 
    -00291         // Calculate the contribution from the five corners
    -00292         for (int p = 4; p >= 0; --p)
    -00293         {
    -00294             int ixp = ((c >> 0) & 3) >= p ? 1 : 0;
    -00295             int iyp = ((c >> 2) & 3) >= p ? 1 : 0;
    -00296             int izp = ((c >> 4) & 3) >= p ? 1 : 0;
    -00297             int iwp = ((c >> 6) & 3) >= p ? 1 : 0;
    +00236 class SimplexNoise
    +00237 {
    +00238 
    +00239     int32_t             mOctaves;
    +00240     float               mAmplitude;
    +00241     float               mFrequency;
    +00242     int32_t             mSeed;
    +00243 
    +00244     static const int    X_NOISE_GEN = 1619;
    +00245     static const int    Y_NOISE_GEN = 31337;
    +00246     static const int    Z_NOISE_GEN = 6971;
    +00247     static const int    W_NOISE_GEN = 1999;
    +00248     static const int    SEED_NOISE_GEN = 1013;
    +00249     static const int    SHIFT_NOISE_GEN = 8;
    +00250 
    +00251     NV_INLINE int fastfloor(float x)
    +00252     {
    +00253         return (x >= 0) ? (int)x : (int)(x - 1);
    +00254     }
    +00255 
    +00256     SimplexNoise& operator=(const SimplexNoise&)
    +00257     {
    +00258         return *this;
    +00259     }
    +00260 
    +00261 public:
    +00268     SimplexNoise(float ampl, float freq, int32_t octaves, int32_t seed) : mOctaves(octaves), mAmplitude(ampl), mFrequency(freq), mSeed(seed) {};
    +00269     // 4D simplex noise
    +00270     // returns: (x,y,z) = noise grad, w = noise value
    +00271 
    +00281     physx::PxVec4 eval4D(float x, float y, float z, float w, int seed)
    +00282     {
    +00283         // The skewing and unskewing factors are hairy again for the 4D case
    +00284         const float F4 = (physx::PxSqrt(5.0f) - 1.0f) / 4.0f;
    +00285         const float G4 = (5.0f - physx::PxSqrt(5.0f)) / 20.0f;
    +00286         // Skew the (x,y,z,w) space to determine which cell of 24 simplices we're in
    +00287         float s = (x + y + z + w) * F4; // Factor for 4D skewing
    +00288         int ix = fastfloor(x + s);
    +00289         int iy = fastfloor(y + s);
    +00290         int iz = fastfloor(z + s);
    +00291         int iw = fastfloor(w + s);
    +00292         float tu = (ix + iy + iz + iw) * G4; // Factor for 4D unskewing
    +00293                                             // Unskew the cell origin back to (x,y,z,w) space
    +00294         float x0 = x - (ix - tu); // The x,y,z,w distances from the cell origin
    +00295         float y0 = y - (iy - tu);
    +00296         float z0 = z - (iz - tu);
    +00297         float w0 = w - (iw - tu);
     00298 
    -00299             float xp = x0 - ixp + (4 - p) * G4;
    -00300             float yp = y0 - iyp + (4 - p) * G4;
    -00301             float zp = z0 - izp + (4 - p) * G4;
    -00302             float wp = w0 - iwp + (4 - p) * G4;
    -00303 
    -00304             float t = 0.6f - xp * xp - yp * yp - zp * zp - wp * wp;
    -00305             if (t > 0)
    -00306             {
    -00307                 //get index
    -00308                 int gradIndex = int((
    -00309                     X_NOISE_GEN    * (ix + ixp)
    -00310                     + Y_NOISE_GEN    * (iy + iyp)
    -00311                     + Z_NOISE_GEN    * (iz + izp)
    -00312                     + W_NOISE_GEN    * (iw + iwp)
    -00313                     + SEED_NOISE_GEN * seed)
    -00314                     & 0xffffffff);
    -00315                 gradIndex ^= (gradIndex >> SHIFT_NOISE_GEN);
    -00316                 gradIndex &= 31;
    -00317 
    -00318                 physx::PxVec4 g;
    -00319                 {
    -00320                     const int h = gradIndex;
    -00321                     const int hs = 2 - (h >> 4);
    -00322                     const int h1 = (h >> 3);
    -00323                     g.x = (h1 == 0) ? 0.0f : ((h & 4) ? -1.0f : 1.0f);
    -00324                     g.y = (h1 == 1) ? 0.0f : ((h & (hs << 1)) ? -1.0f : 1.0f);
    -00325                     g.z = (h1 == 2) ? 0.0f : ((h & hs) ? -1.0f : 1.0f);
    -00326                     g.w = (h1 == 3) ? 0.0f : ((h & 1) ? -1.0f : 1.0f);
    -00327                 }
    -00328                 float gdot = (g.x * xp + g.y * yp + g.z * zp + g.w * wp);
    -00329 
    -00330                 float t2 = t * t;
    -00331                 float t3 = t2 * t;
    -00332                 float t4 = t3 * t;
    -00333 
    -00334                 float dt4gdot = 8 * t3 * gdot;
    +00299         int c = (x0 > y0) ? (1 << 0) : (1 << 2);
    +00300         c += (x0 > z0) ? (1 << 0) : (1 << 4);
    +00301         c += (x0 > w0) ? (1 << 0) : (1 << 6);
    +00302         c += (y0 > z0) ? (1 << 2) : (1 << 4);
    +00303         c += (y0 > w0) ? (1 << 2) : (1 << 6);
    +00304         c += (z0 > w0) ? (1 << 4) : (1 << 6);
    +00305 
    +00306         physx::PxVec4 res;
    +00307         res.setZero();
    +00308 
    +00309         // Calculate the contribution from the five corners
    +00310         for (int p = 4; p >= 0; --p)
    +00311         {
    +00312             int ixp = ((c >> 0) & 3) >= p ? 1 : 0;
    +00313             int iyp = ((c >> 2) & 3) >= p ? 1 : 0;
    +00314             int izp = ((c >> 4) & 3) >= p ? 1 : 0;
    +00315             int iwp = ((c >> 6) & 3) >= p ? 1 : 0;
    +00316 
    +00317             float xp = x0 - ixp + (4 - p) * G4;
    +00318             float yp = y0 - iyp + (4 - p) * G4;
    +00319             float zp = z0 - izp + (4 - p) * G4;
    +00320             float wp = w0 - iwp + (4 - p) * G4;
    +00321 
    +00322             float t = 0.6f - xp * xp - yp * yp - zp * zp - wp * wp;
    +00323             if (t > 0)
    +00324             {
    +00325                 //get index
    +00326                 int gradIndex = int((
    +00327                     X_NOISE_GEN    * (ix + ixp)
    +00328                     + Y_NOISE_GEN    * (iy + iyp)
    +00329                     + Z_NOISE_GEN    * (iz + izp)
    +00330                     + W_NOISE_GEN    * (iw + iwp)
    +00331                     + SEED_NOISE_GEN * seed)
    +00332                     & 0xffffffff);
    +00333                 gradIndex ^= (gradIndex >> SHIFT_NOISE_GEN);
    +00334                 gradIndex &= 31;
     00335 
    -00336                 res.x += t4 * g.x - dt4gdot * xp;
    -00337                 res.y += t4 * g.y - dt4gdot * yp;
    -00338                 res.z += t4 * g.z - dt4gdot * zp;
    -00339                 res.w += t4 * gdot;
    -00340             }
    -00341         }
    -00342         // scale the result to cover the range [-1,1]
    -00343         res *= 27;
    -00344         return res;
    -00345     }
    -00346 
    -00352     float sample(physx::PxVec3 p)
    -00353     {
    -00354         p *= mFrequency;
    -00355         float result = 0.0f;
    -00356         float alpha = 1;
    -00357         for (int32_t i = 1; i <= mOctaves; ++i)
    -00358         {
    -00359             result += eval4D(p.x * i, p.y * i, p.z * i, i * 5.0f, mSeed).w * alpha;
    -00360             alpha *= 0.45;
    -00361         }
    -00362         return result * mAmplitude;
    +00336                 physx::PxVec4 g;
    +00337                 {
    +00338                     const int h = gradIndex;
    +00339                     const int hs = 2 - (h >> 4);
    +00340                     const int h1 = (h >> 3);
    +00341                     g.x = (h1 == 0) ? 0.0f : ((h & 4) ? -1.0f : 1.0f);
    +00342                     g.y = (h1 == 1) ? 0.0f : ((h & (hs << 1)) ? -1.0f : 1.0f);
    +00343                     g.z = (h1 == 2) ? 0.0f : ((h & hs) ? -1.0f : 1.0f);
    +00344                     g.w = (h1 == 3) ? 0.0f : ((h & 1) ? -1.0f : 1.0f);
    +00345                 }
    +00346                 float gdot = (g.x * xp + g.y * yp + g.z * zp + g.w * wp);
    +00347 
    +00348                 float t2 = t * t;
    +00349                 float t3 = t2 * t;
    +00350                 float t4 = t3 * t;
    +00351 
    +00352                 float dt4gdot = 8 * t3 * gdot;
    +00353 
    +00354                 res.x += t4 * g.x - dt4gdot * xp;
    +00355                 res.y += t4 * g.y - dt4gdot * yp;
    +00356                 res.z += t4 * g.z - dt4gdot * zp;
    +00357                 res.w += t4 * gdot;
    +00358             }
    +00359         }
    +00360         // scale the result to cover the range [-1,1]
    +00361         res *= 27;
    +00362         return res;
     00363     }
     00364 
    -00365 };
    -00366 
    -00367 
    -00368     } // Blast namespace
    -00369 } // Nv namespace
    -00370 
    -00371 
    -00372 
    -00373 #endif
    +00370     float sample(physx::PxVec3 p)
    +00371     {
    +00372         p *= mFrequency;
    +00373         float result = 0.0f;
    +00374         float alpha = 1;
    +00375         for (int32_t i = 1; i <= mOctaves; ++i)
    +00376         {
    +00377             result += eval4D(p.x * i, p.y * i, p.z * i, i * 5.0f, mSeed).w * alpha;
    +00378             alpha *= 0.45;
    +00379         }
    +00380         return result * mAmplitude;
    +00381     }
    +00382 
    +00383 };
    +00384 
    +00385 
    +00386     } // Blast namespace
    +00387 } // Nv namespace
    +00388 
    +00389 
    +00390 
    +00391 #endif
     
    -

    sdk/extensions/authoring/source/NvBlastExtAuthoringTriangulator.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 NVBLASTEXTAUTHORINGTRIANGULATOR_H
    -00012 #define NVBLASTEXTAUTHORINGTRIANGULATOR_H
    -00013 
    -00014 
    -00015 #include <vector>
    -00016 #include <map>
    -00017 #include "NvBlastExtAuthoringTypes.h"
    -00018 #include "NvBlastExtAuthoringMesh.h"
    -00019 #include "NvBlastExtAuthoringInternalCommon.h"
    -00020 
    -00021 namespace Nv
    -00022 {
    -00023 namespace Blast
    -00024 {
    -00025 class SimplexNoise;
    -00026 
    -00030 struct VrtComp
    -00031 {
    -00032     bool operator()(const Vertex& a, const Vertex& b) const;
    -00033 };
    -00034 
    -00038 struct VrtPositionComparator
    -00039 {
    -00040     bool operator()(const physx::PxVec3& a, const physx::PxVec3& b) const;
    -00041 };
    -00042 
    -00046 struct EdgeToTriangles
    -00047 {
    -00048     int32_t tr[2];
    -00049     int32_t c;
    -00050     EdgeToTriangles()
    -00051     {
    -00052         c = 0;
    -00053     }
    -00057     void    add(int32_t t)
    -00058     {
    -00059         tr[c] = t;
    -00060         ++c;
    -00061     }
    -00065     void    replace(int32_t from, int32_t to)
    -00066     {
    -00067         if (tr[0] == from)
    -00068         {
    -00069             tr[0] = to;
    -00070         }
    -00071         else
    -00072         {
    -00073             if (c == 2 && tr[1] == from)
    -00074             {
    -00075                 tr[1] = to;
    -00076             }
    -00077         }
    -00078     }
    -00082     int32_t getNot(int32_t id)
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringTriangulator.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTAUTHORINGTRIANGULATOR_H
    +00030 #define NVBLASTEXTAUTHORINGTRIANGULATOR_H
    +00031 
    +00032 
    +00033 #include <vector>
    +00034 #include <map>
    +00035 #include "NvBlastExtAuthoringTypes.h"
    +00036 #include "NvBlastExtAuthoringMesh.h"
    +00037 #include "NvBlastExtAuthoringInternalCommon.h"
    +00038 
    +00039 namespace Nv
    +00040 {
    +00041 namespace Blast
    +00042 {
    +00043 
    +00044 
    +00048 class Triangulator
    +00049 {
    +00050 public:
    +00055     void                            triangulate(const Mesh* mesh);
    +00056 
    +00060     std::vector<Triangle>&          getBaseMesh()
    +00061     {
    +00062         return mBaseMeshResultTriangles;
    +00063     }
    +00064 
    +00068     std::vector<TriangleIndexed>&   getBaseMeshIndexed()
    +00069     {
    +00070         return mBaseMeshTriangles;
    +00071     }
    +00075     std::vector<uint32_t>&          getBaseMapping()
    +00076     {
    +00077         return mBaseMapping;
    +00078     };
    +00082     std::vector<int32_t>&           getPositionedMapping()
     00083     {
    -00084         if (tr[0] != id)
    -00085         {
    -00086             return tr[0];
    -00087         }
    -00088         if (c == 2 && tr[1] != id)
    -00089         {
    -00090             return tr[1];
    -00091         }
    -00092         return -1;
    -00093     }
    -00094 
    -00095 };
    -00096 
    -00097 
    -00101 class ChunkPostProcessor
    -00102 {
    -00103 public:
    -00107     enum EdgeFlag{ INTERNAL_EDGE, EXTERNAL_BORDER_EDGE, INTERNAL_BORDER_EDGE, EXTERNAL_EDGE, NONE };
    -00108 
    -00113     void                            triangulate(Mesh* mesh);
    +00084         return mPositionMappedVrt;
    +00085     };
    +00089     uint32_t                        getWeldedVerticesCount()
    +00090     {
    +00091         return static_cast<uint32_t>(mVertices.size());
    +00092     }   
    +00093 
    +00097     void                            reset();
    +00098 
    +00099 private:
    +00100 
    +00101     int32_t                         addVerticeIfNotExist(const Vertex& p);
    +00102     void                            addEdgeIfValid(EdgeWithParent& ed);
    +00103     
    +00104     /* Data used before triangulation to build polygon loops*/
    +00105 
    +00106     std::vector<Vertex>                                 mVertices;
    +00107     std::vector<EdgeWithParent>                         mBaseMeshEdges;
    +00108     std::map<Vertex, int32_t, VrtComp>                  mVertMap;
    +00109     std::map<EdgeWithParent, int32_t, EdgeComparator>   mEdgeMap;
    +00110     std::vector<uint32_t>                               mBaseMapping;
    +00111     std::vector<int32_t>                                mPositionMappedVrt;
    +00112     /* ------------------------------------------------------------ */
    +00113 
     00114 
    -00118     std::vector<Triangle>&          getBaseMesh()
    -00119     {
    -00120         return mBaseMeshResultTriangles;
    -00121     }
    -00122 
    -00126     std::vector<TriangleIndexed>&   getBaseMeshIndexed()
    -00127     {
    -00128         return mBaseMeshTriangles;
    -00129     }
    -00130 
    -00131 
    -00135     std::vector<uint32_t>&          getBaseMapping()
    -00136     {
    -00137         return mBaseMapping;
    -00138     };
    -00142     std::vector<int32_t>&           getPositionedMapping()
    -00143     {
    -00144         return mPositionMappedVrt;
    -00145     };
    -00146 
    -00150     uint32_t                        getWeldedVerticesCount()
    -00151     {
    -00152         return static_cast<uint32_t>(mVertices.size());
    -00153     }   
    -00158     void                            tesselateInternalSurface(float maxLen);
    -00159 
    -00167     void                            applyNoise(SimplexNoise& noise, float falloff, int32_t relaxIterations, float relaxFactor);
    -00168 
    -00172     std::vector<Triangle>&          getNoisyMesh()
    -00173     {
    -00174         return mTesselatedMeshResultTriangles;
    -00175     };
    -00176 
    -00180     void                            reset();
    -00181 
    -00182 private:
    -00183 
    -00184     
    -00185 
    -00186     void                            collapseEdge(int32_t id);
    -00187     void                            divideEdge(int32_t id);
    -00188     void                            updateVertEdgeInfo();
    -00189     void                            updateEdgeTriangleInfo();
    -00190 
    -00191     int32_t                         addVerticeIfNotExist(Vertex& p);
    -00192     void                            addEdgeIfValid(EdgeWithParent& ed);
    -00193     
    -00194     /* Data used before triangulation to build polygon loops*/
    -00195 
    -00196     std::vector<Vertex>                                 mVertices;
    -00197     std::vector<EdgeWithParent>                         mBaseMeshEdges;
    -00198     std::map<Vertex, int32_t, VrtComp>                  mVertMap;
    -00199     std::map<EdgeWithParent, int32_t, EdgeComparator>   mEdgeMap;
    -00200     std::vector<uint32_t>                               mBaseMapping;
    -00201     
    -00202 
    -00203 
    -00207     void                            prepare(Mesh* mesh);
    -00208 
    -00209     /* ------------------------------------------------------------ */
    -00210 
    -00211     /* Triangulation and tesselation stage data */
    -00212     bool                                                isTesselated;
    -00213 
    -00214     std::map<Edge,  int32_t>                            mTrMeshEdgeMap;
    -00215     std::vector<Edge>                                   mTrMeshEdges;
    -00216     std::vector<EdgeToTriangles>                        mTrMeshEdToTr;
    -00217     std::vector<int32_t>                                mVertexValence;
    -00218     std::vector<std::vector<int32_t> >                  mVertexToTriangleMap;
    -00219 
    -00220     std::vector<bool>                                   mRestrictionFlag;
    -00221     std::vector<EdgeFlag>                               mEdgeFlag;
    -00222 
    -00223     std::vector<float>                                  mVerticesDistances;
    -00224     std::vector<physx::PxVec3>                          mVerticesNormalsSmoothed;
    -00225     std::vector<int32_t>                                mPositionMappedVrt;
    -00226     std::vector<std::vector<int32_t> >                  mGeometryGraph;
    -00227 
    -00228 
    -00229     int32_t                         addEdgeTr(const Edge& ed);
    -00230     int32_t                         findEdge(const Edge& e);
    -00231 
    -00232     void                            prebuildEdgeFlagArray();
    -00233     void                            computePositionedMapping();
    -00234     
    -00235     void                            computeFalloffAndNormals();
    -00236 
    -00237 
    -00238         
    -00239     void                            triangulatePolygonWithEarClipping(std::vector<uint32_t>& inputPolygon, Vertex* vert, ProjectionDirections dir);
    -00240     void                            buildPolygonAndTriangulate(std::vector<Edge>& edges, Vertex* vertices, int32_t userData);
    -00241     
    -00242     void                            relax(int32_t iterations, float factor, std::vector<Vertex>& vertices);
    -00243     void                            recalcNoiseDirs();
    -00244 
    -00245     std::vector<TriangleIndexed>                        mBaseMeshTriangles;
    -00246     std::vector<TriangleIndexed>                        mTesselatedMeshTriangles;
    -00247 
    -00251     void prebuildTesselatedTriangles();
    -00252 
    -00253     std::vector<Triangle>                               mBaseMeshResultTriangles;
    -00254     std::vector<Triangle>                               mTesselatedMeshResultTriangles;
    -00255 };
    -00256 
    -00257 } // namespace Blast
    -00258 } // namespace Nv
    -00259 
    -00260 
    -00261 #endif  // ifndef NVBLASTEXTAUTHORINGTRIANGULATOR_H
    +00118     void                            prepare(const Mesh* mesh);
    +00119 
    +00120         
    +00121             
    +00122     void                            triangulatePolygonWithEarClipping(std::vector<uint32_t>& inputPolygon, Vertex* vert, ProjectionDirections dir);
    +00123     void                            buildPolygonAndTriangulate(std::vector<Edge>& edges, Vertex* vertices, int32_t userData, int32_t materialId, int32_t smoothingGroup);
    +00124     void                            computePositionedMapping();
    +00125     
    +00126     std::vector<TriangleIndexed>                        mBaseMeshTriangles; 
    +00130     std::vector<Triangle>                               mBaseMeshResultTriangles;
    +00131 };
    +00132 
    +00133 } // namespace Blast
    +00134 } // namespace Nv
    +00135 
    +00136 
    +00137 #endif  // ifndef NVBLASTEXTAUTHORINGTRIANGULATOR_H
     
    diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_v_s_a_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_v_s_a_8h-source.html index 551bc66..0c71d37 100644 --- a/docs/source_docs/files/_nv_blast_ext_authoring_v_s_a_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_authoring_v_s_a_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringVSA.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtAuthoringVSA.h Source File @@ -35,318 +35,336 @@
  • File Members
  • -

    sdk/extensions/authoring/source/NvBlastExtAuthoringVSA.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 NVBLASTEXTAUTHORINGVSA_H
    -00012 #define NVBLASTEXTAUTHORINGVSA_H
    -00013 
    -00014 namespace Nv
    -00015 {
    -00016 namespace Blast
    -00017 {
    -00018 
    -00019 /*
    -00020     This code copied from APEX GSA
    -00021 */
    -00022 
    -00023 namespace VSA
    -00024 {
    -00025 typedef float real;
    -00026 
    -00027 struct VS3D_Halfspace_Set
    -00028 {
    -00029     virtual real    farthest_halfspace(real plane[4], const real point[4]) = 0;
    -00030 };
    -00031 
    -00032 
    -00033 // Simple types and operations for internal calculations
    -00034 struct Vec3 { real x, y, z; };  // 3-vector 
    -00035 inline Vec3 vec3(real x, real y, real z) { Vec3 r; r.x = x; r.y = y; r.z = z; return r; }   // vector builder
    -00036 inline Vec3 operator +	(const Vec3& a, const Vec3& b) { return vec3(a.x + b.x, a.y + b.y, a.z + b.z); }         // vector addition
    -00037 inline Vec3 operator *	(real s, const Vec3& v) { return vec3(s*v.x, s*v.y, s*v.z); }                // scalar multiplication
    -00038 inline real operator |	(const Vec3& a, const Vec3& b) { return a.x*b.x + a.y*b.y + a.z*b.z; }               // dot product
    -00039 inline Vec3 operator ^	(const Vec3& a, const Vec3& b) { return vec3(a.y*b.z - b.y*a.z, a.z*b.x - b.z*a.x, a.x*b.y - b.x*a.y); } // cross product
    +

    sdk/extensions/authoring/source/NvBlastExtAuthoringVSA.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTAUTHORINGVSA_H
    +00030 #define NVBLASTEXTAUTHORINGVSA_H
    +00031 
    +00032 namespace Nv
    +00033 {
    +00034 namespace Blast
    +00035 {
    +00036 
    +00037 /*
    +00038     This code copied from APEX GSA
    +00039 */
     00040 
    -00041 struct Vec4 { Vec3 v; real w; };    // 4-vector split into 3-vector and scalar parts
    -00042 inline Vec4 vec4(const Vec3& v, real w) { Vec4 r; r.v = v; r.w = w; return r; } // vector builder
    -00043 inline real operator | (const Vec4& a, const Vec4& b) { return (a.v | b.v) + a.w*b.w; }         // dot product
    +00041 namespace VSA
    +00042 {
    +00043 typedef float real;
     00044 
    -00045 // More accurate perpendicular
    -00046 inline Vec3 perp(const Vec3& a, const Vec3& b)
    -00047 {
    -00048     Vec3 c = a^b;   // Cross-product gives perpendicular
    -00049 #if VS3D_HIGH_ACCURACY || REAL_DOUBLE
    -00050     const real c2 = c | c;
    -00051     if (c2 != 0) c = c + (1 / c2)*((a | c)*(c^b) + (b | c)*(a^c));  // Improvement to (a b)^T(c) = (0)
    -00052 #endif
    -00053     return c;
    -00054 }
    -00055 
    -00056 // Square
    -00057 inline real sq(real x) { return x*x; }
    +00045 struct VS3D_Halfspace_Set
    +00046 {
    +00047     virtual real    farthest_halfspace(real plane[4], const real point[4]) = 0;
    +00048 };
    +00049 
    +00050 
    +00051 // Simple types and operations for internal calculations
    +00052 struct Vec3 { real x, y, z; };  // 3-vector 
    +00053 inline Vec3 vec3(real x, real y, real z) { Vec3 r; r.x = x; r.y = y; r.z = z; return r; }   // vector builder
    +00054 inline Vec3 operator +	(const Vec3& a, const Vec3& b) { return vec3(a.x + b.x, a.y + b.y, a.z + b.z); }         // vector addition
    +00055 inline Vec3 operator *	(real s, const Vec3& v) { return vec3(s*v.x, s*v.y, s*v.z); }                // scalar multiplication
    +00056 inline real operator |	(const Vec3& a, const Vec3& b) { return a.x*b.x + a.y*b.y + a.z*b.z; }               // dot product
    +00057 inline Vec3 operator ^	(const Vec3& a, const Vec3& b) { return vec3(a.y*b.z - b.y*a.z, a.z*b.x - b.z*a.x, a.x*b.y - b.x*a.y); } // cross product
     00058 
    -00059 // Returns index of the extremal element in a three-element set {e0, e1, e2} based upon comparisons c_ij. The extremal index m is such that c_mn is true, or e_m == e_n, for all n.
    -00060 inline int  ext_index(int c_10, int c_21, int c_20) { return c_10 << c_21 | (c_21&c_20) << 1; }
    -00061 
    -00062 // Returns index (0, 1, or 2) of minimum argument
    -00063 inline int  index_of_min(real x0, real x1, real x2) { return ext_index((int)(x1 < x0), (int)(x2 < x1), (int)(x2 < x0)); }
    -00064 
    -00065 // Compare fractions with positive deominators.  Returns a_num*sqrt(a_rden2) > b_num*sqrt(b_rden2)
    -00066 inline bool frac_gt(real a_num, real a_rden2, real b_num, real b_rden2)
    -00067 {
    -00068     const bool a_num_neg = a_num < 0;
    -00069     const bool b_num_neg = b_num < 0;
    -00070     return a_num_neg != b_num_neg ? b_num_neg : ((a_num*a_num*a_rden2 > b_num*b_num*b_rden2) != a_num_neg);
    -00071 }
    -00072 
    -00073 // Returns index (0, 1, or 2) of maximum fraction with positive deominators
    -00074 inline int  index_of_max_frac(real x0_num, real x0_rden2, real x1_num, real x1_rden2, real x2_num, real x2_rden2)
    -00075 {
    -00076     return ext_index((int)frac_gt(x1_num, x1_rden2, x0_num, x0_rden2), (int)frac_gt(x2_num, x2_rden2, x1_num, x1_rden2), (int)frac_gt(x2_num, x2_rden2, x0_num, x0_rden2));
    -00077 }
    -00078 
    -00079 // Compare values given their signs and squares.  Returns a > b.  a2 and b2 may have any constant offset applied to them.
    -00080 inline bool sgn_sq_gt(real sgn_a, real a2, real sgn_b, real b2) { return sgn_a*sgn_b < 0 ? (sgn_b < 0) : ((a2 > b2) != (sgn_a < 0)); }
    -00081 
    -00082 // Returns index (0, 1, or 2) of maximum value given their signs and squares.  sq_x0, sq_x1, and sq_x2 may have any constant offset applied to them.
    -00083 inline int  index_of_max_sgn_sq(real sgn_x0, real sq_x0, real sgn_x1, real sq_x1, real sgn_x2, real sq_x2)
    -00084 {
    -00085     return ext_index((int)sgn_sq_gt(sgn_x1, sq_x1, sgn_x0, sq_x0), (int)sgn_sq_gt(sgn_x2, sq_x2, sgn_x1, sq_x1), (int)sgn_sq_gt(sgn_x2, sq_x2, sgn_x0, sq_x0));
    -00086 }
    -00087 
    -00088 // Project 2D (homogeneous) vector onto 2D half-space boundary
    -00089 inline void project2D(Vec3& r, const Vec3& plane, real delta, real recip_n2, real eps2)
    -00090 {
    -00091     r = r + (-delta*recip_n2)*vec3(plane.x, plane.y, 0);
    -00092     r = r + (-(r | plane)*recip_n2)*vec3(plane.x, plane.y, 0);  // Second projection for increased accuracy
    -00093     if ((r | r) > eps2) return;
    -00094     r = (-plane.z*recip_n2)*vec3(plane.x, plane.y, 0);
    -00095     r.z = 1;
    -00096 }
    -00097 
    -00098 
    -00099 // Update function for vs3d_test
    -00100 static bool vs3d_update(Vec4& p, Vec4 S[4], int& plane_count, const Vec4& q, real eps2)
    -00101 {
    -00102     // h plane is the last plane
    -00103     const Vec4& h = S[plane_count - 1];
    -00104 
    -00105     // Handle plane_count == 1 specially (optimization; this could be commented out)
    -00106     if (plane_count == 1)
    -00107     {
    -00108         // Solution is objective projected onto h plane
    -00109         p = q;
    -00110         p.v = p.v + -(p | h)*h.v;
    -00111         if ((p | p) <= eps2) p = vec4(-h.w*h.v, 1); // If p == 0 then q is a direction vector, any point in h is a support point
    -00112         return true;
    -00113     }
    -00114 
    -00115     // Create basis in the h plane
    -00116     const int min_i = index_of_min(h.v.x*h.v.x, h.v.y*h.v.y, h.v.z*h.v.z);
    -00117     const Vec3 y = h.v^vec3((real)(min_i == 0), (real)(min_i == 1), (real)(min_i == 2));
    -00118     const Vec3 x = y^h.v;
    -00119 
    -00120     // Use reduced vector r instead of p
    -00121     Vec3 r = { x | q.v, y | q.v, q.w*(y | y) }; // (x|x) = (y|y) = square of plane basis scale
    +00059 struct Vec4 { Vec3 v; real w; };    // 4-vector split into 3-vector and scalar parts
    +00060 inline Vec4 vec4(const Vec3& v, real w) { Vec4 r; r.v = v; r.w = w; return r; } // vector builder
    +00061 inline real operator | (const Vec4& a, const Vec4& b) { return (a.v | b.v) + a.w*b.w; }         // dot product
    +00062 
    +00063 // More accurate perpendicular
    +00064 inline Vec3 perp(const Vec3& a, const Vec3& b)
    +00065 {
    +00066     Vec3 c = a^b;   // Cross-product gives perpendicular
    +00067 #if VS3D_HIGH_ACCURACY || REAL_DOUBLE
    +00068     const real c2 = c | c;
    +00069     if (c2 != 0) c = c + (1 / c2)*((a | c)*(c^b) + (b | c)*(a^c));  // Improvement to (a b)^T(c) = (0)
    +00070 #endif
    +00071     return c;
    +00072 }
    +00073 
    +00074 // Square
    +00075 inline real sq(real x) { return x*x; }
    +00076 
    +00077 // Returns index of the extremal element in a three-element set {e0, e1, e2} based upon comparisons c_ij. The extremal index m is such that c_mn is true, or e_m == e_n, for all n.
    +00078 inline int  ext_index(int c_10, int c_21, int c_20) { return c_10 << c_21 | (c_21&c_20) << 1; }
    +00079 
    +00080 // Returns index (0, 1, or 2) of minimum argument
    +00081 inline int  index_of_min(real x0, real x1, real x2) { return ext_index((int)(x1 < x0), (int)(x2 < x1), (int)(x2 < x0)); }
    +00082 
    +00083 // Compare fractions with positive deominators.  Returns a_num*sqrt(a_rden2) > b_num*sqrt(b_rden2)
    +00084 inline bool frac_gt(real a_num, real a_rden2, real b_num, real b_rden2)
    +00085 {
    +00086     const bool a_num_neg = a_num < 0;
    +00087     const bool b_num_neg = b_num < 0;
    +00088     return a_num_neg != b_num_neg ? b_num_neg : ((a_num*a_num*a_rden2 > b_num*b_num*b_rden2) != a_num_neg);
    +00089 }
    +00090 
    +00091 // Returns index (0, 1, or 2) of maximum fraction with positive deominators
    +00092 inline int  index_of_max_frac(real x0_num, real x0_rden2, real x1_num, real x1_rden2, real x2_num, real x2_rden2)
    +00093 {
    +00094     return ext_index((int)frac_gt(x1_num, x1_rden2, x0_num, x0_rden2), (int)frac_gt(x2_num, x2_rden2, x1_num, x1_rden2), (int)frac_gt(x2_num, x2_rden2, x0_num, x0_rden2));
    +00095 }
    +00096 
    +00097 // Compare values given their signs and squares.  Returns a > b.  a2 and b2 may have any constant offset applied to them.
    +00098 inline bool sgn_sq_gt(real sgn_a, real a2, real sgn_b, real b2) { return sgn_a*sgn_b < 0 ? (sgn_b < 0) : ((a2 > b2) != (sgn_a < 0)); }
    +00099 
    +00100 // Returns index (0, 1, or 2) of maximum value given their signs and squares.  sq_x0, sq_x1, and sq_x2 may have any constant offset applied to them.
    +00101 inline int  index_of_max_sgn_sq(real sgn_x0, real sq_x0, real sgn_x1, real sq_x1, real sgn_x2, real sq_x2)
    +00102 {
    +00103     return ext_index((int)sgn_sq_gt(sgn_x1, sq_x1, sgn_x0, sq_x0), (int)sgn_sq_gt(sgn_x2, sq_x2, sgn_x1, sq_x1), (int)sgn_sq_gt(sgn_x2, sq_x2, sgn_x0, sq_x0));
    +00104 }
    +00105 
    +00106 // Project 2D (homogeneous) vector onto 2D half-space boundary
    +00107 inline void project2D(Vec3& r, const Vec3& plane, real delta, real recip_n2, real eps2)
    +00108 {
    +00109     r = r + (-delta*recip_n2)*vec3(plane.x, plane.y, 0);
    +00110     r = r + (-(r | plane)*recip_n2)*vec3(plane.x, plane.y, 0);  // Second projection for increased accuracy
    +00111     if ((r | r) > eps2) return;
    +00112     r = (-plane.z*recip_n2)*vec3(plane.x, plane.y, 0);
    +00113     r.z = 1;
    +00114 }
    +00115 
    +00116 
    +00117 // Update function for vs3d_test
    +00118 static bool vs3d_update(Vec4& p, Vec4 S[4], int& plane_count, const Vec4& q, real eps2)
    +00119 {
    +00120     // h plane is the last plane
    +00121     const Vec4& h = S[plane_count - 1];
     00122 
    -00123     // If r == 0 (within epsilon), then it is a direction vector, and we have a bounded solution
    -00124     if ((r | r) <= eps2) r.z = 1;
    -00125 
    -00126     // Create plane equations in the h plane.  These will not be normalized in general.
    -00127     int N = 0;          // Plane count in h subspace
    -00128     Vec3 R[3];          // Planes in h subspace
    -00129     real recip_n2[3];   // Plane normal vector reciprocal lengths squared
    -00130     real delta[3];      // Signed distance of objective to the planes
    -00131     int index[3];       // Keep track of original plane indices
    -00132     for (int i = 0; i < plane_count - 1; ++i)
    -00133     {
    -00134         const Vec3& vi = S[i].v;
    -00135         const real cos_theta = h.v | vi;
    -00136         R[N] = vec3(x | vi, y | vi, S[i].w - h.w*cos_theta);
    -00137         index[N] = i;
    -00138         const real n2 = R[N].x*R[N].x + R[N].y*R[N].y;
    -00139         if (n2 >= eps2)
    -00140         {
    -00141             const real lin_norm = (real)1.5 - (real)0.5*n2; // 1st-order approximation to 1/sqrt(n2) expanded about n2 = 1
    -00142             R[N] = lin_norm*R[N];   // We don't need normalized plane equations, but rescaling (even with an approximate normalization) gives better numerical behavior
    -00143             recip_n2[N] = 1 / (R[N].x*R[N].x + R[N].y*R[N].y);
    -00144             delta[N] = r | R[N];
    -00145             ++N;    // Keep this plane
    -00146         }
    -00147         else if (cos_theta < 0) return false;   // Parallel cases are redundant and rejected, anti-parallel cases are 1D voids
    -00148     }
    -00149 
    -00150     // Now work with the N-sized R array of half-spaces in the h plane
    -00151     switch (N)
    -00152     {
    -00153     case 1: one_plane :
    -00154         if (delta[0] < 0) N = 0;    // S[0] is redundant, eliminate it
    -00155         else project2D(r, R[0], delta[0], recip_n2[0], eps2);
    -00156         break;
    -00157     case 2: two_planes :
    -00158         if (delta[0] < 0 && delta[1] < 0) N = 0;    // S[0] and S[1] are redundant, eliminate them
    -00159         else
    -00160         {
    -00161             const int max_d_index = (int)frac_gt(delta[1], recip_n2[1], delta[0], recip_n2[0]);
    -00162             project2D(r, R[max_d_index], delta[max_d_index], recip_n2[max_d_index], eps2);
    -00163             const int min_d_index = max_d_index ^ 1;
    -00164             const real new_delta_min = r | R[min_d_index];
    -00165             if (new_delta_min < 0)
    -00166             {
    -00167                 index[0] = index[max_d_index];
    -00168                 N = 1;  // S[min_d_index] is redundant, eliminate it
    -00169             }
    -00170             else
    -00171             {
    -00172                 // Set r to the intersection of R[0] and R[1] and keep both
    -00173                 r = perp(R[0], R[1]);
    -00174                 if (r.z*r.z*recip_n2[0] * recip_n2[1] < eps2)
    -00175                 {
    -00176                     if (R[0].x*R[1].x + R[0].y*R[1].y < 0) return false;    // 2D void found
    -00177                     goto one_plane;
    -00178                 }
    -00179                 r = (1 / r.z)*r;    // We could just as well multiply r by sgn(r.z); we just need to ensure r.z > 0
    -00180             }
    -00181         }
    -00182         break;
    -00183     case 3:
    -00184         if (delta[0] < 0 && delta[1] < 0 && delta[2] < 0) N = 0;    // S[0], S[1], and S[2] are redundant, eliminate them
    -00185         else
    -00186         {
    -00187             const Vec3 row_x = { R[0].x, R[1].x, R[2].x };
    -00188             const Vec3 row_y = { R[0].y, R[1].y, R[2].y };
    -00189             const Vec3 row_w = { R[0].z, R[1].z, R[2].z };
    -00190             const Vec3 cof_w = perp(row_x, row_y);
    -00191             const bool detR_pos = (row_w | cof_w) > 0;
    -00192             const int nrw_sgn0 = cof_w.x*cof_w.x*recip_n2[1] * recip_n2[2] < eps2 ? 0 : (((int)((cof_w.x > 0) == detR_pos) << 1) - 1);
    -00193             const int nrw_sgn1 = cof_w.y*cof_w.y*recip_n2[2] * recip_n2[0] < eps2 ? 0 : (((int)((cof_w.y > 0) == detR_pos) << 1) - 1);
    -00194             const int nrw_sgn2 = cof_w.z*cof_w.z*recip_n2[0] * recip_n2[1] < eps2 ? 0 : (((int)((cof_w.z > 0) == detR_pos) << 1) - 1);
    -00195 
    -00196             if ((nrw_sgn0 | nrw_sgn1 | nrw_sgn2) >= 0) return false;    // 3D void found
    -00197 
    -00198             const int positive_width_count = ((nrw_sgn0 >> 1) & 1) + ((nrw_sgn1 >> 1) & 1) + ((nrw_sgn2 >> 1) & 1);
    -00199             if (positive_width_count == 1)
    -00200             {
    -00201                 // A single positive width results from a redundant plane.  Eliminate it and peform N = 2 calculation.
    -00202                 const int pos_width_index = ((nrw_sgn1 >> 1) & 1) | (nrw_sgn2 & 2); // Calculates which index corresponds to the positive-width side
    -00203                 R[pos_width_index] = R[2];
    -00204                 recip_n2[pos_width_index] = recip_n2[2];
    -00205                 delta[pos_width_index] = delta[2];
    -00206                 index[pos_width_index] = index[2];
    -00207                 N = 2;
    -00208                 goto two_planes;
    -00209             }
    -00210 
    -00211             // Find the max dot product of r and R[i]/|R_normal[i]|.  For numerical accuracy when the angle between r and the i^{th} plane normal is small, we take some care below:
    -00212             const int max_d_index = r.z != 0
    -00213                 ? index_of_max_frac(delta[0], recip_n2[0], delta[1], recip_n2[1], delta[2], recip_n2[2])    // displacement term resolves small-angle ambiguity, just use dot product
    -00214                 : index_of_max_sgn_sq(delta[0], -sq(r.x*R[0].y - r.y*R[0].x)*recip_n2[0], delta[1], -sq(r.x*R[1].y - r.y*R[1].x)*recip_n2[1], delta[2], -sq(r.x*R[2].y - r.y*R[2].x)*recip_n2[2]);  // No displacement term.  Use wedge product to find the sine of the angle.
    +00123     // Handle plane_count == 1 specially (optimization; this could be commented out)
    +00124     if (plane_count == 1)
    +00125     {
    +00126         // Solution is objective projected onto h plane
    +00127         p = q;
    +00128         p.v = p.v + -(p | h)*h.v;
    +00129         if ((p | p) <= eps2) p = vec4(-h.w*h.v, 1); // If p == 0 then q is a direction vector, any point in h is a support point
    +00130         return true;
    +00131     }
    +00132 
    +00133     // Create basis in the h plane
    +00134     const int min_i = index_of_min(h.v.x*h.v.x, h.v.y*h.v.y, h.v.z*h.v.z);
    +00135     const Vec3 y = h.v^vec3((real)(min_i == 0), (real)(min_i == 1), (real)(min_i == 2));
    +00136     const Vec3 x = y^h.v;
    +00137 
    +00138     // Use reduced vector r instead of p
    +00139     Vec3 r = { x | q.v, y | q.v, q.w*(y | y) }; // (x|x) = (y|y) = square of plane basis scale
    +00140 
    +00141     // If r == 0 (within epsilon), then it is a direction vector, and we have a bounded solution
    +00142     if ((r | r) <= eps2) r.z = 1;
    +00143 
    +00144     // Create plane equations in the h plane.  These will not be normalized in general.
    +00145     int N = 0;          // Plane count in h subspace
    +00146     Vec3 R[3];          // Planes in h subspace
    +00147     real recip_n2[3];   // Plane normal vector reciprocal lengths squared
    +00148     real delta[3];      // Signed distance of objective to the planes
    +00149     int index[3];       // Keep track of original plane indices
    +00150     for (int i = 0; i < plane_count - 1; ++i)
    +00151     {
    +00152         const Vec3& vi = S[i].v;
    +00153         const real cos_theta = h.v | vi;
    +00154         R[N] = vec3(x | vi, y | vi, S[i].w - h.w*cos_theta);
    +00155         index[N] = i;
    +00156         const real n2 = R[N].x*R[N].x + R[N].y*R[N].y;
    +00157         if (n2 >= eps2)
    +00158         {
    +00159             const real lin_norm = (real)1.5 - (real)0.5*n2; // 1st-order approximation to 1/sqrt(n2) expanded about n2 = 1
    +00160             R[N] = lin_norm*R[N];   // We don't need normalized plane equations, but rescaling (even with an approximate normalization) gives better numerical behavior
    +00161             recip_n2[N] = 1 / (R[N].x*R[N].x + R[N].y*R[N].y);
    +00162             delta[N] = r | R[N];
    +00163             ++N;    // Keep this plane
    +00164         }
    +00165         else if (cos_theta < 0) return false;   // Parallel cases are redundant and rejected, anti-parallel cases are 1D voids
    +00166     }
    +00167 
    +00168     // Now work with the N-sized R array of half-spaces in the h plane
    +00169     switch (N)
    +00170     {
    +00171     case 1: one_plane :
    +00172         if (delta[0] < 0) N = 0;    // S[0] is redundant, eliminate it
    +00173         else project2D(r, R[0], delta[0], recip_n2[0], eps2);
    +00174         break;
    +00175     case 2: two_planes :
    +00176         if (delta[0] < 0 && delta[1] < 0) N = 0;    // S[0] and S[1] are redundant, eliminate them
    +00177         else
    +00178         {
    +00179             const int max_d_index = (int)frac_gt(delta[1], recip_n2[1], delta[0], recip_n2[0]);
    +00180             project2D(r, R[max_d_index], delta[max_d_index], recip_n2[max_d_index], eps2);
    +00181             const int min_d_index = max_d_index ^ 1;
    +00182             const real new_delta_min = r | R[min_d_index];
    +00183             if (new_delta_min < 0)
    +00184             {
    +00185                 index[0] = index[max_d_index];
    +00186                 N = 1;  // S[min_d_index] is redundant, eliminate it
    +00187             }
    +00188             else
    +00189             {
    +00190                 // Set r to the intersection of R[0] and R[1] and keep both
    +00191                 r = perp(R[0], R[1]);
    +00192                 if (r.z*r.z*recip_n2[0] * recip_n2[1] < eps2)
    +00193                 {
    +00194                     if (R[0].x*R[1].x + R[0].y*R[1].y < 0) return false;    // 2D void found
    +00195                     goto one_plane;
    +00196                 }
    +00197                 r = (1 / r.z)*r;    // We could just as well multiply r by sgn(r.z); we just need to ensure r.z > 0
    +00198             }
    +00199         }
    +00200         break;
    +00201     case 3:
    +00202         if (delta[0] < 0 && delta[1] < 0 && delta[2] < 0) N = 0;    // S[0], S[1], and S[2] are redundant, eliminate them
    +00203         else
    +00204         {
    +00205             const Vec3 row_x = { R[0].x, R[1].x, R[2].x };
    +00206             const Vec3 row_y = { R[0].y, R[1].y, R[2].y };
    +00207             const Vec3 row_w = { R[0].z, R[1].z, R[2].z };
    +00208             const Vec3 cof_w = perp(row_x, row_y);
    +00209             const bool detR_pos = (row_w | cof_w) > 0;
    +00210             const int nrw_sgn0 = cof_w.x*cof_w.x*recip_n2[1] * recip_n2[2] < eps2 ? 0 : (((int)((cof_w.x > 0) == detR_pos) << 1) - 1);
    +00211             const int nrw_sgn1 = cof_w.y*cof_w.y*recip_n2[2] * recip_n2[0] < eps2 ? 0 : (((int)((cof_w.y > 0) == detR_pos) << 1) - 1);
    +00212             const int nrw_sgn2 = cof_w.z*cof_w.z*recip_n2[0] * recip_n2[1] < eps2 ? 0 : (((int)((cof_w.z > 0) == detR_pos) << 1) - 1);
    +00213 
    +00214             if ((nrw_sgn0 | nrw_sgn1 | nrw_sgn2) >= 0) return false;    // 3D void found
     00215 
    -00216             // Project r onto max-d plane
    -00217             project2D(r, R[max_d_index], delta[max_d_index], recip_n2[max_d_index], eps2);
    -00218             N = 1;  // Unless we use a vertex in the loop below
    -00219             const int index_max = index[max_d_index];
    -00220 
    -00221             // The number of finite widths should be >= 2.  If not, it should be 0, but in any case it implies three parallel lines in the plane, which we should not have here.
    -00222             // If we do have three parallel lines (# of finite widths < 2), we've picked the line corresponding to the half-plane farthest from r, which is correct.
    -00223             const int finite_width_count = (nrw_sgn0 & 1) + (nrw_sgn1 & 1) + (nrw_sgn2 & 1);
    -00224             if (finite_width_count >= 2)
    -00225             {
    -00226                 const int i_remaining[2] = { (1 << max_d_index) & 3, (3 >> max_d_index) ^ 1 };  // = {(max_d_index+1)%3, (max_d_index+2)%3}
    -00227                 const int i_select = (int)frac_gt(delta[i_remaining[1]], recip_n2[i_remaining[1]], delta[i_remaining[0]], recip_n2[i_remaining[0]]);    // Select the greater of the remaining dot products
    -00228                 for (int i = 0; i < 2; ++i)
    -00229                 {
    -00230                     const int j = i_remaining[i_select^i];  // i = 0 => the next-greatest, i = 1 => the least
    -00231                     if ((r | R[j]) >= 0)
    -00232                     {
    -00233                         r = perp(R[max_d_index], R[j]);
    -00234                         r = (1 / r.z)*r;    // We could just as well multiply r by sgn(r.z); we just need to ensure r.z > 0
    -00235                         index[1] = index[j];
    -00236                         N = 2;
    -00237                         break;
    -00238                     }
    -00239                 }
    -00240             }
    -00241 
    -00242             index[0] = index_max;
    -00243         }
    -00244         break;
    -00245     }
    -00246 
    -00247     // Transform r back to 3D space
    -00248     p = vec4(r.x*x + r.y*y + (-r.z*h.w)*h.v, r.z);
    -00249 
    -00250     // Pack S array with kept planes
    -00251     if (N < 2 || index[1] != 0) { for (int i = 0; i < N; ++i) S[i] = S[index[i]]; } // Safe to copy columns in order
    -00252     else { const Vec4 temp = S[0]; S[0] = S[index[0]]; S[1] = temp; }   // Otherwise use temp storage to avoid overwrite
    -00253     S[N] = h;
    -00254     plane_count = N + 1;
    -00255 
    -00256     return true;
    -00257 }
    -00258 
    +00216             const int positive_width_count = ((nrw_sgn0 >> 1) & 1) + ((nrw_sgn1 >> 1) & 1) + ((nrw_sgn2 >> 1) & 1);
    +00217             if (positive_width_count == 1)
    +00218             {
    +00219                 // A single positive width results from a redundant plane.  Eliminate it and peform N = 2 calculation.
    +00220                 const int pos_width_index = ((nrw_sgn1 >> 1) & 1) | (nrw_sgn2 & 2); // Calculates which index corresponds to the positive-width side
    +00221                 R[pos_width_index] = R[2];
    +00222                 recip_n2[pos_width_index] = recip_n2[2];
    +00223                 delta[pos_width_index] = delta[2];
    +00224                 index[pos_width_index] = index[2];
    +00225                 N = 2;
    +00226                 goto two_planes;
    +00227             }
    +00228 
    +00229             // Find the max dot product of r and R[i]/|R_normal[i]|.  For numerical accuracy when the angle between r and the i^{th} plane normal is small, we take some care below:
    +00230             const int max_d_index = r.z != 0
    +00231                 ? index_of_max_frac(delta[0], recip_n2[0], delta[1], recip_n2[1], delta[2], recip_n2[2])    // displacement term resolves small-angle ambiguity, just use dot product
    +00232                 : index_of_max_sgn_sq(delta[0], -sq(r.x*R[0].y - r.y*R[0].x)*recip_n2[0], delta[1], -sq(r.x*R[1].y - r.y*R[1].x)*recip_n2[1], delta[2], -sq(r.x*R[2].y - r.y*R[2].x)*recip_n2[2]);  // No displacement term.  Use wedge product to find the sine of the angle.
    +00233 
    +00234             // Project r onto max-d plane
    +00235             project2D(r, R[max_d_index], delta[max_d_index], recip_n2[max_d_index], eps2);
    +00236             N = 1;  // Unless we use a vertex in the loop below
    +00237             const int index_max = index[max_d_index];
    +00238 
    +00239             // The number of finite widths should be >= 2.  If not, it should be 0, but in any case it implies three parallel lines in the plane, which we should not have here.
    +00240             // If we do have three parallel lines (# of finite widths < 2), we've picked the line corresponding to the half-plane farthest from r, which is correct.
    +00241             const int finite_width_count = (nrw_sgn0 & 1) + (nrw_sgn1 & 1) + (nrw_sgn2 & 1);
    +00242             if (finite_width_count >= 2)
    +00243             {
    +00244                 const int i_remaining[2] = { (1 << max_d_index) & 3, (3 >> max_d_index) ^ 1 };  // = {(max_d_index+1)%3, (max_d_index+2)%3}
    +00245                 const int i_select = (int)frac_gt(delta[i_remaining[1]], recip_n2[i_remaining[1]], delta[i_remaining[0]], recip_n2[i_remaining[0]]);    // Select the greater of the remaining dot products
    +00246                 for (int i = 0; i < 2; ++i)
    +00247                 {
    +00248                     const int j = i_remaining[i_select^i];  // i = 0 => the next-greatest, i = 1 => the least
    +00249                     if ((r | R[j]) >= 0)
    +00250                     {
    +00251                         r = perp(R[max_d_index], R[j]);
    +00252                         r = (1 / r.z)*r;    // We could just as well multiply r by sgn(r.z); we just need to ensure r.z > 0
    +00253                         index[1] = index[j];
    +00254                         N = 2;
    +00255                         break;
    +00256                     }
    +00257                 }
    +00258             }
     00259 
    -00260 // Performs the VS algorithm for D = 3
    -00261 inline int vs3d_test(VS3D_Halfspace_Set& halfspace_set, real* q = nullptr)
    -00262 {
    -00263     // Objective = q if it is not NULL, otherwise it is the origin represented in homogeneous coordinates
    -00264     const Vec4 objective = q ? (q[3] != 0 ? vec4((1 / q[3])*vec3(q[0], q[1], q[2]), 1) : *(Vec4*)q) : vec4(vec3(0, 0, 0), 1);
    -00265 
    -00266     // Tolerance for 3D void simplex algorithm
    -00267     const real eps_f = (real)1 / (sizeof(real) == 4 ? (1L << 23) : (1LL << 52));    // Floating-point epsilon
    -00268 #if VS3D_HIGH_ACCURACY || REAL_DOUBLE
    -00269     const real eps = 8 * eps_f;
    -00270 #else
    -00271     const real eps = 80 * eps_f;
    -00272 #endif
    -00273     const real eps2 = eps*eps;  // Using epsilon squared
    -00274 
    -00275     // Maximum allowed iterations of main loop.  If exceeded, error code is returned
    -00276     const int max_iteration_count = 50;
    +00260             index[0] = index_max;
    +00261         }
    +00262         break;
    +00263     }
    +00264 
    +00265     // Transform r back to 3D space
    +00266     p = vec4(r.x*x + r.y*y + (-r.z*h.w)*h.v, r.z);
    +00267 
    +00268     // Pack S array with kept planes
    +00269     if (N < 2 || index[1] != 0) { for (int i = 0; i < N; ++i) S[i] = S[index[i]]; } // Safe to copy columns in order
    +00270     else { const Vec4 temp = S[0]; S[0] = S[index[0]]; S[1] = temp; }   // Otherwise use temp storage to avoid overwrite
    +00271     S[N] = h;
    +00272     plane_count = N + 1;
    +00273 
    +00274     return true;
    +00275 }
    +00276 
     00277 
    -00278     // State
    -00279     Vec4 S[4];              // Up to 4 planes
    -00280     int plane_count = 0;    // Number of valid planes
    -00281     Vec4 p = objective;     // Test point, initialized to objective
    -00282 
    -00283     // Default result, changed to valid result if found in loop below
    -00284     int result = -1;
    -00285 
    -00286     // Iterate until a stopping condition is met or the maximum number of iterations is reached
    -00287     for (int i = 0; result < 0 && i < max_iteration_count; ++i)
    -00288     {
    -00289         Vec4& plane = S[plane_count++];
    -00290         real delta = halfspace_set.farthest_halfspace(&plane.v.x, &p.v.x);
    -00291 #if VS3D_UNNORMALIZED_PLANE_HANDLING != 0
    -00292         const real recip_norm = vs3d_recip_sqrt(plane.v | plane.v);
    -00293         plane = vec4(recip_norm*plane.v, recip_norm*plane.w);
    -00294         delta *= recip_norm;
    -00295 #endif
    -00296         if (delta <= 0 || delta*delta <= eps2*(p | p)) result = 1;  // Intersection found
    -00297         else if (!vs3d_update(p, S, plane_count, objective, eps2)) result = 0;  // Void simplex found
    -00298     }
    -00299 
    -00300     // If q is given, fill it with the solution (normalize p.w if it is not zero)
    -00301     if (q) *(Vec4*)q = (p.w != 0) ? vec4((1 / p.w)*p.v, 1) : p;
    -00302 
    -00303     return result;
    -00304 }
    -00305 
    -00306 } // namespace VSA
    -00307 
    -00308 } // namespace Blast
    -00309 } // namespace Nv
    -00310 
    -00311 
    -00312 #endif // ifndef NVBLASTEXTAUTHORINGVSA_H
    +00278 // Performs the VS algorithm for D = 3
    +00279 inline int vs3d_test(VS3D_Halfspace_Set& halfspace_set, real* q = nullptr)
    +00280 {
    +00281     // Objective = q if it is not NULL, otherwise it is the origin represented in homogeneous coordinates
    +00282     const Vec4 objective = q ? (q[3] != 0 ? vec4((1 / q[3])*vec3(q[0], q[1], q[2]), 1) : *(Vec4*)q) : vec4(vec3(0, 0, 0), 1);
    +00283 
    +00284     // Tolerance for 3D void simplex algorithm
    +00285     const real eps_f = (real)1 / (sizeof(real) == 4 ? (1L << 23) : (1LL << 52));    // Floating-point epsilon
    +00286 #if VS3D_HIGH_ACCURACY || REAL_DOUBLE
    +00287     const real eps = 8 * eps_f;
    +00288 #else
    +00289     const real eps = 80 * eps_f;
    +00290 #endif
    +00291     const real eps2 = eps*eps;  // Using epsilon squared
    +00292 
    +00293     // Maximum allowed iterations of main loop.  If exceeded, error code is returned
    +00294     const int max_iteration_count = 50;
    +00295 
    +00296     // State
    +00297     Vec4 S[4];              // Up to 4 planes
    +00298     int plane_count = 0;    // Number of valid planes
    +00299     Vec4 p = objective;     // Test point, initialized to objective
    +00300 
    +00301     // Default result, changed to valid result if found in loop below
    +00302     int result = -1;
    +00303 
    +00304     // Iterate until a stopping condition is met or the maximum number of iterations is reached
    +00305     for (int i = 0; result < 0 && i < max_iteration_count; ++i)
    +00306     {
    +00307         Vec4& plane = S[plane_count++];
    +00308         real delta = halfspace_set.farthest_halfspace(&plane.v.x, &p.v.x);
    +00309 #if VS3D_UNNORMALIZED_PLANE_HANDLING != 0
    +00310         const real recip_norm = vs3d_recip_sqrt(plane.v | plane.v);
    +00311         plane = vec4(recip_norm*plane.v, recip_norm*plane.w);
    +00312         delta *= recip_norm;
    +00313 #endif
    +00314         if (delta <= 0 || delta*delta <= eps2*(p | p)) result = 1;  // Intersection found
    +00315         else if (!vs3d_update(p, S, plane_count, objective, eps2)) result = 0;  // Void simplex found
    +00316     }
    +00317 
    +00318     // If q is given, fill it with the solution (normalize p.w if it is not zero)
    +00319     if (q) *(Vec4*)q = (p.w != 0) ? vec4((1 / p.w)*p.v, 1) : p;
    +00320 
    +00321     return result;
    +00322 }
    +00323 
    +00324 } // namespace VSA
    +00325 
    +00326 } // namespace Blast
    +00327 } // namespace Nv
    +00328 
    +00329 
    +00330 #endif // ifndef NVBLASTEXTAUTHORINGVSA_H
     
    -

    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 
    +

    sdk/extensions/shaders/include/NvBlastExtDamageShaders.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTDAMAGESHADERS_H
    +00030 #define NVBLASTEXTDAMAGESHADERS_H
    +00031 
    +00032 #include "NvBlastTypes.h"
    +00033 
    +00034 
     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
    +00041 //  Common Material 
    +00043 
    +00050 struct NvBlastExtMaterial
    +00051 {
    +00052     NvBlastExtMaterial() : health(100.f), minDamageThreshold(0.0f), maxDamageThreshold(1.0f) {}
    +00053 
    +00054     float   health;                 
    +00055     float   minDamageThreshold;     
    +00056     float   maxDamageThreshold;     
    +00057 
    +00068     float getNormalizedDamage(float damageInHealth) const
    +00069     {
    +00070         const float damage = health > 0.f ? damageInHealth / health : 1.0f;
    +00071         return damage > minDamageThreshold ? (damage < maxDamageThreshold ? damage : maxDamageThreshold) : 0.f;
    +00072     }
    +00073 };
    +00074 
    +00075 
    +00077 //  Point Radial Damage
    +00079 
    +00083 struct NvBlastExtRadialDamageDesc
    +00084 {
    +00085     float   damage;         
    +00086     float   position[3];    
    +00087     float   minRadius;      
    +00088     float   maxRadius;      
    +00089 };
    +00090 
    +00098 NVBLAST_API void NvBlastExtFalloffGraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastGraphShaderActor* actor, const NvBlastProgramParams* params);
    +00099 NVBLAST_API void NvBlastExtFalloffSubgraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastSubgraphShaderActor* actor, const NvBlastProgramParams* params);
    +00100 NVBLAST_API void NvBlastExtCutterGraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastGraphShaderActor* actor, const NvBlastProgramParams* params);
    +00101 NVBLAST_API void NvBlastExtCutterSubgraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastSubgraphShaderActor* actor, const NvBlastProgramParams* params);
    +00102 
    +00103 
    +00119 NVBLAST_API bool NvBlastExtDamageActorRadialFalloff(NvBlastActor* actor, NvBlastFractureBuffers* buffers, const NvBlastExtRadialDamageDesc* damageDescBuffer, uint32_t damageDescCount, const NvBlastExtMaterial* material, NvBlastLog logFn, NvBlastTimers* timers);
    +00120 
    +00121 
    +00123 //  Segment Radial Damage
    +00125 
    +00129 struct NvBlastExtSegmentRadialDamageDesc
    +00130 {
    +00131     float   damage;         
    +00132     float   position0[3];   
    +00133     float   position1[3];   
    +00134     float   minRadius;      
    +00135     float   maxRadius;      
    +00136 };
    +00137 
    +00148 NVBLAST_API void NvBlastExtSegmentFalloffGraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastGraphShaderActor* actor, const NvBlastProgramParams* params);
    +00149 NVBLAST_API void NvBlastExtSegmentFalloffSubgraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastSubgraphShaderActor* actor, const NvBlastProgramParams* params);
    +00150 
    +00151 
    +00153 //  Shear Damage
    +00155 
    +00159 struct NvBlastExtShearDamageDesc
    +00160 {
    +00161     float   damage;         
    +00162 
    +00163     float   normal[3];      
    +00164     float   position[3];    
    +00165 
    +00166     float   minRadius;      
    +00167     float   maxRadius;      
    +00168 };
    +00169 
    +00177 NVBLAST_API void NvBlastExtShearGraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastGraphShaderActor* actor, const NvBlastProgramParams* params);
    +00178 NVBLAST_API void NvBlastExtShearSubgraphShader(NvBlastFractureBuffers* commandBuffers, const NvBlastSubgraphShaderActor* actor, const NvBlastProgramParams* params);
    +00179 
    +00180 
    +00181 #endif // NVBLASTEXTDAMAGESHADERS_H
     

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

    #include "NvBlastTypes.h"
    -#include "NvBlastPreprocessor.h"

    Go to the source code of this file. @@ -48,6 +47,8 @@ + + @@ -61,6 +62,10 @@ + + + + @@ -280,6 +285,79 @@ NOTE: The signature of shader functions are equal to NvBlastGraphShaderFunction

    + +

    + +

    +
    +
    struct  NvBlastExtRadialDamageDesc
    struct  NvBlastExtSegmentRadialDamageDesc
    struct  NvBlastExtShearDamageDesc

    Functions

    NVBLAST_API void NvBlastExtFalloffSubgraphShader (NvBlastFractureBuffers *commandBuffers, const NvBlastSubgraphShaderActor *actor, const NvBlastProgramParams *params)
    NVBLAST_API void NvBlastExtSegmentFalloffGraphShader (NvBlastFractureBuffers *commandBuffers, const NvBlastGraphShaderActor *actor, const NvBlastProgramParams *params)
    NVBLAST_API void NvBlastExtSegmentFalloffSubgraphShader (NvBlastFractureBuffers *commandBuffers, const NvBlastSubgraphShaderActor *actor, const NvBlastProgramParams *params)
    NVBLAST_API void NvBlastExtShearGraphShader (NvBlastFractureBuffers *commandBuffers, const NvBlastGraphShaderActor *actor, const NvBlastProgramParams *params)
    NVBLAST_API void NvBlastExtShearSubgraphShader (NvBlastFractureBuffers *commandBuffers, const NvBlastSubgraphShaderActor *actor, const NvBlastProgramParams *params)
    + + + + + + + + + + + + + + + + + + + + + + + +
    NVBLAST_API void NvBlastExtSegmentFalloffGraphShader (NvBlastFractureBuffers commandBuffers,
    const NvBlastGraphShaderActor actor,
    const NvBlastProgramParams params 
    )
    +

    +
    + +

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

    +For every bond/chunk damage is calculated from the distance to line segment AB described in NvBlastExtSegmentRadialDamageDesc. If distance is smaller then minRadius, full compressive amount of damage is applied. From minRadius to maxRaidus it linearly falls off to zero.

    +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
    + +
    +

    + +

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

    +

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

    - - - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_data_converter_8h.html b/docs/source_docs/files/_nv_blast_ext_data_converter_8h.html deleted file mode 100644 index fca319f..0000000 --- a/docs/source_docs/files/_nv_blast_ext_data_converter_8h.html +++ /dev/null @@ -1,61 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source 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

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

    - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_defs_8h-source.html b/docs/source_docs/files/_nv_blast_ext_defs_8h-source.html deleted file mode 100644 index f9d7d73..0000000 --- a/docs/source_docs/files/_nv_blast_ext_defs_8h-source.html +++ /dev/null @@ -1,97 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/common/source/NvBlastExtDefs.h Source File - - - - - - - - - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_defs_8h.html b/docs/source_docs/files/_nv_blast_ext_defs_8h.html deleted file mode 100644 index 07c48a7..0000000 --- a/docs/source_docs/files/_nv_blast_ext_defs_8h.html +++ /dev/null @@ -1,374 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/common/source/NvBlastExtDefs.h File Reference - - - - - - - - -
    -

    sdk/extensions/common/source/NvBlastExtDefs.h File Reference

    #include "NvBlastTkFramework.h"
    -#include "PxAllocatorCallback.h"
    -#include <new>
    - -

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

    Defines

    #define NVBLASTEXT_CHECK(_expr, _messageType, _msg, _onFail)
    #define NVBLASTEXT_CHECK_DEBUG(_expr, _msg, _onFail)   NVBLASTEXT_CHECK(_expr, NvBlastMessage::Debug, _msg, _onFail)
    #define NVBLASTEXT_CHECK_ERROR(_expr, _msg, _onFail)   NVBLASTEXT_CHECK(_expr, NvBlastMessage::Error, _msg, _onFail)
    #define NVBLASTEXT_CHECK_INFO(_expr, _msg, _onFail)   NVBLASTEXT_CHECK(_expr, NvBlastMessage::Info, _msg, _onFail)
    #define NVBLASTEXT_CHECK_WARNING(_expr, _msg, _onFail)   NVBLASTEXT_CHECK(_expr, NvBlastMessage::Warning, _msg, _onFail)
    #define NVBLASTEXT_DELETE(obj, T)
    #define NVBLASTEXT_FOURCC(_a, _b, _c, _d)   ( (uint32_t)(_a) | (uint32_t)(_b)<<8 | (uint32_t)(_c)<<16 | (uint32_t)(_d)<<24 )
    #define NVBLASTEXT_LOG_DEBUG(_msg)   NVBLAST_LOG_DEBUG(NvBlastTkFrameworkGet()->getLogFn(), _msg)
    #define NVBLASTEXT_LOG_ERROR(_msg)   NVBLAST_LOG_ERROR(NvBlastTkFrameworkGet()->getLogFn(), _msg)
    #define NVBLASTEXT_LOG_INFO(_msg)   NVBLAST_LOG_INFO(NvBlastTkFrameworkGet()->getLogFn(), _msg)
    #define NVBLASTEXT_LOG_WARNING(_msg)   NVBLAST_LOG_WARNING(NvBlastTkFrameworkGet()->getLogFn(), _msg)
    #define NVBLASTEXT_NEW(T)   new (NvBlastTkFrameworkGet()->getAllocatorCallback().allocate(sizeof(T), #T, __FILE__, __LINE__)) T
    -


    Define Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    #define NVBLASTEXT_CHECK (_expr,
    _messageType,
    _msg,
    _onFail   ) 
    -
    -
    - -

    -Value:

    {                                                                                       \
    -        if(!(_expr))                                                                        \
    -        {                                                                                   \
    -            (*NvBlastTkFrameworkGet()->getLogFn())(_messageType, _msg, __FILE__, __LINE__); \
    -            { _onFail; };                                                                   \
    -        }                                                                                   \
    -    }
    -
    -
    -

    - -

    -
    - - - - - - - - - - - - - - - -
    #define NVBLASTEXT_CHECK_DEBUG (_expr,
    _msg,
    _onFail   )    NVBLASTEXT_CHECK(_expr, NvBlastMessage::Debug, _msg, _onFail)
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - -
    #define NVBLASTEXT_CHECK_ERROR (_expr,
    _msg,
    _onFail   )    NVBLASTEXT_CHECK(_expr, NvBlastMessage::Error, _msg, _onFail)
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - -
    #define NVBLASTEXT_CHECK_INFO (_expr,
    _msg,
    _onFail   )    NVBLASTEXT_CHECK(_expr, NvBlastMessage::Info, _msg, _onFail)
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - -
    #define NVBLASTEXT_CHECK_WARNING (_expr,
    _msg,
    _onFail   )    NVBLASTEXT_CHECK(_expr, NvBlastMessage::Warning, _msg, _onFail)
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - -
    #define NVBLASTEXT_DELETE (obj,
     ) 
    -
    -
    - -

    -Value:

    (obj)->~T();                                \
    -    NvBlastTkFrameworkGet()->getAllocatorCallback().deallocate(obj)
    -
    Respective delete to NVBLASTEXT_NEW Example: NVBLASTEXT_DELETE(foo, Foo, context); -
    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    #define NVBLASTEXT_FOURCC (_a,
    _b,
    _c,
    _d   )    ( (uint32_t)(_a) | (uint32_t)(_b)<<8 | (uint32_t)(_c)<<16 | (uint32_t)(_d)<<24 )
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    #define NVBLASTEXT_LOG_DEBUG (_msg   )    NVBLAST_LOG_DEBUG(NvBlastTkFrameworkGet()->getLogFn(), _msg)
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    #define NVBLASTEXT_LOG_ERROR (_msg   )    NVBLAST_LOG_ERROR(NvBlastTkFrameworkGet()->getLogFn(), _msg)
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    #define NVBLASTEXT_LOG_INFO (_msg   )    NVBLAST_LOG_INFO(NvBlastTkFrameworkGet()->getLogFn(), _msg)
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    #define NVBLASTEXT_LOG_WARNING (_msg   )    NVBLAST_LOG_WARNING(NvBlastTkFrameworkGet()->getLogFn(), _msg)
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    #define NVBLASTEXT_NEW (  )    new (NvBlastTkFrameworkGet()->getAllocatorCallback().allocate(sizeof(T), #T, __FILE__, __LINE__)) T
    -
    -
    - -

    -Placement new with ExtContext allocation. Example: Foo* foo = NVBLASTEXT_NEW(Foo, context) (params); -

    -

    -

    - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_8h-source.html b/docs/source_docs/files/_nv_blast_ext_exporter_8h-source.html new file mode 100644 index 0000000..4eefd30 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_8h-source.html @@ -0,0 +1,202 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/include/NvBlastExtExporter.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_8h.html b/docs/source_docs/files/_nv_blast_ext_exporter_8h.html new file mode 100644 index 0000000..dd0c4f1 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_8h.html @@ -0,0 +1,165 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/include/NvBlastExtExporter.h File Reference + + + + + + + + +
    +

    sdk/extensions/exporter/include/NvBlastExtExporter.h File Reference

    #include "NvBlastTypes.h"
    + +

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

    Classes

    struct  Nv::Blast::ExporterMeshData
    class  Nv::Blast::IFbxFileReader
    class  Nv::Blast::IMeshFileReader
    class  Nv::Blast::IMeshFileWriter

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    namespace  physx

    Functions

    NVBLAST_API
    +Nv::Blast::IFbxFileReader
    NvBlastExtExporterCreateFbxFileReader ()
    NVBLAST_API
    +Nv::Blast::IMeshFileWriter
    NvBlastExtExporterCreateFbxFileWriter (bool outputFBXAscii=false)
    NVBLAST_API
    +Nv::Blast::IMeshFileReader
    NvBlastExtExporterCreateObjFileReader ()
    NVBLAST_API
    +Nv::Blast::IMeshFileWriter
    NvBlastExtExporterCreateObjFileWriter ()
    +


    Function Documentation

    + +
    +
    + + + + + + + + +
    NVBLAST_API Nv::Blast::IFbxFileReader* NvBlastExtExporterCreateFbxFileReader (  ) 
    +
    +
    + +

    +Creates an instance of IFbxFileReader for reading fbx file. +

    +

    + +

    +
    + + + + + + + + + +
    NVBLAST_API Nv::Blast::IMeshFileWriter* NvBlastExtExporterCreateFbxFileWriter (bool  outputFBXAscii = false  ) 
    +
    +
    + +

    +Creates an instance of IMeshFileWriter for writing fbx file.

    +

    Parameters:
    + + +
    [in] outputFBXAscii If true writes fbx in ascii format otherwise write in binary.
    +
    + +
    +

    + +

    +
    + + + + + + + + +
    NVBLAST_API Nv::Blast::IMeshFileReader* NvBlastExtExporterCreateObjFileReader (  ) 
    +
    +
    + +

    +Creates an instance of IMeshFileReader for reading obj file. +

    +

    + +

    +
    + + + + + + + + +
    NVBLAST_API Nv::Blast::IMeshFileWriter* NvBlastExtExporterCreateObjFileWriter (  ) 
    +
    +
    + +

    +Creates an instance of IMeshFileWriter for writing obj file. +

    +

    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_fbx_reader_8h-source.html b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_reader_8h-source.html new file mode 100644 index 0000000..484aeb5 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_reader_8h-source.html @@ -0,0 +1,161 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/source/NvBlastExtExporterFbxReader.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_fbx_reader_8h.html b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_reader_8h.html new file mode 100644 index 0000000..9856c22 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_reader_8h.html @@ -0,0 +1,65 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/source/NvBlastExtExporterFbxReader.h File Reference + + + + + + + + +
    +

    sdk/extensions/exporter/source/NvBlastExtExporterFbxReader.h File Reference

    #include <memory>
    +#include "fbxsdk.h"
    +#include <vector>
    +#include <map>
    +#include "NvBlastExtExporter.h"
    +#include "NvBlastExtAuthoringTypes.h"
    + +

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

    Classes

    class  Nv::Blast::FbxFileReader

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_fbx_utils_8h-source.html b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_utils_8h-source.html new file mode 100644 index 0000000..d02ea80 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_utils_8h-source.html @@ -0,0 +1,111 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/source/NvBlastExtExporterFbxUtils.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_fbx_utils_8h.html b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_utils_8h.html new file mode 100644 index 0000000..5e48df1 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_utils_8h.html @@ -0,0 +1,63 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/source/NvBlastExtExporterFbxUtils.h File Reference + + + + + + + + +
    +

    sdk/extensions/exporter/source/NvBlastExtExporterFbxUtils.h File Reference

    #include "fbxsdk.h"
    +#include "PxVec3.h"
    +#include "PxVec2.h"
    +#include <string>
    + +

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

    Classes

    class  FbxUtils

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h-source.html b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h-source.html new file mode 100644 index 0000000..be14031 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h-source.html @@ -0,0 +1,155 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h.html b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h.html new file mode 100644 index 0000000..f622f48 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h.html @@ -0,0 +1,65 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.h File Reference + + + + + + + + +
    +

    sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.h File Reference

    #include "NvBlastExtExporter.h"
    +#include <memory>
    +#include <vector>
    +#include <map>
    + +

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

    Classes

    class  Nv::Blast::FbxFileWriter

    Namespaces

    namespace  fbxsdk
    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_json_collision_8h-source.html b/docs/source_docs/files/_nv_blast_ext_exporter_json_collision_8h-source.html new file mode 100644 index 0000000..a8eaa55 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_json_collision_8h-source.html @@ -0,0 +1,98 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/include/NvBlastExtExporterJsonCollision.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_json_collision_8h.html b/docs/source_docs/files/_nv_blast_ext_exporter_json_collision_8h.html new file mode 100644 index 0000000..b89b198 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_json_collision_8h.html @@ -0,0 +1,60 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/include/NvBlastExtExporterJsonCollision.h File Reference + + + + + + + + +
    +

    sdk/extensions/exporter/include/NvBlastExtExporterJsonCollision.h File Reference

    #include "NvBlastTypes.h"
    + +

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

    Classes

    class  Nv::Blast::JsonCollisionExporter

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_obj_reader_8h-source.html b/docs/source_docs/files/_nv_blast_ext_exporter_obj_reader_8h-source.html new file mode 100644 index 0000000..8becaef --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_obj_reader_8h-source.html @@ -0,0 +1,136 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/source/NvBlastExtExporterObjReader.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_obj_reader_8h.html b/docs/source_docs/files/_nv_blast_ext_exporter_obj_reader_8h.html new file mode 100644 index 0000000..1db4677 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_obj_reader_8h.html @@ -0,0 +1,63 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/source/NvBlastExtExporterObjReader.h File Reference + + + + + + + + +
    +

    sdk/extensions/exporter/source/NvBlastExtExporterObjReader.h File Reference

    #include <memory>
    +#include <string>
    +#include <vector>
    +#include "NvBlastExtExporter.h"
    + +

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

    Classes

    class  Nv::Blast::ObjFileReader

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_obj_writer_8h-source.html b/docs/source_docs/files/_nv_blast_ext_exporter_obj_writer_8h-source.html new file mode 100644 index 0000000..9636a96 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_obj_writer_8h-source.html @@ -0,0 +1,111 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/source/NvBlastExtExporterObjWriter.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_obj_writer_8h.html b/docs/source_docs/files/_nv_blast_ext_exporter_obj_writer_8h.html new file mode 100644 index 0000000..6c3fe89 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_exporter_obj_writer_8h.html @@ -0,0 +1,64 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/exporter/source/NvBlastExtExporterObjWriter.h File Reference + + + + + + + + +
    +

    sdk/extensions/exporter/source/NvBlastExtExporterObjWriter.h File Reference

    #include "NvBlastExtExporter.h"
    +#include <memory>
    +#include <vector>
    +#include <PxVec2.h>
    +#include <PxVec3.h>
    + +

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

    Classes

    class  Nv::Blast::ObjFileWriter

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_globals_8h-source.html b/docs/source_docs/files/_nv_blast_ext_globals_8h-source.html deleted file mode 100644 index 14cb3c4..0000000 --- a/docs/source_docs/files/_nv_blast_ext_globals_8h-source.html +++ /dev/null @@ -1,51 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/serialization/source/NvBlastExtGlobals.h Source File - - - - - - - - - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_globals_8h.html b/docs/source_docs/files/_nv_blast_ext_globals_8h.html deleted file mode 100644 index 8ff1890..0000000 --- a/docs/source_docs/files/_nv_blast_ext_globals_8h.html +++ /dev/null @@ -1,106 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/serialization/source/NvBlastExtGlobals.h File Reference - - - - - - - - -
    -

    sdk/extensions/serialization/source/NvBlastExtGlobals.h File Reference

    -

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

    Typedefs

    typedef void *(* NvBlastExtAlloc )(size_t size)

    Variables

    NvBlastExtAlloc gAlloc
    NvBlastLog gLog
    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef void*(* NvBlastExtAlloc)(size_t size)
    -
    -
    - -

    -Function pointer type for allocation - has same signature as stdlib malloc. -

    -

    -


    Variable Documentation

    - -
    -
    - - - - -
    NvBlastExtAlloc gAlloc
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    NvBlastLog gLog
    -
    -
    - -

    - -

    -

    -

    - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_hash_map_8h-source.html b/docs/source_docs/files/_nv_blast_ext_hash_map_8h-source.html deleted file mode 100644 index b595eb1..0000000 --- a/docs/source_docs/files/_nv_blast_ext_hash_map_8h-source.html +++ /dev/null @@ -1,78 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/common/source/NvBlastExtHashMap.h Source File - - - - - - - - - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_hash_map_8h.html b/docs/source_docs/files/_nv_blast_ext_hash_map_8h.html deleted file mode 100644 index abe05cc..0000000 --- a/docs/source_docs/files/_nv_blast_ext_hash_map_8h.html +++ /dev/null @@ -1,61 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/common/source/NvBlastExtHashMap.h File Reference - - - - - - - - -
    -

    sdk/extensions/common/source/NvBlastExtHashMap.h File Reference

    #include "NvBlastExtAllocator.h"
    -#include "PsHashMap.h"
    - -

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

    Classes

    struct  Nv::Blast::ExtHashMap< Key, Value, HashFn >

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    -

    - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_hash_set_8h-source.html b/docs/source_docs/files/_nv_blast_ext_hash_set_8h-source.html deleted file mode 100644 index 258e001..0000000 --- a/docs/source_docs/files/_nv_blast_ext_hash_set_8h-source.html +++ /dev/null @@ -1,77 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/common/source/NvBlastExtHashSet.h Source File - - - - - - - - - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_hash_set_8h.html b/docs/source_docs/files/_nv_blast_ext_hash_set_8h.html deleted file mode 100644 index 13b3886..0000000 --- a/docs/source_docs/files/_nv_blast_ext_hash_set_8h.html +++ /dev/null @@ -1,61 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/common/source/NvBlastExtHashSet.h File Reference - - - - - - - - -
    -

    sdk/extensions/common/source/NvBlastExtHashSet.h File Reference

    #include "NvBlastExtAllocator.h"
    -#include "PsHashSet.h"
    - -

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

    Classes

    struct  Nv::Blast::ExtHashSet< Key, HashFn >

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    -

    - - - - diff --git a/docs/source_docs/files/_nv_blast_ext_impact_damage_manager_8h-source.html b/docs/source_docs/files/_nv_blast_ext_impact_damage_manager_8h-source.html index 0a8dcd1..710c646 100644 --- a/docs/source_docs/files/_nv_blast_ext_impact_damage_manager_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_impact_damage_manager_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h Source File @@ -35,94 +35,123 @@
  • File Members
  • -

    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 
    +

    sdk/extensions/physx/include/NvBlastExtImpactDamageManager.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTIMPACTDAMAGEMANAGER_H
    +00030 #define NVBLASTEXTIMPACTDAMAGEMANAGER_H
    +00031 
    +00032 #include "PxFiltering.h"
    +00033 #include "NvPreprocessor.h"
     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 
    +00035 // Forward declarations
    +00036 namespace physx
    +00037 {
    +00038 struct PxContactPair;
    +00039 struct PxContactPairHeader;
    +00040 }
    +00041 
    +00042 
    +00043 namespace Nv
    +00044 {
    +00045 namespace Blast
    +00046 {
    +00047 
    +00048 // Forward declarations
    +00049 class ExtPxActor;
    +00050 class ExtPxManager;
     00051 
    -00052     ExtImpactSettings() :
    -00053         isSelfCollissionEnabled(false),
    -00054         fragility(1.0f),
    -00055         damageFunction(nullptr)
    -00056     {}
    -00057 };
    +00052 
    +00056 typedef bool(*ExtImpactDamageFunction)(void* data, ExtPxActor* actor, physx::PxShape* shape, physx::PxVec3 worldPos, physx::PxVec3 worldForce);
    +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 
    +00062 struct ExtImpactSettings
    +00063 {
    +00064     bool                    isSelfCollissionEnabled;    
    +00065     bool                    shearDamage;                
    +00066     float                   impulseMinThreshold;        
    +00067     float                   impulseMaxThreshold;        
    +00068     float                   damageMax;                  
    +00069     float                   damageRadiusMax;            
    +00070     float                   damageAttenuation;          
    +00071     ExtImpactDamageFunction damageFunction;             
    +00072     void*                   damageFunctionData;         
    +00073 
    +00074 
    +00075     ExtImpactSettings() :
    +00076         isSelfCollissionEnabled(false),
    +00077         shearDamage(true),
    +00078         impulseMinThreshold(0.0f),
    +00079         impulseMaxThreshold(1000000.0f),
    +00080         damageMax(100.f),
    +00081         damageRadiusMax(5.0f),
    +00082         damageAttenuation(1.f),
    +00083         damageFunction(nullptr),
    +00084         damageFunctionData(nullptr)
    +00085     {}
    +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 
    +00088 
    +00096 class NV_DLL_EXPORT ExtImpactDamageManager
    +00097 {
    +00098 public:
    +00100 
    +00109     static ExtImpactDamageManager*  create(ExtPxManager* pxManager, ExtImpactSettings settings = ExtImpactSettings());
    +00110 
    +00114     virtual void                    release() = 0;
    +00115 
    +00116 
     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
    +00124     virtual void                    setSettings(const ExtImpactSettings& settings) = 0;
    +00125 
    +00139     virtual void                    onContact(const physx::PxContactPairHeader& pairHeader, const physx::PxContactPair* pairs, uint32_t nbPairs) = 0;
     00140 
     00141 
    -00142 #endif // ifndef NVBLASTEXTIMPACTDAMAGEMANAGER_H
    +00145     virtual void                    applyDamage() = 0;
    +00146 
    +00147 
    +00149 
    +00156     static physx::PxFilterFlags     FilterShader(
    +00157         physx::PxFilterObjectAttributes attributes0,
    +00158         physx::PxFilterData filterData0,
    +00159         physx::PxFilterObjectAttributes attributes1,
    +00160         physx::PxFilterData filterData1,
    +00161         physx::PxPairFlags& pairFlags,
    +00162         const void* constantBlock,
    +00163         uint32_t constantBlockSize);
    +00164 
    +00165 };
    +00166 
    +00167 } // namespace Blast
    +00168 } // namespace Nv
    +00169 
    +00170 
    +00171 #endif // ifndef NVBLASTEXTIMPACTDAMAGEMANAGER_H
     
    -

    sdk/extensions/serialization/source/NvBlastExtInputStream.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 #pragma once
    -00012 #include "kj/io.h"
    -00013 #include <istream>
    -00014 
    -00015 namespace Nv
    -00016 {
    -00017     namespace Blast
    -00018     {
    -00019         class ExtInputStream : public kj::InputStream
    -00020         {
    -00021             public:
    -00022                 ExtInputStream() = delete;
    -00023                 ExtInputStream(std::istream &inputStream);
    -00024 
    -00025                 // Returns a read of maxBytes. This is supposed to be happy doing partial reads, but currently isn't. 
    -00026                 virtual size_t tryRead(void* buffer, size_t minBytes, size_t maxBytes) override;
    +

    sdk/extensions/serialization/source/NvBlastExtInputStream.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
     00027 
    -00028             private:
    -00029                 std::istream &m_inputStream;
    -00030         };
    -00031     }
    -00032 }
    +00028 
    +00029 #pragma once
    +00030 #include "kj/io.h"
    +00031 #include <istream>
    +00032 
    +00033 
    +00034 namespace Nv
    +00035 {
    +00036 namespace Blast
    +00037 {
    +00038 
    +00039 class ExtInputStream : public kj::InputStream
    +00040 {
    +00041 public:
    +00042     ExtInputStream() = delete;
    +00043     ExtInputStream(std::istream &inputStream);
    +00044 
    +00045     // Returns a read of maxBytes. This is supposed to be happy doing partial reads, but currently isn't. 
    +00046     virtual size_t tryRead(void* buffer, size_t minBytes, size_t maxBytes) override;
    +00047 
    +00048 private:
    +00049     std::istream &m_inputStream;
    +00050 };
    +00051 
    +00052 } // namespace Blast
    +00053 } // namespace Nv
     
    -

    sdk/extensions/serialization/source/NvBlastExtKJPxInputStream.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 #pragma once
    -00012 #include "PxIO.h"
    -00013 #include "capnp/common.h"
    -00014 #include "kj/io.h"
    -00015 #include <memory>
    -00016 #include "generated/NvBlastExtSerialization.capn.h"
    -00017 
    -00018 namespace Nv
    -00019 {
    -00020     namespace Blast
    -00021     {
    -00022         /*
    -00023         A wrapper around a Capn Proto Data reader.
    -00024 
    -00025         Since it needs to behave like a stream, it's internally wrapped in a stream.
    -00026 
    -00027         */
    -00028         class ExtKJPxInputStream : public physx::PxInputStream
    -00029         {
    -00030         public:
    -00031             ExtKJPxInputStream(capnp::Data::Reader inReader);
    -00032             ~ExtKJPxInputStream() = default;
    -00033 
    -00034             virtual uint32_t read(void* dest, uint32_t count) override;
    +

    sdk/extensions/serialization/source/NvBlastExtKJPxInputStream.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #pragma once
    +00030 #include "PxIO.h"
    +00031 #include "capnp/common.h"
    +00032 #include "kj/io.h"
    +00033 #include <memory>
    +00034 #include "generated/NvBlastExtPxSerialization.capn.h"
     00035 
    -00036         private:
    -00037             capnp::Data::Reader dataReader;
    -00038             std::shared_ptr<kj::ArrayInputStream> inputStream;
    -00039         };
    -00040     }
    -00041 }
    +00036 
    +00037 namespace Nv
    +00038 {
    +00039 namespace Blast
    +00040 {
    +00041 
    +00042 /*
    +00043 A wrapper around a Capn Proto Data reader.
    +00044 
    +00045 Since it needs to behave like a stream, it's internally wrapped in a stream.
    +00046 
    +00047 */
    +00048 class ExtKJPxInputStream : public physx::PxInputStream
    +00049 {
    +00050 public:
    +00051     ExtKJPxInputStream(capnp::Data::Reader inReader);
    +00052     ~ExtKJPxInputStream() = default;
    +00053 
    +00054     virtual uint32_t read(void* dest, uint32_t count) override;
    +00055 
    +00056 private:
    +00057     capnp::Data::Reader dataReader;
    +00058     std::shared_ptr<kj::ArrayInputStream> inputStream;
    +00059 };
    +00060 
    +00061 }   // namespace Blast
    +00062 }   // namespace Nv
     
    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_ll_serialization_8h-source.html b/docs/source_docs/files/_nv_blast_ext_ll_serialization_8h-source.html new file mode 100644 index 0000000..0cc3e57 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_ll_serialization_8h-source.html @@ -0,0 +1,111 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/include/NvBlastExtLlSerialization.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_ll_serialization_8h.html b/docs/source_docs/files/_nv_blast_ext_ll_serialization_8h.html new file mode 100644 index 0000000..5e6080e --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_ll_serialization_8h.html @@ -0,0 +1,188 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/include/NvBlastExtLlSerialization.h File Reference + + + + + + + + +
    +

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

    #include "NvBlastGlobals.h"
    + +

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

    Classes

    struct  Nv::Blast::LlObjectTypeID

    Namespaces

    namespace  Nv
    namespace  Nv::Blast

    Functions

    NVBLAST_API size_t NvBlastExtLlSerializerLoadSet (Nv::Blast::ExtSerialization &serialization)
    NVBLAST_API uint64_t NvBlastExtSerializationSerializeAssetIntoBuffer (void *&buffer, Nv::Blast::ExtSerialization &serialization, const NvBlastAsset *asset)
    NVBLAST_API uint64_t NvBlastExtSerializationSerializeFamilyIntoBuffer (void *&buffer, Nv::Blast::ExtSerialization &serialization, const NvBlastFamily *family)
    +


    Function Documentation

    + +
    +
    + + + + + + + + + +
    NVBLAST_API size_t NvBlastExtLlSerializerLoadSet (Nv::Blast::ExtSerialization serialization  ) 
    +
    +
    + +

    +Load all low-level serializers into the ExtSerialization manager. *N.B.* This is done automatically when the ExtSerialization manager is created via NvBlastExtSerializationCreate(), so currently this public function is unnecessary. Note also that other modules' serializers (ExtTkSerialization and ExtPxSerialization) are _not_ loaded automatically, and need to be explicitly loaded by the user using their respective load functions.

    +It does no harm to call this function more than once; serializers already loaded will not be loaded again.

    +

    Parameters:
    + + +
    [in] serialization Serialization manager into which to load serializers.
    +
    +
    Returns:
    the number of serializers loaded.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    NVBLAST_API uint64_t NvBlastExtSerializationSerializeAssetIntoBuffer (void *&  buffer,
    Nv::Blast::ExtSerialization serialization,
    const NvBlastAsset asset 
    )
    +
    +
    + +

    +Utility wrapper function to serialize an NvBlastAsset. Allocates the buffer internally using the callack set in ExtSerialization::setBufferProvider.

    +Equivalent to:

    +serialization.serializeIntoBuffer(buffer, asset, Nv::Blast::LlObjectTypeID::Asset);

    +

    Parameters:
    + + + + +
    [out] buffer Pointer to the buffer created.
    [in] serialization Serialization manager.
    [in] asset Pointer to the NvBlastAsset to serialize.
    +
    +
    Returns:
    the number of bytes serialized into the buffer (zero if unsuccessful).
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    NVBLAST_API uint64_t NvBlastExtSerializationSerializeFamilyIntoBuffer (void *&  buffer,
    Nv::Blast::ExtSerialization serialization,
    const NvBlastFamily family 
    )
    +
    +
    + +

    +Utility wrapper function to serialize an NvBlastFamily. Allocates the buffer internally using the callack set in ExtSerialization::setBufferProvider.

    +Equivalent to:

    +serialization.serializeIntoBuffer(buffer, family, Nv::Blast::LlObjectTypeID::Family);

    +

    Parameters:
    + + + + +
    [out] buffer Pointer to the buffer created.
    [in] serialization Serialization manager.
    [in] family Pointer to the NvBlastFamily to serialize.
    +
    +
    Returns:
    the number of bytes serialized into the buffer (zero if unsuccessful).
    + +
    +

    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_ll_serializer_c_a_p_n_8h-source.html b/docs/source_docs/files/_nv_blast_ext_ll_serializer_c_a_p_n_8h-source.html new file mode 100644 index 0000000..cda89ba --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_ll_serializer_c_a_p_n_8h-source.html @@ -0,0 +1,111 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/NvBlastExtLlSerializerCAPN.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_ll_serializer_c_a_p_n_8h.html b/docs/source_docs/files/_nv_blast_ext_ll_serializer_c_a_p_n_8h.html new file mode 100644 index 0000000..a3dbbc3 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_ll_serializer_c_a_p_n_8h.html @@ -0,0 +1,59 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/NvBlastExtLlSerializerCAPN.h File Reference + + + + + + + + +
    +

    sdk/extensions/serialization/source/NvBlastExtLlSerializerCAPN.h File Reference

    #include "NvBlastExtSerializationCAPN.h"
    +#include "NvBlastAsset.h"
    +#include "AssetDTO.h"
    + +

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

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_output_stream_8h-source.html b/docs/source_docs/files/_nv_blast_ext_output_stream_8h-source.html index 7d17f58..0b849b3 100644 --- a/docs/source_docs/files/_nv_blast_ext_output_stream_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_output_stream_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/serialization/source/NvBlastExtOutputStream.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/NvBlastExtOutputStream.h Source File @@ -35,37 +35,58 @@
  • File Members
  • -

    sdk/extensions/serialization/source/NvBlastExtOutputStream.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 #pragma once
    -00012 #include "kj/io.h"
    -00013 #include <ostream>
    -00014 
    -00015 namespace Nv
    -00016 {
    -00017     namespace Blast
    -00018     {
    -00019         class ExtOutputStream : public kj::OutputStream
    -00020         {
    -00021 
    -00022         public:
    -00023             ExtOutputStream() = delete;
    -00024             ExtOutputStream(std::ostream &outputStream);
    -00025 
    -00026             virtual void write(const void* buffer, size_t size) override;
    -00027         private:
    -00028             std::ostream &m_outputStream;
    -00029         };
    -00030     }
    -00031 }
    +

    sdk/extensions/serialization/source/NvBlastExtOutputStream.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #pragma once
    +00030 #include "kj/io.h"
    +00031 #include <ostream>
    +00032 
    +00033 
    +00034 namespace Nv
    +00035 {
    +00036 namespace Blast
    +00037 {
    +00038 
    +00039 class ExtOutputStream : public kj::OutputStream
    +00040 {
    +00041 public:
    +00042     ExtOutputStream() = delete;
    +00043     ExtOutputStream(std::ostream &outputStream);
    +00044 
    +00045     virtual void write(const void* buffer, size_t size) override;
    +00046 
    +00047 private:
    +00048     std::ostream &m_outputStream;
    +00049 };
    +00050 
    +00051 } // namespace Blast
    +00052 } // namespace Nv
     
    -

    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"
    +

    sdk/extensions/physx/include/NvBlastExtPx.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
     00027 
     00028 
    -00029 #endif // ifndef NVBLASTEXTPX_H
    +00029 #ifndef NVBLASTEXTPX_H
    +00030 #define NVBLASTEXTPX_H
    +00031 
    +00032 
    +00040 #include "NvBlastExtPxActor.h"
    +00041 #include "NvBlastExtPxAsset.h"
    +00042 #include "NvBlastExtPxFamily.h"
    +00043 #include "NvBlastExtPxListener.h"
    +00044 #include "NvBlastExtPxManager.h"
    +00045 
    +00046 
    +00047 #endif // ifndef NVBLASTEXTPX_H
     
    -

    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 {
    +

    sdk/extensions/physx/include/NvBlastExtPxActor.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
     00028 
    -00029 // Forward declarations
    -00030 class ExtPxFamily;
    -00031 class TkActor;
    -00032 
    +00029 #ifndef NVBLASTEXTPXACTOR_H
    +00030 #define NVBLASTEXTPXACTOR_H
    +00031 
    +00032 #include "NvBlastTypes.h"
     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
    +00034 
    +00035 // Forward declarations
    +00036 namespace physx
    +00037 {
    +00038     class PxRigidDynamic;
    +00039 }
    +00040 
    +00041 
    +00042 namespace Nv
    +00043 {
    +00044 namespace Blast
    +00045 {
    +00046 
    +00047 // Forward declarations
    +00048 class ExtPxFamily;
    +00049 class TkActor;
    +00050 
    +00051 
    +00057 class ExtPxActor
    +00058 {
    +00059 public:
    +00065     virtual uint32_t                getChunkCount() const = 0;
    +00066 
    +00072     virtual const uint32_t*         getChunkIndices() const = 0;
    +00073 
    +00079     virtual physx::PxRigidDynamic&  getPhysXActor() const = 0;
    +00080 
    +00086     virtual TkActor&                getTkActor() const = 0;
    +00087 
    +00093     virtual ExtPxFamily&            getFamily() const = 0;
    +00094 };
    +00095 
    +00096 
    +00097 } // namespace Blast
    +00098 } // namespace Nv
    +00099 
    +00100 
    +00101 #endif // ifndef NVBLASTEXTPXACTOR_H
     
    -

    sdk/extensions/physx/source/physics/NvBlastExtPxActorImpl.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 NVBLASTEXTPXACTORIMPL_H
    -00012 #define NVBLASTEXTPXACTORIMPL_H
    -00013 
    -00014 #include "NvBlastExtPxActor.h"
    -00015 #include "NvBlastExtArray.h"
    -00016 #include "PxTransform.h"
    -00017 
    -00018 
    -00019 using namespace physx;
    -00020 
    -00021 namespace Nv
    -00022 {
    -00023 namespace Blast
    -00024 {
    -00025 
    -00026 
    -00027 // Forward declarations
    -00028 class ExtPxFamilyImpl;
    -00029 
    -00030 struct PxActorCreateInfo
    -00031 {
    -00032     PxTransform m_transform;
    -00033     PxVec3      m_scale;
    -00034     PxVec3      m_linearVelocity;
    -00035     PxVec3      m_angularVelocity;
    -00036 };
    -00037 
    +

    sdk/extensions/physx/source/physics/NvBlastExtPxActorImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTPXACTORIMPL_H
    +00030 #define NVBLASTEXTPXACTORIMPL_H
    +00031 
    +00032 #include "NvBlastExtPxActor.h"
    +00033 #include "NvBlastArray.h"
    +00034 #include "PxTransform.h"
    +00035 
    +00036 
    +00037 using namespace physx;
     00038 
    -00039 class ExtPxActorImpl final : public ExtPxActor
    +00039 namespace Nv
     00040 {
    -00041 public:
    +00041 namespace Blast
    +00042 {
     00043 
    -00044     ExtPxActorImpl(ExtPxFamilyImpl* family, TkActor* tkActor, const PxActorCreateInfo& pxActorInfo);
    -00045 
    -00046     ~ExtPxActorImpl()
    -00047     {
    -00048         release();
    -00049     }
    -00050 
    -00051     void release();
    -00052 
    -00053 
    +00044 
    +00045 // Forward declarations
    +00046 class ExtPxFamilyImpl;
    +00047 
    +00048 struct PxActorCreateInfo
    +00049 {
    +00050     PxTransform m_transform;
    +00051     PxVec3      m_scale;
    +00052     PxVec3      m_linearVelocity;
    +00053     PxVec3      m_angularVelocity;
    +00054 };
     00055 
    -00056     virtual uint32_t                    getChunkCount() const override
    -00057     {
    -00058         return static_cast<uint32_t>(m_chunkIndices.size());
    -00059     }
    -00060 
    -00061     virtual const uint32_t*             getChunkIndices() const override
    -00062     {
    -00063         return m_chunkIndices.begin();
    -00064     }
    -00065 
    -00066     virtual PxRigidDynamic&             getPhysXActor() const override
    -00067     {
    -00068         return *m_rigidDynamic;
    -00069     }
    +00056 
    +00057 class ExtPxActorImpl final : public ExtPxActor
    +00058 {
    +00059 public:
    +00061 
    +00062     ExtPxActorImpl(ExtPxFamilyImpl* family, TkActor* tkActor, const PxActorCreateInfo& pxActorInfo);
    +00063 
    +00064     ~ExtPxActorImpl()
    +00065     {
    +00066         release();
    +00067     }
    +00068 
    +00069     void release();
     00070 
    -00071     virtual TkActor&                    getTkActor() const override
    -00072     {
    -00073         return *m_tkActor;
    -00074     }
    -00075 
    -00076     virtual ExtPxFamily&                getFamily() const override;
    -00077 
    +00071 
    +00073 
    +00074     virtual uint32_t                    getChunkCount() const override
    +00075     {
    +00076         return static_cast<uint32_t>(m_chunkIndices.size());
    +00077     }
     00078 
    -00079 private:
    -00081 
    -00082     ExtPxFamilyImpl*                    m_family;
    -00083     TkActor*                            m_tkActor;
    -00084     PxRigidDynamic*                     m_rigidDynamic;
    -00085     ExtInlineArray<uint32_t, 4>::type   m_chunkIndices;
    -00086 };
    -00087 
    +00079     virtual const uint32_t*             getChunkIndices() const override
    +00080     {
    +00081         return m_chunkIndices.begin();
    +00082     }
    +00083 
    +00084     virtual PxRigidDynamic&             getPhysXActor() const override
    +00085     {
    +00086         return *m_rigidDynamic;
    +00087     }
     00088 
    -00089 
    -00090 } // namespace Blast
    -00091 } // namespace Nv
    -00092 
    +00089     virtual TkActor&                    getTkActor() const override
    +00090     {
    +00091         return *m_tkActor;
    +00092     }
     00093 
    -00094 #endif // ifndef NVBLASTEXTPXACTORIMPL_H
    +00094     virtual ExtPxFamily&                getFamily() const override;
    +00095 
    +00096 
    +00097 private:
    +00099 
    +00100     ExtPxFamilyImpl*                    m_family;
    +00101     TkActor*                            m_tkActor;
    +00102     PxRigidDynamic*                     m_rigidDynamic;
    +00103     InlineArray<uint32_t, 4>::type      m_chunkIndices;
    +00104 };
    +00105 
    +00106 
    +00107 
    +00108 } // namespace Blast
    +00109 } // namespace Nv
    +00110 
    +00111 
    +00112 #endif // ifndef NVBLASTEXTPXACTORIMPL_H
     

    sdk/extensions/physx/source/physics/NvBlastExtPxActorImpl.h File Reference

    #include "NvBlastExtPxActor.h"
    -#include "NvBlastExtArray.h"
    +#include "NvBlastArray.h"
    #include "PxTransform.h"

    diff --git a/docs/source_docs/files/_nv_blast_ext_px_asset_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_asset_8h-source.html index 682cb3a..120400e 100644 --- a/docs/source_docs/files/_nv_blast_ext_px_asset_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_px_asset_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/physx/include/NvBlastExtPxAsset.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/include/NvBlastExtPxAsset.h Source File @@ -35,119 +35,153 @@

  • File Members
  • -

    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 {
    +

    sdk/extensions/physx/include/NvBlastExtPxAsset.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTPXASSET_H
    +00030 #define NVBLASTEXTPXASSET_H
    +00031 
    +00032 #include "NvBlastTkFramework.h"
    +00033 #include "PxConvexMeshGeometry.h"
    +00034 #include "PxTransform.h"
    +00035 #include "NvBlastPreprocessor.h"
     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;
    +00038 // Forward declarations
    +00039 namespace physx
    +00040 {
    +00041 class PxCooking;
    +00042 
    +00043 namespace general_PxIOStream2
    +00044 {
    +00045 class PxFileBuf;
    +00046 }
    +00047 }
    +00048 
    +00049 
    +00050 namespace Nv
    +00051 {
    +00052 namespace Blast
    +00053 {
    +00054 
    +00055 
    +00062 struct ExtPxAssetDesc : public TkAssetDesc
    +00063 {
    +00069     struct SubchunkDesc
    +00070     {
    +00071         physx::PxTransform          transform;          
    +00072         physx::PxConvexMeshGeometry geometry;           
    +00073     };
    +00074 
    +00080     struct ChunkDesc
    +00081     {
    +00082         SubchunkDesc*   subchunks;          
    +00083         uint32_t        subchunkCount;      
    +00084         bool            isStatic;           
    +00085     };
    +00086 
    +00087     ChunkDesc*  pxChunks;       
    +00088 };
    +00089 
    +00090 
    +00096 struct ExtPxSubchunk
    +00097 {
    +00098     physx::PxTransform          transform;          
    +00099     physx::PxConvexMeshGeometry geometry;           
    +00100 };
    +00101 
    +00102 
    +00108 struct ExtPxChunk
    +00109 {
    +00110     uint32_t    firstSubchunkIndex; 
    +00111     uint32_t    subchunkCount;      
    +00112     bool        isStatic;           
    +00113 };
    +00114 
    +00115 
    +00121 class NV_DLL_EXPORT ExtPxAsset
    +00122 {
    +00123 public:
    +00124 
    +00133     static ExtPxAsset*              create(const ExtPxAssetDesc& desc, TkFramework& framework);
    +00134 
    +00143     static ExtPxAsset*              create(const TkAssetDesc& desc, ExtPxChunk* pxChunks, ExtPxSubchunk* pxSubchunks, TkFramework& framework);
    +00144 
    +00145 
    +00146     /*
    +00147         Factory method for deserialization
    +00148 
    +00149         Doesn't specify chunks or subchunks as they'll be fed in during deserialization to avoid copying stuff around.
    +00150     
    +00151     */
    +00152     static ExtPxAsset*              create(TkAsset* asset);
    +00153 
    +00154     /*
    +00155     Create a new ExtPxAsset.
    +00156 
    +00157     \param[in]  asset           TkAsset from which ExtPxAsset will be created
    +00158     \param[in]  chunks          Array of physics chunks descriptors
    +00159     \param[in]  chunkCount      Size of chunks descriptors array
    +00160 
    +00161 
    +00162     \return the new ExtPxAsset if successful, NULL otherwise.
    +00163         
    +00164     */
    +00165     static ExtPxAsset*              create(TkAsset* asset, ExtPxAssetDesc::ChunkDesc* chunks, uint32_t chunkCount);
     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
    +00170     virtual void                    release() = 0;
    +00171 
    +00177     virtual const TkAsset&          getTkAsset() const = 0;
    +00178 
    +00184     virtual uint32_t                getChunkCount() const = 0;
    +00185 
    +00191     virtual const ExtPxChunk*       getChunks() const = 0;
    +00192     
    +00199     virtual uint32_t                getSubchunkCount() const = 0;
    +00200     
    +00206     virtual const ExtPxSubchunk*    getSubchunks() const = 0;
    +00207 
    +00221     virtual NvBlastActorDesc&       getDefaultActorDesc() = 0;
    +00222 
    +00223     virtual const NvBlastActorDesc& getDefaultActorDesc() const = 0;
    +00224 
    +00228     virtual void                    setUniformHealth(bool enabled) = 0;
    +00229 
    +00233     void*   userData;
    +00234 };
    +00235 
    +00236 
    +00237 
    +00238 } // namespace Blast
    +00239 } // namespace Nv
    +00240 
    +00241 
    +00242 #endif // ifndef NVBLASTEXTPXASSET_H
     
    -

    sdk/extensions/physx/source/physics/NvBlastExtPxAssetImpl.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 NVBLASTEXTPXASSETIMPL_H
    -00012 #define NVBLASTEXTPXASSETIMPL_H
    -00013 
    -00014 #include "NvBlastExtPxAsset.h"
    -00015 #include "NvBlastExtArray.h"
    -00016 #include "NvBlastExtDefs.h"
    -00017 
    -00018 
    -00019 namespace Nv
    -00020 {
    -00021 namespace Blast
    -00022 {
    -00023 
    -00024 
    -00025 using namespace physx;
    -00026 using namespace general_PxIOStream2;
    +

    sdk/extensions/physx/source/physics/NvBlastExtPxAssetImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
     00027 
     00028 
    -00029 class ExtPxAssetImpl final : public ExtPxAsset
    -00030 {
    -00031     NV_NOCOPY(ExtPxAssetImpl)
    -00032 
    -00033 public:
    -00034     friend class ExtPxAsset;
    +00029 #ifndef NVBLASTEXTPXASSETIMPL_H
    +00030 #define NVBLASTEXTPXASSETIMPL_H
    +00031 
    +00032 #include "NvBlastExtPxAsset.h"
    +00033 #include "NvBlastArray.h"
    +00034 
     00035 
    -00039     enum Version
    -00040     {
    -00042         Initial,
    -00043 
    -00044         //  New formats must come before Count.  They should be given descriptive names with more information in comments.
    +00036 namespace Nv
    +00037 {
    +00038 namespace Blast
    +00039 {
    +00040 
    +00041 
    +00042 using namespace physx;
    +00043 using namespace general_PxIOStream2;
    +00044 
     00045 
    -00047         Count,
    -00048 
    -00050         Current = Count - 1
    -00051     };
    -00052 
    -00054 
    -00055     ExtPxAssetImpl(const ExtPxAssetDesc& desc, TkFramework& framework);
    -00056     ExtPxAssetImpl(TkAsset* tkAsset);
    -00057 
    -00058     ~ExtPxAssetImpl();
    -00059 
    -00060 
    -00062 
    -00063     virtual void                    release() override;
    -00064 
    -00065     virtual const TkAsset&          getTkAsset() const override
    -00066     {
    -00067         return *m_tkAsset;
    -00068     }
    -00069 
    -00070     virtual uint32_t                getChunkCount() const override
    -00071     {
    -00072         return m_chunks.size();
    -00073     }
    -00074 
    -00075     virtual const ExtPxChunk*       getChunks() const override
    -00076     {
    -00077         return m_chunks.begin();
    -00078     }
    -00079 
    -00080     virtual uint32_t                getSubchunkCount() const override
    -00081     {
    -00082         return m_subchunks.size();
    -00083     }
    -00084 
    -00085     virtual const ExtPxSubchunk*    getSubchunks() const override
    -00086     {
    -00087         return m_subchunks.begin();
    -00088     }
    -00089 
    -00090     virtual bool                    serialize(PxFileBuf& stream, PxCooking& cooking) const override;
    -00091 
    -00092 
    -00093     /*
    -00094         Get the underlying array for the chunks. Used for serialization.
    -00095     */
    -00096     ExtArray<ExtPxChunk>::type&     getChunksArray() { return m_chunks; }
    -00097 
    -00098     /*
    -00099     Get the underlying array for the subchunks. Used for serialization.
    -00100     */
    -00101     ExtArray<ExtPxSubchunk>::type&  getSubchunksArray() { return m_subchunks; }
    -00102 
    -00103 private:
    +00046 // Macro to load a uint32_t (or larger) with four characters (move it in some shared header if it's used anywhere else in Ext)
    +00047 #define NVBLASTEXT_FOURCC(_a, _b, _c, _d)   ( (uint32_t)(_a) | (uint32_t)(_b)<<8 | (uint32_t)(_c)<<16 | (uint32_t)(_d)<<24 )
    +00048 
    +00049 
    +00050 class ExtPxAssetImpl final : public ExtPxAsset
    +00051 {
    +00052     NV_NOCOPY(ExtPxAssetImpl)
    +00053 
    +00054 public:
    +00055     friend class ExtPxAsset;
    +00056 
    +00058 
    +00059     ExtPxAssetImpl(const ExtPxAssetDesc& desc, TkFramework& framework);
    +00060     ExtPxAssetImpl(const TkAssetDesc& desc, ExtPxChunk* pxChunks, ExtPxSubchunk* pxSubchunks, TkFramework& framework);
    +00061     ExtPxAssetImpl(TkAsset* asset, ExtPxAssetDesc::ChunkDesc* chunks, uint32_t chunkCount);
    +00062     ExtPxAssetImpl(TkAsset* asset);
    +00063 
    +00064     ~ExtPxAssetImpl();
    +00065 
    +00066 
    +00068 
    +00069     virtual void                    release() override;
    +00070 
    +00071     virtual const TkAsset&          getTkAsset() const override
    +00072     {
    +00073         return *m_tkAsset;
    +00074     }
    +00075 
    +00076     virtual uint32_t                getChunkCount() const override
    +00077     {
    +00078         return m_chunks.size();
    +00079     }
    +00080 
    +00081     virtual const ExtPxChunk*       getChunks() const override
    +00082     {
    +00083         return m_chunks.begin();
    +00084     }
    +00085 
    +00086     virtual uint32_t                getSubchunkCount() const override
    +00087     {
    +00088         return m_subchunks.size();
    +00089     }
    +00090 
    +00091     virtual const ExtPxSubchunk*    getSubchunks() const override
    +00092     {
    +00093         return m_subchunks.begin();
    +00094     }
    +00095 
    +00096     virtual NvBlastActorDesc&       getDefaultActorDesc() override
    +00097     {
    +00098         return m_defaultActorDesc;
    +00099     }
    +00100 
    +00101     virtual const NvBlastActorDesc& getDefaultActorDesc() const override
    +00102     {
    +00103         return m_defaultActorDesc;
    +00104     }
     00105 
    -00106     struct DataHeader
    -00107     {
    -00108         uint32_t dataType;
    -00109         uint32_t version;
    -00110     };
    -00111 
    -00112     enum { ClassID = NVBLASTEXT_FOURCC('B', 'P', 'X', 'A') }; // Blast PhysX Asset
    -00113 
    -00114 
    -00116 
    -00117     TkAsset*                        m_tkAsset;
    -00118     ExtArray<ExtPxChunk>::type      m_chunks;
    -00119     ExtArray<ExtPxSubchunk>::type   m_subchunks;
    -00120 };
    -00121 
    -00122 } // namespace Blast
    -00123 } // namespace Nv
    -00124 
    +00106     virtual void                    setUniformHealth(bool enabled) override;
    +00107 
    +00108 
    +00110 
    +00111     /*
    +00112         Get the underlying array for the chunks. Used for serialization.
    +00113     */
    +00114     Array<ExtPxChunk>::type&        getChunksArray() { return m_chunks; }
    +00115 
    +00116     /*
    +00117     Get the underlying array for the subchunks. Used for serialization.
    +00118     */
    +00119     Array<ExtPxSubchunk>::type&     getSubchunksArray() { return m_subchunks; }
    +00120 
    +00121     /*
    +00122     Get the underlying array for the bond healths. Used for serialization.
    +00123     */
    +00124     Array<float>::type&             getBondHealthsArray() { return m_bondHealths; }
     00125 
    -00126 #endif // ifndef NVBLASTEXTPXASSETIMPL_H
    +00126     /*
    +00127     Get the underlying array for the support chunk healths. Used for serialization.
    +00128     */
    +00129     Array<float>::type&             getSupportChunkHealthsArray() { return m_supportChunkHealths; }
    +00130 
    +00131 private:
    +00132 
    +00134     void fillPhysicsChunks(ExtPxChunk* pxChunks, ExtPxSubchunk* pxSuchunk, uint32_t chunkCount);
    +00135     void fillPhysicsChunks(ExtPxAssetDesc::ChunkDesc* desc, uint32_t count);
    +00136 
    +00137 
    +00139 
    +00140     TkAsset*                    m_tkAsset;
    +00141     Array<ExtPxChunk>::type     m_chunks;
    +00142     Array<ExtPxSubchunk>::type  m_subchunks;
    +00143     Array<float>::type          m_bondHealths;
    +00144     Array<float>::type          m_supportChunkHealths;
    +00145     NvBlastActorDesc            m_defaultActorDesc;
    +00146 };
    +00147 
    +00148 } // namespace Blast
    +00149 } // namespace Nv
    +00150 
    +00151 
    +00152 #endif // ifndef NVBLASTEXTPXASSETIMPL_H
     

    sdk/extensions/physx/source/physics/NvBlastExtPxAssetImpl.h File Reference

    #include "NvBlastExtPxAsset.h"
    -#include "NvBlastExtArray.h"
    -#include "NvBlastExtDefs.h"
    +#include "NvBlastArray.h"

    Go to the source code of this file. @@ -47,14 +46,45 @@ - - + + +

    Classes

    class  Nv::Blast::final
    struct  Nv::Blast::final::final::DataHeader

    Namespaces

    namespace  Nv
    namespace  Nv::Blast

    Defines

    #define NVBLASTEXT_FOURCC(_a, _b, _c, _d)   ( (uint32_t)(_a) | (uint32_t)(_b)<<8 | (uint32_t)(_c)<<16 | (uint32_t)(_d)<<24 )
    +


    Define Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define NVBLASTEXT_FOURCC (_a,
    _b,
    _c,
    _d   )    ( (uint32_t)(_a) | (uint32_t)(_b)<<8 | (uint32_t)(_c)<<16 | (uint32_t)(_d)<<24 )
    +
    +
    + +

    + +

    +

    -

    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 
    +

    sdk/extensions/physx/include/NvBlastExtPxFamily.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTPXFAMILY_H
    +00030 #define NVBLASTEXTPXFAMILY_H
    +00031 
    +00032 #include "PxFiltering.h"
    +00033 
    +00034 
    +00035 // Forward declarations
    +00036 namespace physx
    +00037 {
    +00038 class PxRigidDynamic;
    +00039 class PxMaterial;
    +00040 class PxScene;
    +00041 class PxTransform;
    +00042 }
    +00043 
    +00044 
    +00045 namespace Nv
    +00046 {
    +00047 namespace Blast
    +00048 {
    +00049 
    +00050 // Forward declarations
    +00051 class ExtPxActor;
    +00052 class ExtPxAsset;
    +00053 class ExtPxListener;
    +00054 class TkFamily;
     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;
    +00056 
    +00064 struct ExtPxShapeDescTemplate
    +00065 {
    +00066     uint8_t             flags;                  
    +00067     physx::PxFilterData simulationFilterData;   
    +00068     physx::PxFilterData queryFilterData;        
    +00069     float               contactOffset;          
    +00070     float               restOffset;             
    +00071 };
    +00072 
    +00073 
    +00079 struct ExtPxActorDescTemplate
    +00080 {
    +00081     uint8_t             flags;                      
    +00082 };
    +00083 
    +00084 
    +00090 struct ExtPxSpawnSettings
    +00091 {
    +00092     physx::PxScene*     scene;          
    +00093     physx::PxMaterial*  material;       
    +00094     float               density;        
    +00095 };
    +00096 
    +00097 
    +00103 class ExtPxFamily
    +00104 {
    +00105 public:
    +00115     virtual bool                            spawn(const physx::PxTransform& pose, const physx::PxVec3& scale, const ExtPxSpawnSettings& settings) = 0;
    +00116 
    +00117     
    +00126     virtual bool                            despawn() = 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 
    +00128 
    +00134     virtual uint32_t                        getActorCount() const = 0;
    +00135 
    +00144     virtual uint32_t                        getActors(ExtPxActor** buffer, uint32_t bufferSize) const = 0;
    +00145 
    +00151     virtual TkFamily&                       getTkFamily() const = 0;
    +00152 
    +00159     virtual const physx::PxShape* const*    getSubchunkShapes() const = 0;
    +00160 
    +00166     virtual const ExtPxAsset&               getPxAsset() const = 0;
    +00167 
    +00173     virtual void                            setMaterial(physx::PxMaterial& material) = 0;
    +00174 
    +00175     /*
    +00176     Set ExtPxPxShapeDesc to be used on all newly created PxShapes.
    +00177 
    +00178     NOTE: Using it will override marking LEAF_CHUNK in simulationFilterData.word3 now.
    +00179 
    +00180     \param[in] pxShapeDesc      The PxShape desc to be the new default. Can be nullptr.
    +00181     */
    +00182     virtual void                            setPxShapeDescTemplate(const ExtPxShapeDescTemplate* pxShapeDesc) = 0;
    +00183 
    +00189     virtual const ExtPxShapeDescTemplate*   getPxShapeDescTemplate() const = 0;
    +00190 
    +00191     /*
    +00192     Set ExtPxPxActorDesc to be used on all newly created PxActors.
    +00193     
    +00194     \param[in] pxActorDesc      The PxActor desc to be the new default. Can be nullptr.
    +00195     */
    +00196     virtual void                            setPxActorDesc(const ExtPxActorDescTemplate* pxActorDesc) = 0;
    +00197 
    +00203     virtual const ExtPxActorDescTemplate*   getPxActorDesc() const = 0;
    +00204 
    +00210     virtual void                            subscribe(ExtPxListener& listener) = 0;
    +00211 
    +00217     virtual void                            unsubscribe(ExtPxListener& listener) = 0;
     00218 
    -00219 } // namespace Blast
    -00220 } // namespace Nv
    -00221 
    -00222 
    -00223 #endif // ifndef NVBLASTEXTPXFAMILY_H
    +00222     virtual void                            postSplitUpdate() = 0;
    +00223 
    +00227     virtual void                            release() = 0;
    +00228 
    +00232     void* userData;
    +00233 };
    +00234 
    +00235 
    +00236 
    +00237 } // namespace Blast
    +00238 } // namespace Nv
    +00239 
    +00240 
    +00241 #endif // ifndef NVBLASTEXTPXFAMILY_H
     
    -

    sdk/extensions/physx/source/physics/NvBlastExtPxFamilyImpl.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 NVBLASTEXTPXFAMILYIMPL_H
    -00012 #define NVBLASTEXTPXFAMILYIMPL_H
    -00013 
    -00014 #include "NvBlastExtPxFamily.h"
    -00015 #include "NvBlastExtArray.h"
    -00016 #include "NvBlastExtHashSet.h"
    -00017 #include "PxTransform.h"
    -00018 #include "NvBlastTkEvent.h"
    -00019 
    -00020 
    -00021 using namespace physx;
    -00022 
    -00023 
    -00024 namespace Nv
    -00025 {
    -00026 namespace Blast
    -00027 {
    +

    sdk/extensions/physx/source/physics/NvBlastExtPxFamilyImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
     00028 
    -00029 // Forward declarations
    -00030 class ExtPxManagerImpl;
    -00031 class ExtPxActorImpl;
    -00032 struct PxActorCreateInfo;
    -00033 
    -00034 
    -00035 class ExtPxFamilyImpl final : public ExtPxFamily, TkEventListener
    -00036 {
    -00037     NV_NOCOPY(ExtPxFamilyImpl)
    +00029 #ifndef NVBLASTEXTPXFAMILYIMPL_H
    +00030 #define NVBLASTEXTPXFAMILYIMPL_H
    +00031 
    +00032 #include "NvBlastExtPxFamily.h"
    +00033 #include "NvBlastArray.h"
    +00034 #include "NvBlastHashSet.h"
    +00035 #include "PxTransform.h"
    +00036 #include "NvBlastTkEvent.h"
    +00037 
     00038 
    -00039 public:
    -00040     friend ExtPxActorImpl;
    -00041     friend ExtPxManagerImpl;
    -00042 
    -00044 
    -00045     ExtPxFamilyImpl(ExtPxManagerImpl& manager, TkFamily& tkFamily, const ExtPxAsset& pxAsset);
    -00046     ~ExtPxFamilyImpl();
    -00047 
    -00048     virtual void release() override;
    -00049 
    -00050 
    +00039 using namespace physx;
    +00040 
    +00041 
    +00042 namespace Nv
    +00043 {
    +00044 namespace Blast
    +00045 {
    +00046 
    +00047 // Forward declarations
    +00048 class ExtPxManagerImpl;
    +00049 class ExtPxActorImpl;
    +00050 struct PxActorCreateInfo;
    +00051 
     00052 
    -00053 //  virtual bool                            spawn(const PxTransform& pose, const ExtPxSpawnSettings& settings) override;
    -00054     virtual bool                            spawn(const physx::PxTransform& pose, const physx::PxVec3& scale, const ExtPxSpawnSettings& settings) override;
    -00055     virtual bool                            despawn() override;
    +00053 class ExtPxFamilyImpl final : public ExtPxFamily, TkEventListener
    +00054 {
    +00055     NV_NOCOPY(ExtPxFamilyImpl)
     00056 
    -00057 
    -00058     virtual uint32_t                        getActorCount() const override
    -00059     {
    -00060         return m_actors.size();
    -00061     }
    +00057 public:
    +00058     friend ExtPxActorImpl;
    +00059     friend ExtPxManagerImpl;
    +00060 
     00062 
    -00063     virtual uint32_t                        getActors(ExtPxActor** buffer, uint32_t bufferSize) const override
    -00064     {
    -00065         uint32_t index = 0;
    -00066         for (auto it = const_cast<ExtPxFamilyImpl*>(this)->m_actors.getIterator(); !it.done() && index < bufferSize; ++it)
    -00067         {
    -00068             buffer[index++] = *it;
    -00069         }
    -00070         return index;
    -00071     }
    -00072 
    -00073     virtual TkFamily&                       getTkFamily() const override
    -00074     {
    -00075         return m_tkFamily;
    -00076     }
    -00077 
    -00078     virtual const physx::PxShape* const*    getSubchunkShapes() const override
    -00079     {
    -00080         return m_subchunkShapes.begin();
    -00081     }
    -00082 
    -00083     virtual const ExtPxAsset&               getPxAsset() const override
    -00084     {
    -00085         return m_pxAsset;
    -00086     }
    -00087 
    -00088     virtual void                            setMaterial(PxMaterial& material) override
    -00089     {
    -00090         m_spawnSettings.material = &material;
    -00091     }
    -00092 
    -00093     virtual void                            setPxShapeDescTemplate(const ExtPxShapeDescTemplate* pxShapeDesc) override
    -00094     {
    -00095         m_pxShapeDescTemplate = pxShapeDesc;
    -00096     }
    -00097 
    -00098     virtual const ExtPxShapeDescTemplate*   getPxShapeDescTemplate() const override
    -00099     {
    -00100         return m_pxShapeDescTemplate;
    -00101     }
    -00102 
    -00103     virtual void                            setPxActorDesc(const ExtPxActorDescTemplate* pxActorDesc) override
    -00104     {
    -00105         m_pxActorDescTemplate = pxActorDesc;
    -00106     }
    -00107 
    -00108     virtual const ExtPxActorDescTemplate*   getPxActorDesc() const override
    -00109     {
    -00110         return m_pxActorDescTemplate;
    -00111     }
    -00112 
    -00113     virtual void                            subscribe(ExtPxListener& listener) override
    -00114     {
    -00115         m_listeners.pushBack(&listener);
    -00116     }
    -00117 
    -00118     virtual void                            unsubscribe(ExtPxListener& listener) override
    -00119     {
    -00120         m_listeners.findAndReplaceWithLast(&listener);
    -00121     }
    -00122 
    -00123     virtual void                            postSplitUpdate() override;
    -00124 
    -00126 
    -00127     virtual void                            receive(const TkEvent* events, uint32_t eventCount) override;
    -00128 
    -00129 
    -00131 
    -00132     void                                    dispatchActorCreated(ExtPxActor& actor);
    -00133     void                                    dispatchActorDestroyed(ExtPxActor& actor);
    -00134 
    +00063     ExtPxFamilyImpl(ExtPxManagerImpl& manager, TkFamily& tkFamily, const ExtPxAsset& pxAsset);
    +00064     ~ExtPxFamilyImpl();
    +00065 
    +00066     virtual void release() override;
    +00067 
    +00068 
    +00070 
    +00071 //  virtual bool                            spawn(const PxTransform& pose, const ExtPxSpawnSettings& settings) override;
    +00072     virtual bool                            spawn(const physx::PxTransform& pose, const physx::PxVec3& scale, const ExtPxSpawnSettings& settings) override;
    +00073     virtual bool                            despawn() override;
    +00074 
    +00075 
    +00076     virtual uint32_t                        getActorCount() const override
    +00077     {
    +00078         return m_actors.size();
    +00079     }
    +00080 
    +00081     virtual uint32_t                        getActors(ExtPxActor** buffer, uint32_t bufferSize) const override
    +00082     {
    +00083         uint32_t index = 0;
    +00084         for (auto it = const_cast<ExtPxFamilyImpl*>(this)->m_actors.getIterator(); !it.done() && index < bufferSize; ++it)
    +00085         {
    +00086             buffer[index++] = *it;
    +00087         }
    +00088         return index;
    +00089     }
    +00090 
    +00091     virtual TkFamily&                       getTkFamily() const override
    +00092     {
    +00093         return m_tkFamily;
    +00094     }
    +00095 
    +00096     virtual const physx::PxShape* const*    getSubchunkShapes() const override
    +00097     {
    +00098         return m_subchunkShapes.begin();
    +00099     }
    +00100 
    +00101     virtual const ExtPxAsset&               getPxAsset() const override
    +00102     {
    +00103         return m_pxAsset;
    +00104     }
    +00105 
    +00106     virtual void                            setMaterial(PxMaterial& material) override
    +00107     {
    +00108         m_spawnSettings.material = &material;
    +00109     }
    +00110 
    +00111     virtual void                            setPxShapeDescTemplate(const ExtPxShapeDescTemplate* pxShapeDesc) override
    +00112     {
    +00113         m_pxShapeDescTemplate = pxShapeDesc;
    +00114     }
    +00115 
    +00116     virtual const ExtPxShapeDescTemplate*   getPxShapeDescTemplate() const override
    +00117     {
    +00118         return m_pxShapeDescTemplate;
    +00119     }
    +00120 
    +00121     virtual void                            setPxActorDesc(const ExtPxActorDescTemplate* pxActorDesc) override
    +00122     {
    +00123         m_pxActorDescTemplate = pxActorDesc;
    +00124     }
    +00125 
    +00126     virtual const ExtPxActorDescTemplate*   getPxActorDesc() const override
    +00127     {
    +00128         return m_pxActorDescTemplate;
    +00129     }
    +00130 
    +00131     virtual void                            subscribe(ExtPxListener& listener) override
    +00132     {
    +00133         m_listeners.pushBack(&listener);
    +00134     }
     00135 
    -00136 private:
    -00138 
    -00139     void                                    createActors(TkActor** tkActors, const PxActorCreateInfo* pxActorInfos, uint32_t count);
    -00140     void                                    destroyActors(ExtPxActor** actors, uint32_t count);
    -00141 
    -00143 
    -00144     ExtPxManagerImpl&                       m_manager;
    -00145     TkFamily&                               m_tkFamily;
    -00146     const ExtPxAsset&                       m_pxAsset;
    -00147     ExtPxSpawnSettings                      m_spawnSettings;
    -00148     const ExtPxShapeDescTemplate*           m_pxShapeDescTemplate;
    -00149     const ExtPxActorDescTemplate*           m_pxActorDescTemplate;
    -00150     bool                                    m_isSpawned;
    -00151     PxTransform                             m_initialTransform;
    -00152     PxVec3                                  m_initialScale;
    -00153     ExtHashSet<ExtPxActor*>::type           m_actors;
    -00154     ExtArray<TkActor*>::type                m_culledActors;
    -00155     ExtInlineArray<ExtPxListener*, 4>::type m_listeners;
    -00156     ExtArray<PxShape*>::type                m_subchunkShapes;
    -00157     ExtArray<TkActor*>::type                m_newActorsBuffer;
    -00158     ExtArray<PxActorCreateInfo>::type       m_newActorCreateInfo;
    -00159     ExtArray<PxActor*>::type                m_physXActorsBuffer;
    -00160     ExtArray<ExtPxActor*>::type             m_actorsBuffer;
    -00161     ExtArray<uint32_t>::type                m_indicesScratch;
    -00162 };
    -00163 
    -00164 } // namespace Blast
    -00165 } // namespace Nv
    -00166 
    -00167 
    -00168 #endif // ifndef NVBLASTEXTPXFAMILYIMPL_H
    +00136     virtual void                            unsubscribe(ExtPxListener& listener) override
    +00137     {
    +00138         m_listeners.findAndReplaceWithLast(&listener);
    +00139     }
    +00140 
    +00141     virtual void                            postSplitUpdate() override;
    +00142 
    +00144 
    +00145     virtual void                            receive(const TkEvent* events, uint32_t eventCount) override;
    +00146 
    +00147 
    +00149 
    +00150     void                                    dispatchActorCreated(ExtPxActor& actor);
    +00151     void                                    dispatchActorDestroyed(ExtPxActor& actor);
    +00152 
    +00153 
    +00154 private:
    +00156 
    +00157     void                                    createActors(TkActor** tkActors, const PxActorCreateInfo* pxActorInfos, uint32_t count);
    +00158     void                                    destroyActors(ExtPxActor** actors, uint32_t count);
    +00159 
    +00161 
    +00162     ExtPxManagerImpl&                       m_manager;
    +00163     TkFamily&                               m_tkFamily;
    +00164     const ExtPxAsset&                       m_pxAsset;
    +00165     ExtPxSpawnSettings                      m_spawnSettings;
    +00166     const ExtPxShapeDescTemplate*           m_pxShapeDescTemplate;
    +00167     const ExtPxActorDescTemplate*           m_pxActorDescTemplate;
    +00168     bool                                    m_isSpawned;
    +00169     PxTransform                             m_initialTransform;
    +00170     PxVec3                                  m_initialScale;
    +00171     HashSet<ExtPxActor*>::type              m_actors;
    +00172     Array<TkActor*>::type                   m_culledActors;
    +00173     InlineArray<ExtPxListener*, 4>::type    m_listeners;
    +00174     Array<PxShape*>::type                   m_subchunkShapes;
    +00175     Array<TkActor*>::type                   m_newActorsBuffer;
    +00176     Array<PxActorCreateInfo>::type          m_newActorCreateInfo;
    +00177     Array<PxActor*>::type                   m_physXActorsBuffer;
    +00178     Array<ExtPxActor*>::type                m_actorsBuffer;
    +00179     Array<uint32_t>::type                   m_indicesScratch;
    +00180 };
    +00181 
    +00182 } // namespace Blast
    +00183 } // namespace Nv
    +00184 
    +00185 
    +00186 #endif // ifndef NVBLASTEXTPXFAMILYIMPL_H
     

    sdk/extensions/physx/source/physics/NvBlastExtPxFamilyImpl.h File Reference

    #include "NvBlastExtPxFamily.h"
    -#include "NvBlastExtArray.h"
    -#include "NvBlastExtHashSet.h"
    +#include "NvBlastArray.h"
    +#include "NvBlastHashSet.h"
    #include "PxTransform.h"
    #include "NvBlastTkEvent.h"
    diff --git a/docs/source_docs/files/_nv_blast_ext_px_listener_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_listener_8h-source.html index 3c89e73..2de10d4 100644 --- a/docs/source_docs/files/_nv_blast_ext_px_listener_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_px_listener_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/physx/include/NvBlastExtPxListener.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/include/NvBlastExtPxListener.h Source File @@ -35,44 +35,62 @@
  • File Members
  • -

    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
    +

    sdk/extensions/physx/include/NvBlastExtPxListener.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTPXLISTENER_H
    +00030 #define NVBLASTEXTPXLISTENER_H
    +00031 
    +00032 
    +00033 namespace Nv
    +00034 {
    +00035 namespace Blast
    +00036 {
    +00037 
    +00038 // Forward declarations
    +00039 class ExtPxFamily;
    +00040 class ExtPxActor;
    +00041 
    +00042 
    +00048 class ExtPxListener
    +00049 {
    +00050 public:
    +00057     virtual void    onActorCreated(ExtPxFamily& family, ExtPxActor& actor) = 0;
    +00058 
    +00065     virtual void    onActorDestroyed(ExtPxFamily& family, ExtPxActor& actor) = 0;
    +00066 };
    +00067 
    +00068 
    +00069 } // namespace Blast
    +00070 } // namespace Nv
    +00071 
    +00072 
    +00073 #endif // ifndef NVBLASTEXTPXLISTENER_H
     
    -

    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:
    +

    sdk/extensions/physx/include/NvBlastExtPxManager.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTPXMANAGER_H
    +00030 #define NVBLASTEXTPXMANAGER_H
    +00031 
    +00032 #include "NvBlastTypes.h"
    +00033 #include "PxConvexMeshGeometry.h"
    +00034 #include "PxTransform.h"
    +00035 #include "NvPreprocessor.h"
    +00036 
    +00037 
    +00038 // Forward declarations
    +00039 namespace physx
    +00040 {
    +00041 class PxPhysics;
    +00042 class PxRigidDynamic;
    +00043 class PxJoint;
    +00044 
    +00045 namespace general_PxIOStream2
    +00046 {
    +00047 class PxFileBuf;
    +00048 }
    +00049 }
    +00050 
    +00051 
    +00052 namespace Nv
    +00053 {
    +00054 namespace Blast
    +00055 {
    +00056 
    +00057 // Forward declarations
    +00058 class ExtPxActor;
    +00059 class ExtPxAsset;
    +00060 class ExtPxFamily;
    +00061 class ExtPxListener;
    +00062 class TkFamily;
    +00063 class TkFramework;
    +00064 class TkGroup;
    +00065 class TkJoint;
    +00066 
    +00067 
    +00073 struct ExtPxFamilyDesc
    +00074 {
    +00075     const ExtPxAsset*       pxAsset;        
    +00076     const NvBlastActorDesc* actorDesc;      
    +00077     TkGroup*                group;          
    +00078 };
    +00079 
     00080 
    -00092     static ExtPxManager*        create(physx::PxPhysics& physics, TkFramework& framework, ExtPxCreateJointFunction createFn = nullptr, bool useUserData = true);
    -00093 
    -00097     virtual void                release() = 0;
    +00086 typedef physx::PxJoint*(*ExtPxCreateJointFunction)(ExtPxActor* actor0, const physx::PxTransform& localFrame0, ExtPxActor* actor1, const physx::PxTransform& localFrame1, physx::PxPhysics& physics, TkJoint& joint);
    +00087 
    +00088 
    +00094 class NV_DLL_EXPORT ExtPxManager
    +00095 {
    +00096 public:
     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;
    +00110     static ExtPxManager*        create(physx::PxPhysics& physics, TkFramework& framework, ExtPxCreateJointFunction createFn = nullptr, bool useUserData = true);
    +00111 
    +00115     virtual void                release() = 0;
    +00116 
    +00117 
    +00119 
    +00123     enum FilterDataAttributes
    +00124     {
    +00125         LEAF_CHUNK = 1,
    +00126     };
    +00127 
    +00128 
    +00130 
    +00138     virtual ExtPxFamily*        createFamily(const ExtPxFamilyDesc& desc) = 0;
    +00139 
    +00150     virtual bool                createJoint(TkJoint& joint) = 0;
    +00151 
    +00157     virtual void                destroyJoint(TkJoint& joint) = 0;
    +00158 
    +00164     virtual void                setCreateJointFunction(ExtPxCreateJointFunction createFn) = 0;
    +00165 
    +00171     virtual uint32_t            getFamilyCount() const = 0;
    +00172 
    +00181     virtual uint32_t            getFamilies(ExtPxFamily** buffer, uint32_t bufferSize) 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
    +00190     virtual ExtPxFamily*        getFamilyFromTkFamily(TkFamily& family) const = 0;
    +00191 
    +00199     virtual ExtPxActor*         getActorFromPhysXActor(const physx::PxRigidDynamic& pxActor) const = 0;
    +00200 
    +00206     virtual physx::PxPhysics&   getPhysics() const = 0;
    +00207 
    +00213     virtual TkFramework&        getFramework() const = 0;
    +00214 
    +00220     virtual bool                isPxUserDataUsed() const = 0;
    +00221 
    +00227     virtual void                setActorCountLimit(uint32_t limit) = 0;
    +00228 
    +00234     virtual uint32_t            getActorCountLimit() = 0;
    +00235 
    +00241     virtual uint32_t            getPxActorCount() const = 0;
    +00242 
    +00248     virtual void                subscribe(ExtPxListener& listener) = 0;
    +00249 
    +00255     virtual void                unsubscribe(ExtPxListener& listener) = 0;
    +00256 };
    +00257 
    +00258 
    +00259 } // namespace Blast
    +00260 } // namespace Nv
    +00261 
    +00262 
    +00263 #endif // ifndef NVBLASTEXTPXMANAGER_H
     
    -

    sdk/extensions/physx/source/physics/NvBlastExtPxManagerImpl.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 NVBLASTEXTPXMANAGERIMPL_H
    -00012 #define NVBLASTEXTPXMANAGERIMPL_H
    -00013 
    -00014 #include "NvBlastExtPxManager.h"
    -00015 #include "NvBlastExtArray.h"
    -00016 #include "NvBlastExtHashMap.h"
    -00017 #include "NvBlastExtPxListener.h"
    -00018 #include "NvBlastExtPxFamily.h"
    -00019 
    -00020 #include "PxRigidDynamic.h"
    -00021 
    -00022 
    -00023 using namespace physx;
    -00024 
    -00025 
    -00026 namespace Nv
    -00027 {
    -00028 namespace Blast
    -00029 {
    -00030 
    -00031 // Forward declarations
    -00032 class TkActor;
    -00033 
    -00034 class ExtPxManagerImpl final : public ExtPxManager
    -00035 {
    -00036     NV_NOCOPY(ExtPxManagerImpl)
    +

    sdk/extensions/physx/source/physics/NvBlastExtPxManagerImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTPXMANAGERIMPL_H
    +00030 #define NVBLASTEXTPXMANAGERIMPL_H
    +00031 
    +00032 #include "NvBlastExtPxManager.h"
    +00033 #include "NvBlastArray.h"
    +00034 #include "NvBlastHashMap.h"
    +00035 #include "NvBlastExtPxListener.h"
    +00036 #include "NvBlastExtPxFamily.h"
     00037 
    -00038 public:
    -00039     friend class ExtPxActorImpl;
    -00040     friend class ExtPxFamilyImpl;
    -00041 
    -00042     ExtPxManagerImpl(PxPhysics& physics, TkFramework&framework, ExtPxCreateJointFunction createFn, bool usePxUserData)
    -00043         : m_physics(physics), m_framework(framework), m_createJointFn(createFn), m_usePxUserData(usePxUserData), m_actorCountLimit(0)
    -00044     {
    -00045     }
    -00046 
    -00047     ~ExtPxManagerImpl()
    -00048     {
    -00049     }
    -00050 
    -00051     virtual void release() override;
    -00052 
    -00053 
    +00038 #include "PxRigidDynamic.h"
    +00039 
    +00040 
    +00041 using namespace physx;
    +00042 
    +00043 
    +00044 namespace Nv
    +00045 {
    +00046 namespace Blast
    +00047 {
    +00048 
    +00049 // Forward declarations
    +00050 class TkActor;
    +00051 
    +00052 class ExtPxManagerImpl final : public ExtPxManager
    +00053 {
    +00054     NV_NOCOPY(ExtPxManagerImpl)
     00055 
    -00056     virtual ExtPxFamily*    createFamily(const ExtPxFamilyDesc& desc) override;
    -00057 
    -00058     virtual bool            createJoint(TkJoint& joint) override;
    +00056 public:
    +00057     friend class ExtPxActorImpl;
    +00058     friend class ExtPxFamilyImpl;
     00059 
    -00060     virtual void            destroyJoint(TkJoint& joint) override;
    -00061 
    -00062     virtual void            setCreateJointFunction(ExtPxCreateJointFunction createFn) override
    -00063     {
    -00064         m_createJointFn = createFn;
    -00065     }
    -00066 
    -00067     virtual uint32_t        getFamilyCount() const override
    -00068     {
    -00069         return m_tkFamiliesMap.size();
    -00070     }
    +00060     ExtPxManagerImpl(PxPhysics& physics, TkFramework&framework, ExtPxCreateJointFunction createFn, bool usePxUserData)
    +00061         : m_physics(physics), m_framework(framework), m_createJointFn(createFn), m_usePxUserData(usePxUserData), m_actorCountLimit(0)
    +00062     {
    +00063     }
    +00064 
    +00065     ~ExtPxManagerImpl()
    +00066     {
    +00067     }
    +00068 
    +00069     virtual void release() override;
    +00070 
     00071 
    -00072     virtual uint32_t        getFamilies(ExtPxFamily** buffer, uint32_t bufferSize) const override
    -00073     {
    -00074         uint32_t index = 0;
    -00075         for (auto it = const_cast<ExtPxManagerImpl*>(this)->m_tkFamiliesMap.getIterator(); !it.done() && index < bufferSize; ++it)
    -00076         {
    -00077             buffer[index++] = it->second;
    -00078         }
    -00079         return index;
    -00080     }
    -00081 
    -00082     virtual ExtPxFamily*    getFamilyFromTkFamily(TkFamily& family) const override
    -00083     {
    -00084         auto entry = m_tkFamiliesMap.find(&family);
    -00085         return entry != nullptr ? entry->second : nullptr;
    -00086     }
    -00087 
    -00088     virtual ExtPxActor*     getActorFromPhysXActor(const PxRigidDynamic& pxActor) const override
    -00089     {
    -00090         auto it = m_physXActorsMap.find(&pxActor);
    -00091         return it != nullptr ? it->second : nullptr;
    -00092     }
    -00093 
    -00094     virtual PxPhysics&      getPhysics() const override
    -00095     {
    -00096         return m_physics;
    -00097     }
    -00098 
    -00099     virtual TkFramework&    getFramework() const override
    -00100     {
    -00101         return m_framework;
    -00102     }
    -00103 
    -00104     virtual bool            isPxUserDataUsed() const override
    -00105     {
    -00106         return m_usePxUserData;
    -00107     }
    -00108 
    -00109     virtual void            subscribe(ExtPxListener& listener) override
    -00110     {
    -00111         m_listeners.pushBack(&listener);
    -00112     }
    -00113 
    -00114     virtual void            unsubscribe(ExtPxListener& listener) override
    -00115     {
    -00116         m_listeners.findAndReplaceWithLast(&listener);
    -00117     }
    -00118 
    -00119     virtual void            setActorCountLimit(uint32_t limit) override
    -00120     {
    -00121         m_actorCountLimit = limit;
    -00122     }
    -00123 
    -00124     virtual uint32_t        getActorCountLimit() override
    -00125     {
    -00126         return m_actorCountLimit;
    -00127     }
    -00128 
    -00129     virtual uint32_t        getPxActorCount() const override
    -00130     {
    -00131         return m_physXActorsMap.size();
    -00132     }
    -00133 
    -00134 
    +00073 
    +00074     virtual ExtPxFamily*    createFamily(const ExtPxFamilyDesc& desc) override;
    +00075 
    +00076     virtual bool            createJoint(TkJoint& joint) override;
    +00077 
    +00078     virtual void            destroyJoint(TkJoint& joint) override;
    +00079 
    +00080     virtual void            setCreateJointFunction(ExtPxCreateJointFunction createFn) override
    +00081     {
    +00082         m_createJointFn = createFn;
    +00083     }
    +00084 
    +00085     virtual uint32_t        getFamilyCount() const override
    +00086     {
    +00087         return m_tkFamiliesMap.size();
    +00088     }
    +00089 
    +00090     virtual uint32_t        getFamilies(ExtPxFamily** buffer, uint32_t bufferSize) const override
    +00091     {
    +00092         uint32_t index = 0;
    +00093         for (auto it = const_cast<ExtPxManagerImpl*>(this)->m_tkFamiliesMap.getIterator(); !it.done() && index < bufferSize; ++it)
    +00094         {
    +00095             buffer[index++] = it->second;
    +00096         }
    +00097         return index;
    +00098     }
    +00099 
    +00100     virtual ExtPxFamily*    getFamilyFromTkFamily(TkFamily& family) const override
    +00101     {
    +00102         auto entry = m_tkFamiliesMap.find(&family);
    +00103         return entry != nullptr ? entry->second : nullptr;
    +00104     }
    +00105 
    +00106     virtual ExtPxActor*     getActorFromPhysXActor(const PxRigidDynamic& pxActor) const override
    +00107     {
    +00108         auto it = m_physXActorsMap.find(&pxActor);
    +00109         return it != nullptr ? it->second : nullptr;
    +00110     }
    +00111 
    +00112     virtual PxPhysics&      getPhysics() const override
    +00113     {
    +00114         return m_physics;
    +00115     }
    +00116 
    +00117     virtual TkFramework&    getFramework() const override
    +00118     {
    +00119         return m_framework;
    +00120     }
    +00121 
    +00122     virtual bool            isPxUserDataUsed() const override
    +00123     {
    +00124         return m_usePxUserData;
    +00125     }
    +00126 
    +00127     virtual void            subscribe(ExtPxListener& listener) override
    +00128     {
    +00129         m_listeners.pushBack(&listener);
    +00130     }
    +00131 
    +00132     virtual void            unsubscribe(ExtPxListener& listener) override
    +00133     {
    +00134         m_listeners.findAndReplaceWithLast(&listener);
    +00135     }
     00136 
    -00137     void                    registerActor(PxRigidDynamic* pxActor, ExtPxActor* actor)
    -00138     {
    -00139         if (m_usePxUserData)
    -00140         {
    -00141             pxActor->userData = actor;
    -00142         }
    -00143         m_physXActorsMap[pxActor] = actor;
    -00144     }
    -00145 
    -00146     void                    unregisterActor(PxRigidDynamic* pxActor)
    -00147     {
    -00148         if (m_usePxUserData)
    -00149         {
    -00150             pxActor->userData = nullptr;
    -00151         }
    -00152         m_physXActorsMap.erase(pxActor);
    -00153     }
    +00137     virtual void            setActorCountLimit(uint32_t limit) override
    +00138     {
    +00139         m_actorCountLimit = limit;
    +00140     }
    +00141 
    +00142     virtual uint32_t        getActorCountLimit() override
    +00143     {
    +00144         return m_actorCountLimit;
    +00145     }
    +00146 
    +00147     virtual uint32_t        getPxActorCount() const override
    +00148     {
    +00149         return m_physXActorsMap.size();
    +00150     }
    +00151 
    +00152 
     00154 
    -00155     void                    registerFamily(ExtPxFamily& family)
    +00155     void                    registerActor(PxRigidDynamic* pxActor, ExtPxActor* actor)
     00156     {
    -00157         m_tkFamiliesMap[&family.getTkFamily()] = &family;
    -00158     }
    -00159 
    -00160     void                    unregisterFamily(ExtPxFamily& family)
    -00161     {
    -00162         m_tkFamiliesMap.erase(&family.getTkFamily());
    -00163     }
    -00164 
    -00165     void                    updateJoint(TkJoint& joint);
    -00166 
    -00167 
    -00169 
    -00170     void                    dispatchActorCreated(ExtPxFamily& family, ExtPxActor& actor)
    -00171     {
    -00172         for (ExtPxListener* listener : m_listeners)
    -00173             listener->onActorCreated(family, actor);
    -00174     }
    -00175 
    -00176     void                    dispatchActorDestroyed(ExtPxFamily& family, ExtPxActor&actor)
    -00177     {
    -00178         for (ExtPxListener* listener : m_listeners)
    -00179             listener->onActorDestroyed(family, actor);
    -00180     }
    -00181 
    +00157         if (m_usePxUserData)
    +00158         {
    +00159             pxActor->userData = actor;
    +00160         }
    +00161         m_physXActorsMap[pxActor] = actor;
    +00162     }
    +00163 
    +00164     void                    unregisterActor(PxRigidDynamic* pxActor)
    +00165     {
    +00166         if (m_usePxUserData)
    +00167         {
    +00168             pxActor->userData = nullptr;
    +00169         }
    +00170         m_physXActorsMap.erase(pxActor);
    +00171     }
    +00172 
    +00173     void                    registerFamily(ExtPxFamily& family)
    +00174     {
    +00175         m_tkFamiliesMap[&family.getTkFamily()] = &family;
    +00176     }
    +00177 
    +00178     void                    unregisterFamily(ExtPxFamily& family)
    +00179     {
    +00180         m_tkFamiliesMap.erase(&family.getTkFamily());
    +00181     }
     00182 
    -00183 private:
    +00183     void                    updateJoint(TkJoint& joint);
     00184 
    -00186 
    -00187     PxPhysics&                                              m_physics;
    -00188     TkFramework&                                            m_framework;
    -00189     ExtPxCreateJointFunction                                m_createJointFn;
    -00190     bool                                                    m_usePxUserData;
    -00191     ExtInlineArray<ExtPxListener*, 8>::type                 m_listeners;
    -00192     ExtHashMap<const PxRigidDynamic*, ExtPxActor*>::type    m_physXActorsMap;
    -00193     ExtHashMap<TkFamily*, ExtPxFamily*>::type               m_tkFamiliesMap;
    -00194     ExtHashMap<TkActor*, ExtArray<TkJoint*>::type >::type   m_incompleteJointMultiMap;
    -00195     uint32_t                                                m_actorCountLimit;
    -00196 };
    -00197 
    -00198 } // namespace Blast
    -00199 } // namespace Nv
    +00185 
    +00187 
    +00188     void                    dispatchActorCreated(ExtPxFamily& family, ExtPxActor& actor)
    +00189     {
    +00190         for (ExtPxListener* listener : m_listeners)
    +00191             listener->onActorCreated(family, actor);
    +00192     }
    +00193 
    +00194     void                    dispatchActorDestroyed(ExtPxFamily& family, ExtPxActor&actor)
    +00195     {
    +00196         for (ExtPxListener* listener : m_listeners)
    +00197             listener->onActorDestroyed(family, actor);
    +00198     }
    +00199 
     00200 
    -00201 
    -00202 #endif // ifndef NVBLASTEXTPXMANAGERIMPL_H
    +00201 private:
    +00202 
    +00204 
    +00205     PxPhysics&                                              m_physics;
    +00206     TkFramework&                                            m_framework;
    +00207     ExtPxCreateJointFunction                                m_createJointFn;
    +00208     bool                                                    m_usePxUserData;
    +00209     InlineArray<ExtPxListener*, 8>::type                    m_listeners;
    +00210     HashMap<const PxRigidDynamic*, ExtPxActor*>::type       m_physXActorsMap;
    +00211     HashMap<TkFamily*, ExtPxFamily*>::type                  m_tkFamiliesMap;
    +00212     HashMap<TkActor*, Array<TkJoint*>::type >::type         m_incompleteJointMultiMap;
    +00213     uint32_t                                                m_actorCountLimit;
    +00214 };
    +00215 
    +00216 } // namespace Blast
    +00217 } // namespace Nv
    +00218 
    +00219 
    +00220 #endif // ifndef NVBLASTEXTPXMANAGERIMPL_H
     

    sdk/extensions/physx/source/physics/NvBlastExtPxManagerImpl.h File Reference

    #include "NvBlastExtPxManager.h"
    -#include "NvBlastExtArray.h"
    -#include "NvBlastExtHashMap.h"
    +#include "NvBlastArray.h"
    +#include "NvBlastHashMap.h"
    #include "NvBlastExtPxListener.h"
    #include "NvBlastExtPxFamily.h"
    #include "PxRigidDynamic.h"
    diff --git a/docs/source_docs/files/_nv_blast_ext_px_serialization_8capn_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_serialization_8capn_8h-source.html new file mode 100644 index 0000000..f6af1b8 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_serialization_8capn_8h-source.html @@ -0,0 +1,1539 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_serialization_8capn_8h.html b/docs/source_docs/files/_nv_blast_ext_px_serialization_8capn_8h.html new file mode 100644 index 0000000..28e066f --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_serialization_8capn_8h.html @@ -0,0 +1,167 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h File Reference + + + + + + + + +
    +

    sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h File Reference

    #include <capnp/generated-header-support.h>
    +#include "NvBlastExtTkSerialization.capn.h"
    + +

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

    Classes

    struct  Nv::Blast::Serialization::ExtPxAsset
    struct  Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::_capnpPrivate
    class  Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder
    class  Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Pipeline
    class  Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader
    struct  Nv::Blast::Serialization::ExtPxChunk
    struct  Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::_capnpPrivate
    class  Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder
    class  Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Pipeline
    class  Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Reader
    struct  Nv::Blast::Serialization::ExtPxSubchunk
    struct  Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::_capnpPrivate
    class  Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder
    class  Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline
    class  Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Reader
    struct  Nv::Blast::Serialization::PxConvexMeshGeometry
    struct  Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::_capnpPrivate
    class  Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder
    class  Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Pipeline
    class  Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader
    struct  Nv::Blast::Serialization::PxMeshScale
    struct  Nv::Blast::Serialization::PxMeshScale::PxMeshScale::_capnpPrivate
    class  Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder
    class  Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline
    class  Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader
    struct  Nv::Blast::Serialization::PxQuat
    struct  Nv::Blast::Serialization::PxQuat::PxQuat::_capnpPrivate
    class  Nv::Blast::Serialization::PxQuat::PxQuat::Builder
    class  Nv::Blast::Serialization::PxQuat::PxQuat::Pipeline
    class  Nv::Blast::Serialization::PxQuat::PxQuat::Reader
    struct  Nv::Blast::Serialization::PxTransform
    struct  Nv::Blast::Serialization::PxTransform::PxTransform::_capnpPrivate
    class  Nv::Blast::Serialization::PxTransform::PxTransform::Builder
    class  Nv::Blast::Serialization::PxTransform::PxTransform::Pipeline
    class  Nv::Blast::Serialization::PxTransform::PxTransform::Reader

    Namespaces

    namespace  capnp
    namespace  capnp::schemas
    namespace  Nv
    namespace  Nv::Blast
    namespace  Nv::Blast::Serialization

    Enumerations

    enum  capnp::schemas::Type_b197145e18e8b82a {
    +  capnp::schemas::E_S_P_H_E_R_E, +capnp::schemas::E_P_L_A_N_E, +capnp::schemas::E_C_A_P_S_U_L_E, +capnp::schemas::E_B_O_X, +
    +  capnp::schemas::E_C_O_N_V_E_X_M_E_S_H, +capnp::schemas::E_T_R_I_A_N_G_L_E_M_E_S_H, +capnp::schemas::E_H_E_I_G_H_T_F_I_E_L_D +
    + }

    Functions

     capnp::schemas::CAPNP_DECLARE_ENUM (Type, b197145e18e8b82a)
     capnp::schemas::CAPNP_DECLARE_SCHEMA (fe3844eab62f741c)
     capnp::schemas::CAPNP_DECLARE_SCHEMA (d9e85646bf529a45)
     capnp::schemas::CAPNP_DECLARE_SCHEMA (aea6c3ede69b9227)
     capnp::schemas::CAPNP_DECLARE_SCHEMA (b197145e18e8b82a)
     capnp::schemas::CAPNP_DECLARE_SCHEMA (adae9deb89212865)
     capnp::schemas::CAPNP_DECLARE_SCHEMA (864211458400770e)
     capnp::schemas::CAPNP_DECLARE_SCHEMA (920ebb03da744765)
     capnp::schemas::CAPNP_DECLARE_SCHEMA (e67e9b52a4f4c5dc)
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_serialization_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_serialization_8h-source.html new file mode 100644 index 0000000..f75c81f --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_serialization_8h-source.html @@ -0,0 +1,114 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/include/NvBlastExtPxSerialization.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_serialization_8h.html b/docs/source_docs/files/_nv_blast_ext_px_serialization_8h.html new file mode 100644 index 0000000..d14fb81 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_serialization_8h.html @@ -0,0 +1,163 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/include/NvBlastExtPxSerialization.h File Reference + + + + + + + + +
    +

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

    #include "NvBlastGlobals.h"
    + +

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

    Classes

    struct  Nv::Blast::ExtPxObjectTypeID

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    namespace  physx

    Functions

    NVBLAST_API size_t NvBlastExtPxSerializerLoadSet (Nv::Blast::TkFramework &framework, physx::PxPhysics &physics, physx::PxCooking &cooking, Nv::Blast::ExtSerialization &serialization)
    NVBLAST_API uint64_t NvBlastExtSerializationSerializeExtPxAssetIntoBuffer (void *&buffer, Nv::Blast::ExtSerialization &serialization, const Nv::Blast::ExtPxAsset *asset)
    +


    Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NVBLAST_API size_t NvBlastExtPxSerializerLoadSet (Nv::Blast::TkFramework framework,
    physx::PxPhysics &  physics,
    physx::PxCooking &  cooking,
    Nv::Blast::ExtSerialization serialization 
    )
    +
    +
    + +

    +Load all ExtPhysX extension serializers into the ExtSerialization manager.

    +It does no harm to call this function more than once; serializers already loaded will not be loaded again.

    +

    Parameters:
    + + +
    [in] serialization Serialization manager into which to load serializers.
    +
    +
    Returns:
    the number of serializers loaded.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    NVBLAST_API uint64_t NvBlastExtSerializationSerializeExtPxAssetIntoBuffer (void *&  buffer,
    Nv::Blast::ExtSerialization serialization,
    const Nv::Blast::ExtPxAsset asset 
    )
    +
    +
    + +

    +Utility wrapper function to serialize an ExtPxAsset. Allocates the buffer internally using the callack set in ExtSerialization::setBufferProvider.

    +Equivalent to:

    +serialization.serializeIntoBuffer(buffer, asset, Nv::Blast::ExtPxObjectTypeID::Asset);

    +

    Parameters:
    + + + + +
    [out] buffer Pointer to the buffer created.
    [in] serialization Serialization manager.
    [in] asset Pointer to the ExtPxAsset to serialize.
    +
    +
    Returns:
    the number of bytes serialized into the buffer (zero if unsuccessful).
    + +
    +

    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_serializer_c_a_p_n_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_serializer_c_a_p_n_8h-source.html new file mode 100644 index 0000000..48cbcfa --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_serializer_c_a_p_n_8h-source.html @@ -0,0 +1,109 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/NvBlastExtPxSerializerCAPN.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_serializer_c_a_p_n_8h.html b/docs/source_docs/files/_nv_blast_ext_px_serializer_c_a_p_n_8h.html new file mode 100644 index 0000000..632a3c5 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_serializer_c_a_p_n_8h.html @@ -0,0 +1,59 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/NvBlastExtPxSerializerCAPN.h File Reference + + + + + + + + +
    +

    sdk/extensions/serialization/source/NvBlastExtPxSerializerCAPN.h File Reference

    #include "NvBlastExtSerializationCAPN.h"
    +#include "NvBlastExtPxAsset.h"
    +#include "ExtPxAssetDTO.h"
    + +

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

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_serializer_r_a_w_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_serializer_r_a_w_8h-source.html new file mode 100644 index 0000000..ca86050 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_serializer_r_a_w_8h-source.html @@ -0,0 +1,100 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/NvBlastExtPxSerializerRAW.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_serializer_r_a_w_8h.html b/docs/source_docs/files/_nv_blast_ext_px_serializer_r_a_w_8h.html new file mode 100644 index 0000000..ba1583c --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_serializer_r_a_w_8h.html @@ -0,0 +1,62 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/NvBlastExtPxSerializerRAW.h File Reference + + + + + + + + +
    +

    sdk/extensions/serialization/source/NvBlastExtPxSerializerRAW.h File Reference

    #include <stdint.h>
    + +

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

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    namespace  physx

    Functions

    ExtPxAsset * Nv::Blast::deserializeExtPxAsset (ExtIStream &stream, TkFramework &framework, physx::PxPhysics &physics)
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_stress_solver_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_stress_solver_8h-source.html new file mode 100644 index 0000000..80815a1 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_stress_solver_8h-source.html @@ -0,0 +1,109 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/include/NvBlastExtPxStressSolver.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_stress_solver_8h.html b/docs/source_docs/files/_nv_blast_ext_px_stress_solver_8h.html new file mode 100644 index 0000000..120aa35 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_stress_solver_8h.html @@ -0,0 +1,61 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/include/NvBlastExtPxStressSolver.h File Reference + + + + + + + + +
    +

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

    #include "NvBlastExtStressSolver.h"
    +#include "common/PxRenderBuffer.h"
    + +

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

    Classes

    class  Nv::Blast::ExtPxStressSolver

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_stress_solver_impl_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_stress_solver_impl_8h-source.html new file mode 100644 index 0000000..f83368b --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_stress_solver_impl_8h-source.html @@ -0,0 +1,127 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/source/physics/NvBlastExtPxStressSolverImpl.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_stress_solver_impl_8h.html b/docs/source_docs/files/_nv_blast_ext_px_stress_solver_impl_8h.html new file mode 100644 index 0000000..5c3f279 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_stress_solver_impl_8h.html @@ -0,0 +1,63 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/source/physics/NvBlastExtPxStressSolverImpl.h File Reference + + + + + + + + +
    +

    sdk/extensions/physx/source/physics/NvBlastExtPxStressSolverImpl.h File Reference

    #include "NvBlastExtPxStressSolver.h"
    +#include "NvBlastExtPxListener.h"
    +#include "NvBlastArray.h"
    +#include "NvBlastHashSet.h"
    + +

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

    Classes

    class  Nv::Blast::final

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_task_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_task_8h-source.html new file mode 100644 index 0000000..da5e7c1 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_task_8h-source.html @@ -0,0 +1,118 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/include/NvBlastExtPxTask.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_task_8h.html b/docs/source_docs/files/_nv_blast_ext_px_task_8h.html new file mode 100644 index 0000000..4ee7890 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_task_8h.html @@ -0,0 +1,62 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/include/NvBlastExtPxTask.h File Reference + + + + + + + + +
    +

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

    #include "NvBlastTypes.h"
    + +

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

    Classes

    class  Nv::Blast::ExtGroupTaskManager

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    namespace  physx
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_task_impl_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_task_impl_8h-source.html new file mode 100644 index 0000000..75c1172 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_task_impl_8h-source.html @@ -0,0 +1,229 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_px_task_impl_8h.html b/docs/source_docs/files/_nv_blast_ext_px_task_impl_8h.html new file mode 100644 index 0000000..9e81c07 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_px_task_impl_8h.html @@ -0,0 +1,71 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.h File Reference + + + + + + + + +
    +

    sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.h File Reference

    #include "NvBlastExtPxTask.h"
    +#include "PxTask.h"
    +#include "NvBlastTkGroup.h"
    +#include <atomic>
    +#include <mutex>
    +#include <condition_variable>
    + +

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

    Classes

    class  Nv::Blast::ExtAtomicCounter
    class  Nv::Blast::ExtGroupTaskManagerImpl
    class  Nv::Blast::ExtGroupWorkerTask
    class  Nv::Blast::ExtTaskSync

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_scoped_resource_8h-source.html b/docs/source_docs/files/_nv_blast_ext_scoped_resource_8h-source.html index b5e8f25..6e0fe22 100644 --- a/docs/source_docs/files/_nv_blast_ext_scoped_resource_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_scoped_resource_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/import/source/NvBlastExtScopedResource.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/import/source/NvBlastExtScopedResource.h Source File @@ -35,166 +35,184 @@
  • File Members
  • -

    sdk/extensions/import/source/NvBlastExtScopedResource.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 NVBLASTEXTSCOPEDRESOURCE_H
    -00012 #define NVBLASTEXTSCOPEDRESOURCE_H
    -00013 
    -00014 #include <PxAssert.h>
    -00015 
    -00016 
    -00017 #pragma warning(push)
    -00018 #pragma warning(disable:4512)
    -00019 
    -00020 namespace nvidia
    -00021 {
    -00022 namespace apex
    -00023 {
    -00024 class ApexSDK;
    -00025 class Asset;
    -00026 class DestructibleAsset;
    -00027 class AssetAuthoring;
    -00028 class ModuleDestructible;
    -00029 class RenderMeshAssetAuthoring;
    -00030 class DestructibleAssetAuthoring;
    -00031 }
    -00032 }
    +

    sdk/extensions/import/source/NvBlastExtScopedResource.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTSCOPEDRESOURCE_H
    +00030 #define NVBLASTEXTSCOPEDRESOURCE_H
    +00031 
    +00032 #include <PxAssert.h>
     00033 
    -00034 namespace Nv
    -00035 {
    -00036 namespace Blast
    -00037 {
    -00038 
    -00039 namespace ApexImporter
    -00040 {
    -00041 
    -00042 template <class T>
    -00043 class DefaultReleaser
    -00044 {
    -00045 public:
    -00046     DefaultReleaser() { }
    -00047     PX_INLINE void release(T& t) { t.release(); }
    -00048 };
    -00049 
    -00050 class ApexReleaser
    -00051 {
    -00052 public:
    -00053     ApexReleaser() : mApex(nullptr) { }
    -00054     ApexReleaser(nvidia::apex::ApexSDK& apex) : mApex(&apex) { }
    -00055 
    -00056     void    release(nvidia::apex::RenderMeshAssetAuthoring&);
    -00057     void    release(nvidia::apex::DestructibleAssetAuthoring&);
    -00058     void    release(nvidia::apex::ModuleDestructible&);
    +00034 
    +00035 #pragma warning(push)
    +00036 #pragma warning(disable:4512)
    +00037 
    +00038 namespace nvidia
    +00039 {
    +00040 namespace apex
    +00041 {
    +00042 class ApexSDK;
    +00043 class Asset;
    +00044 class DestructibleAsset;
    +00045 class AssetAuthoring;
    +00046 class ModuleDestructible;
    +00047 class RenderMeshAssetAuthoring;
    +00048 class DestructibleAssetAuthoring;
    +00049 }
    +00050 }
    +00051 
    +00052 namespace Nv
    +00053 {
    +00054 namespace Blast
    +00055 {
    +00056 
    +00057 namespace ApexImporter
    +00058 {
     00059 
    -00060 protected:
    -00061     bool                    mbValid;
    -00062     nvidia::apex::ApexSDK*  mApex;
    -00063 };
    -00064 
    -00065 template< class Releasable, class Releaser = DefaultReleaser<Releasable> >
    -00066 class ScopedResource
    -00067 {
    -00068 public:
    -00069     ScopedResource()
    -00070         : mpReleasable(nullptr), mIsReleasable(true){}
    -00071 
    -00072     ScopedResource(Releasable* pReleasable, const Releaser& releaser)
    -00073         : mpReleasable(pReleasable),
    -00074         mReleaser(releaser), mIsReleasable(true) { }
    -00075 
    -00076     ScopedResource(Releasable* pReleasable, bool isReleasable = true)
    -00077         : mpReleasable(pReleasable), mIsReleasable(isReleasable) { }
    -00078 
    -00079     ~ScopedResource()
    -00080     {
    -00081         destroy();
    -00082     }
    -00083 
    -00084     PX_INLINE operator bool() const
    -00085     {
    -00086         return (nullptr != mpReleasable);
    -00087     }
    -00088 
    -00089     PX_INLINE Releasable* get() const
    -00090     {
    -00091         return mpReleasable;
    -00092     }
    +00060 template <class T>
    +00061 class DefaultReleaser
    +00062 {
    +00063 public:
    +00064     DefaultReleaser() { }
    +00065     PX_INLINE void release(T& t) { t.release(); }
    +00066 };
    +00067 
    +00068 class ApexReleaser
    +00069 {
    +00070 public:
    +00071     ApexReleaser() : mApex(nullptr) { }
    +00072     ApexReleaser(nvidia::apex::ApexSDK& apex) : mApex(&apex) { }
    +00073 
    +00074     void    release(nvidia::apex::RenderMeshAssetAuthoring&);
    +00075     void    release(nvidia::apex::DestructibleAssetAuthoring&);
    +00076     void    release(nvidia::apex::ModuleDestructible&);
    +00077 
    +00078 protected:
    +00079     bool                    mbValid;
    +00080     nvidia::apex::ApexSDK*  mApex;
    +00081 };
    +00082 
    +00083 template< class Releasable, class Releaser = DefaultReleaser<Releasable> >
    +00084 class ScopedResource
    +00085 {
    +00086 public:
    +00087     ScopedResource()
    +00088         : mpReleasable(nullptr), mIsReleasable(true){}
    +00089 
    +00090     ScopedResource(Releasable* pReleasable, const Releaser& releaser)
    +00091         : mpReleasable(pReleasable),
    +00092         mReleaser(releaser), mIsReleasable(true) { }
     00093 
    -00094     PX_INLINE Releasable* release()
    -00095     {
    -00096         Releasable* pReleasable = mpReleasable;
    -00097         mpReleasable = nullptr;
    -00098         return pReleasable;
    -00099     }
    -00100 
    -00101     PX_INLINE Releasable& operator* () const
    -00102     {
    -00103         PX_ASSERT(*this);
    -00104         return *mpReleasable;
    +00094     ScopedResource(Releasable* pReleasable, bool isReleasable = true)
    +00095         : mpReleasable(pReleasable), mIsReleasable(isReleasable) { }
    +00096 
    +00097     ~ScopedResource()
    +00098     {
    +00099         destroy();
    +00100     }
    +00101 
    +00102     PX_INLINE operator bool() const
    +00103     {
    +00104         return (nullptr != mpReleasable);
     00105     }
     00106 
    -00107     PX_INLINE Releasable* operator-> () const
    -00108     {
    +00107     PX_INLINE Releasable* get() const
    +00108     {
     00109         return mpReleasable;
     00110     }
     00111 
    -00112     PX_INLINE bool operator==(const ScopedResource& b) const
    -00113     {
    -00114         return mpReleasable == b.mpReleasable;
    -00115     }
    -00116 
    -00117     PX_INLINE bool operator!=(const ScopedResource& b) const
    -00118     {
    -00119         return !(*this == b);
    -00120     }
    -00121 
    -00122     PX_INLINE void reset(Releasable* pReleasable, bool isReleasable = true)
    -00123     {
    -00124         if (mpReleasable == pReleasable) return;
    -00125         destroy();
    -00126         mpReleasable = pReleasable;
    -00127         mIsReleasable = isReleasable;
    +00112     PX_INLINE Releasable* release()
    +00113     {
    +00114         Releasable* pReleasable = mpReleasable;
    +00115         mpReleasable = nullptr;
    +00116         return pReleasable;
    +00117     }
    +00118 
    +00119     PX_INLINE Releasable& operator* () const
    +00120     {
    +00121         PX_ASSERT(*this);
    +00122         return *mpReleasable;
    +00123     }
    +00124 
    +00125     PX_INLINE Releasable* operator-> () const
    +00126     {
    +00127         return mpReleasable;
     00128     }
     00129 
    -00130     PX_INLINE void reset(Releasable* pReleasable, const Releaser& releaser, bool isReleasable = true)
    -00131     {
    -00132         reset(pReleasable);
    -00133         mReleaser = releaser;
    -00134         mIsReleasable = isReleasable;
    -00135     }
    -00136 
    -00137 private:
    -00138 
    -00139     void destroy()
    -00140     {
    -00141         if (*this && mIsReleasable)
    -00142             mReleaser.release(*mpReleasable);
    -00143     }
    -00144 
    -00145     ScopedResource(const ScopedResource&);
    -00146     ScopedResource& operator=(const ScopedResource&);
    +00130     PX_INLINE bool operator==(const ScopedResource& b) const
    +00131     {
    +00132         return mpReleasable == b.mpReleasable;
    +00133     }
    +00134 
    +00135     PX_INLINE bool operator!=(const ScopedResource& b) const
    +00136     {
    +00137         return !(*this == b);
    +00138     }
    +00139 
    +00140     PX_INLINE void reset(Releasable* pReleasable, bool isReleasable = true)
    +00141     {
    +00142         if (mpReleasable == pReleasable) return;
    +00143         destroy();
    +00144         mpReleasable = pReleasable;
    +00145         mIsReleasable = isReleasable;
    +00146     }
     00147 
    -00148     Releasable* mpReleasable;
    -00149     Releaser    mReleaser;
    -00150     bool        mIsReleasable;
    -00151 };
    -00152 
    -00153 } // namespace ApexImporter
    +00148     PX_INLINE void reset(Releasable* pReleasable, const Releaser& releaser, bool isReleasable = true)
    +00149     {
    +00150         reset(pReleasable);
    +00151         mReleaser = releaser;
    +00152         mIsReleasable = isReleasable;
    +00153     }
     00154 
    -00155 } // namespace Blast
    -00156 } // namespace Nv
    -00157 
    -00158 #pragma warning(pop)
    -00159 
    -00160 #endif // NVBLASTEXTSCOPEDRESOURCE_H
    +00155 private:
    +00156 
    +00157     void destroy()
    +00158     {
    +00159         if (*this && mIsReleasable)
    +00160             mReleaser.release(*mpReleasable);
    +00161     }
    +00162 
    +00163     ScopedResource(const ScopedResource&);
    +00164     ScopedResource& operator=(const ScopedResource&);
    +00165 
    +00166     Releasable* mpReleasable;
    +00167     Releaser    mReleaser;
    +00168     bool        mIsReleasable;
    +00169 };
    +00170 
    +00171 } // namespace ApexImporter
    +00172 
    +00173 } // namespace Blast
    +00174 } // namespace Nv
    +00175 
    +00176 #pragma warning(pop)
    +00177 
    +00178 #endif // NVBLASTEXTSCOPEDRESOURCE_H
     
    -

    sdk/extensions/serialization/source/NvBlastExtSerialization.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 #pragma once
    -00012 #include "kj/io.h"
    -00013 #include "capnp/serialize.h"
    -00014 #include "generated/NvBlastExtSerializationLL.capn.h"
    -00015 #include <vector>
    -00016 #include "NvBlastExtInputStream.h"
    -00017 #include "NvBlastExtOutputStream.h"
    -00018 
    -00019 #if !defined(BLAST_LL_ALLOC)
    -00020 #include "NvBlastExtAllocator.h"
    -00021 #endif
    -00022 #include "NvBlastExtGlobals.h"
    -00023 
    -00024 namespace Nv
    -00025 {
    -00026     namespace Blast
    -00027     {
    -00028         template<typename TAsset, typename TSerializationReader, typename TSerializationBuilder>
    -00029         class ExtSerialization
    -00030         {
    -00031         public:
    -00032             static TAsset* deserialize(const unsigned char* input, uint32_t size);
    -00033             static TAsset* deserializeFromStream(std::istream &inputStream);
    -00034 
    -00035             static bool serializeIntoExistingBuffer(const TAsset *asset, unsigned char *buffer, uint32_t maxSize, uint32_t &usedSize);
    -00036             static bool serializeIntoNewBuffer(const TAsset *asset, unsigned char **outBuffer, uint32_t &outSize);
    -00037             static bool serializeIntoStream(const TAsset *asset, std::ostream &outputStream);
    +

    sdk/extensions/serialization/include/NvBlastExtSerialization.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #pragma once
    +00030 
    +00031 #include "NvBlastGlobals.h"
    +00032 
    +00033 
    +00034 namespace Nv
    +00035 {
    +00036 namespace Blast
    +00037 {
     00038 
    -00039         private:
    -00040 
    -00041             static void serializeMessageIntoNewBuffer(capnp::MallocMessageBuilder& message, unsigned char ** outBuffer, uint32_t &outSize);
    -00042 
    -00043             // Specialized
    -00044             static bool serializeIntoBuilder(TSerializationBuilder& assetBuilder, const TAsset* asset);
    -00045             static bool serializeIntoMessage(capnp::MallocMessageBuilder& message, const TAsset* asset);
    -00046             static TAsset* deserializeFromStreamReader(capnp::InputStreamMessageReader &message);
    -00047         };
    -00048 
    -00049         template<typename TAsset, typename TSerializationReader, typename TSerializationBuilder>
    -00050         TAsset* ExtSerialization<TAsset, TSerializationReader, TSerializationBuilder>::deserialize(const unsigned char* input, uint32_t size)
    -00051         {
    -00052             kj::ArrayPtr<const unsigned char> source(input, size);
    -00053 
    -00054             kj::ArrayInputStream inputStream(source);
    -00055 
    -00056             std::vector<uint64_t> scratch;
    -00057             scratch.resize(size);
    -00058             kj::ArrayPtr<capnp::word> scratchArray((capnp::word*) scratch.data(), size);
    -00059 
    -00060             capnp::InputStreamMessageReader message(inputStream, capnp::ReaderOptions(), scratchArray);
    +00042 class ExtSerialization
    +00043 {
    +00044 public:
    +00046     struct EncodingID
    +00047     {
    +00048         enum Enum
    +00049         {
    +00050             CapnProtoBinary =   NVBLAST_FOURCC('C', 'P', 'N', 'B'),
    +00051             RawBinary =         NVBLAST_FOURCC('R', 'A', 'W', ' '),
    +00052         };
    +00053     };
    +00054 
    +00056     class BufferProvider
    +00057     {
    +00058     public:
    +00059         virtual void*   requestBuffer(size_t size) = 0;
    +00060     };
     00061 
    -00062             return deserializeFromStreamReader(message);
    -00063         }
    -00064 
    -00065         template<typename TAsset, typename TSerializationReader, typename TSerializationBuilder>
    -00066         TAsset* ExtSerialization<TAsset, TSerializationReader, TSerializationBuilder>::deserializeFromStream(std::istream &inputStream)
    -00067         {
    -00068             Nv::Blast::ExtInputStream readStream(inputStream);
    -00069 
    -00070             capnp::InputStreamMessageReader message(readStream);
    -00071 
    -00072             return deserializeFromStreamReader(message);
    -00073         }
    -00074 
    -00075         template<typename TAsset, typename TSerializationReader, typename TSerializationBuilder>
    -00076         bool ExtSerialization<TAsset, TSerializationReader, TSerializationBuilder>::serializeIntoExistingBuffer(const TAsset *asset, unsigned char *buffer, uint32_t maxSize, uint32_t &usedSize)
    -00077         {
    -00078             capnp::MallocMessageBuilder message;
    -00079 
    -00080             bool result = serializeIntoMessage(message, asset);
    -00081 
    -00082             if (result == false)
    -00083             {
    -00084                 usedSize = 0;
    -00085                 return false;
    -00086             }
    -00087 
    -00088             uint32_t messageSize = computeSerializedSizeInWords(message) * sizeof(uint64_t);
    -00089 
    -00090             if (maxSize < messageSize)
    -00091             {
    -00092                 NvBlastLog logFn = gLog;
    -00093 
    -00094 #if !defined(BLAST_LL_ALLOC)
    -00095                 logFn = NvBlastTkFrameworkGet()->getLogFn();
    -00096 #endif
    -00097 
    -00098                 NVBLAST_LOG_ERROR(logFn, "When attempting to serialize into an existing buffer, the provided buffer was too small.");
    -00099                 usedSize = 0;
    -00100                 return false;
    -00101             }
    -00102 
    -00103             kj::ArrayPtr<unsigned char> outputBuffer(buffer, maxSize);
    -00104             kj::ArrayOutputStream outputStream(outputBuffer);
    -00105 
    -00106             capnp::writeMessage(outputStream, message);
    +00067     virtual bool        setSerializationEncoding(uint32_t encodingID) = 0;
    +00068 
    +00075     virtual uint32_t    getSerializationEncoding() const = 0;
    +00076 
    +00084     virtual void        setBufferProvider(BufferProvider* bufferProvider) = 0;
    +00085 
    +00096     virtual bool        peekHeader(uint32_t* objectTypeID, uint32_t* encodingID, uint64_t* dataSize, const void* buffer, uint64_t bufferSize) = 0;
    +00097 
    +00106     virtual const void* skipObject(uint64_t& bufferSize, const void* buffer) = 0;
     00107 
    -00108             usedSize = messageSize;;
    -00109             return true;
    -00110         }
    -00111 
    -00112         template<typename TAsset, typename TSerializationReader, typename TSerializationBuilder>
    -00113         bool ExtSerialization<TAsset, TSerializationReader, TSerializationBuilder>::serializeIntoNewBuffer(const TAsset *asset, unsigned char **outBuffer, uint32_t &outSize)
    -00114         {
    -00115             capnp::MallocMessageBuilder message;
    -00116 
    -00117             bool result = serializeIntoMessage(message, asset);
    -00118 
    -00119             if (result == false)
    -00120             {
    -00121                 *outBuffer = nullptr;
    -00122                 outSize = 0;
    -00123                 return false;
    -00124             }
    -00125 
    -00126             serializeMessageIntoNewBuffer(message, outBuffer, outSize);
    -00127 
    -00128             return true;
    -00129         }
    +00118     virtual void*       deserializeFromBuffer(const void* buffer, uint64_t bufferSize, uint32_t* objectTypeIDPtr = nullptr) = 0;
    +00119 
    +00129     virtual uint64_t    serializeIntoBuffer(void*& buffer, const void* object, uint32_t objectTypeID) = 0;
     00130 
    -00131         template<typename TAsset, typename TSerializationReader, typename TSerializationBuilder>
    -00132         bool ExtSerialization<TAsset, TSerializationReader, TSerializationBuilder>::serializeIntoStream(const TAsset *asset, std::ostream &outputStream)
    -00133         {
    -00134             capnp::MallocMessageBuilder message;
    +00134     virtual void        release() = 0;
     00135 
    -00136             bool result = serializeIntoMessage(message, asset);
    -00137 
    -00138             if (result == false)
    -00139             {
    -00140                 return false;
    -00141             }
    +00136 protected:
    +00140     virtual             ~ExtSerialization() {}
    +00141 };
     00142 
    -00143             Nv::Blast::ExtOutputStream blastOutputStream(outputStream);
    -00144 
    -00145             writeMessage(blastOutputStream, message);
    +00143 }   // namespace Blast
    +00144 }   // namespace Nv
    +00145 
     00146 
    -00147             return true;
    -00148         }
    -00149 
    -00150         template<typename TAsset, typename TSerializationReader, typename TSerializationBuilder>
    -00151         void ExtSerialization<TAsset, TSerializationReader, TSerializationBuilder>::serializeMessageIntoNewBuffer(capnp::MallocMessageBuilder& message, unsigned char ** outBuffer, uint32_t &outSize)
    -00152         {
    -00153             uint32_t messageSize = computeSerializedSizeInWords(message) * sizeof(uint64_t);
    -00154 
    -00155             NvBlastExtAlloc allocFn = gAlloc;
    -00156 
    -00157 #if !defined(BLAST_LL_ALLOC)
    -00158             allocFn = ExtAllocator::alignedAlloc16;
    -00159 #endif
    -00160 
    -00161             unsigned char* buffer = static_cast<unsigned char *>(allocFn(messageSize));
    -00162 
    -00163             kj::ArrayPtr<unsigned char> outputBuffer(buffer, messageSize);
    -00164             kj::ArrayOutputStream outputStream(outputBuffer);
    -00165 
    -00166             capnp::writeMessage(outputStream, message);
    -00167 
    -00168             *outBuffer = buffer;
    -00169             outSize = messageSize;
    -00170         }
    -00171     }
    -00172 }
    +00148 
    +00156 NVBLAST_API Nv::Blast::ExtSerialization*    NvBlastExtSerializationCreate();
     
    -

    sdk/extensions/serialization/source/NvBlastExtSerialization.h File Reference

    #include "kj/io.h"
    -#include "capnp/serialize.h"
    -#include "generated/NvBlastExtSerializationLL.capn.h"
    -#include <vector>
    -#include "NvBlastExtInputStream.h"
    -#include "NvBlastExtOutputStream.h"
    -#include "NvBlastExtAllocator.h"
    -#include "NvBlastExtGlobals.h"
    +

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

    #include "NvBlastGlobals.h"

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

    Classes

    class  Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder >
    class  Nv::Blast::ExtSerialization
    class  Nv::Blast::ExtSerialization::ExtSerialization::BufferProvider
    struct  Nv::Blast::ExtSerialization::ExtSerialization::EncodingID

    Namespaces

    namespace  Nv
    namespace  Nv::Blast

    Functions

    NVBLAST_API
    +Nv::Blast::ExtSerialization
    NvBlastExtSerializationCreate ()
    +


    Function Documentation

    + +
    +
    + + + + + + + + +
    NVBLAST_API Nv::Blast::ExtSerialization* NvBlastExtSerializationCreate (  ) 
    +
    +
    + +

    +Create a new serialization manager. To release it, use its release() method.

    +This uses the global allocator set in NvBlastGlobals.h.

    +

    Returns:
    a new serialization manager.
    + +
    +

    -

    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;
    +

    sdk/extensions/stress/include/NvBlastExtStressSolver.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
     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
    +00028 
    +00029 #ifndef NVBLASTEXTSTRESSSOLVER_H
    +00030 #define NVBLASTEXTSTRESSSOLVER_H
    +00031 
    +00032 #include "NvBlastTypes.h"
    +00033 #include "PxVec3.h"
    +00034 #include <vector>
    +00035 
    +00036 
    +00037 namespace Nv
    +00038 {
    +00039 namespace Blast
    +00040 {
    +00041 
    +00042 
    +00057 struct ExtStressSolverSettings
    +00058 {
    +00059     float       hardness;                   
    +00060     float       stressLinearFactor;         
    +00061     float       stressAngularFactor;        
    +00062     uint32_t    bondIterationsPerFrame;     
    +00063     uint32_t    graphReductionLevel;        
    +00064 
    +00065     ExtStressSolverSettings() :
    +00066         hardness(1000.0f),
    +00067         stressLinearFactor(0.25f),
    +00068         stressAngularFactor(0.75f),
    +00069         bondIterationsPerFrame(18000),
    +00070         graphReductionLevel(3)
    +00071     {}
    +00072 };
    +00073 
    +00074 
    +00080 struct ExtForceMode
    +00081 {
    +00082     enum Enum
    +00083     {
    +00084         IMPULSE,    
    +00085         VELOCITY,   
    +00086     };
    +00087 };
    +00088 
    +00089 
    +00105 class NV_DLL_EXPORT ExtStressSolver
    +00106 {
    +00107 public:
    +00109 
    +00118     static ExtStressSolver*                 create(NvBlastFamily& family, ExtStressSolverSettings settings = ExtStressSolverSettings());
    +00119 
    +00120 
    +00122 
    +00126     virtual void                            release() = 0;
    +00127 
    +00139     virtual void                            setNodeInfo(uint32_t graphNodeIndex, float mass, float volume, physx::PxVec3 localPosition, bool isStatic) = 0;
    +00140 
    +00148     virtual void                            setAllNodesInfoFromLL(float density = 1.0f) = 0;
    +00149 
    +00157     virtual void                            setSettings(const ExtStressSolverSettings& settings) = 0;
    +00158 
    +00164     virtual const ExtStressSolverSettings&  getSettings() const = 0;
    +00165 
    +00175     virtual bool                            notifyActorCreated(const NvBlastActor& actor) = 0;
    +00176 
    +00184     virtual void                            notifyActorDestroyed(const NvBlastActor& actor) = 0;
    +00185 
    +00196     virtual bool                            addForce(const NvBlastActor& actor, physx::PxVec3 localPosition, physx::PxVec3 localForce, ExtForceMode::Enum mode = ExtForceMode::IMPULSE) = 0;
    +00197 
    +00205     virtual void                            addForce(uint32_t graphNodeIndex, physx::PxVec3 localForce, ExtForceMode::Enum mode = ExtForceMode::IMPULSE) = 0;
    +00206 
    +00215     virtual bool                            addGravityForce(const NvBlastActor& actor, physx::PxVec3 localGravity) = 0;
    +00216 
    +00226     virtual bool                            addAngularVelocity(const NvBlastActor& actor, physx::PxVec3 localCenterMass, physx::PxVec3 localAngularVelocity) = 0;
    +00227 
    +00233     virtual void                            update() = 0;
    +00234 
    +00242     virtual uint32_t                        getOverstressedBondCount() const = 0;
    +00243 
    +00256     virtual void                            generateFractureCommands(const NvBlastActor& actor, NvBlastFractureBuffers& commands) = 0;
    +00257 
    +00268     virtual void                            generateFractureCommands(NvBlastFractureBuffers& commands) = 0;
    +00269 
    +00286     virtual uint32_t                        generateFractureCommandsPerActor(const NvBlastActor** actorBuffer, NvBlastFractureBuffers* commandsBuffer, uint32_t bufferSize) = 0;
    +00287 
    +00294     virtual void                            reset() = 0;
    +00295 
    +00301     virtual float                           getStressErrorLinear() const = 0;
    +00302 
    +00308     virtual float                           getStressErrorAngular() const = 0;
    +00309 
    +00315     virtual uint32_t                        getFrameCount() const = 0;
    +00316 
    +00322     virtual uint32_t                        getBondCount() const = 0;
    +00323 
    +00324 
    +00328     enum DebugRenderMode
    +00329     {
    +00330         STRESS_GRAPH = 0,                   
    +00331         STRESS_GRAPH_NODES_IMPULSES = 1,    
    +00332         STRESS_GRAPH_BONDS_IMPULSES = 2     
    +00333     };
    +00334 
    +00338     struct DebugLine
    +00339     {
    +00340         DebugLine(const physx::PxVec3& p0, const physx::PxVec3& p1, const uint32_t& c)
    +00341             : pos0(p0), color0(c), pos1(p1), color1(c) {}
    +00342 
    +00343         physx::PxVec3   pos0;
    +00344         uint32_t        color0;
    +00345         physx::PxVec3   pos1;
    +00346         uint32_t        color1;
    +00347     };
    +00348 
    +00352     struct DebugBuffer
    +00353     {
    +00354         const DebugLine* lines;
    +00355         uint32_t         lineCount;
    +00356     };
    +00357 
    +00370     virtual const DebugBuffer               fillDebugRender(const uint32_t* nodes, uint32_t nodeCount, DebugRenderMode mode, float scale = 1.0f) = 0;
    +00371 
    +00372 
    +00374 
    +00386     static uint32_t                         getIterationsPerFrame(const ExtStressSolverSettings& settings, uint32_t bondCount)
    +00387     {
    +00388         uint32_t perFrame = settings.bondIterationsPerFrame / (bondCount + 1);
    +00389         return perFrame > 0 ? perFrame : 1;
    +00390     }
    +00391 
    +00399     uint32_t                                getIterationsPerFrame() const
    +00400     {
    +00401         return getIterationsPerFrame(getSettings(), getBondCount());
    +00402     }
    +00403 
    +00404 };
    +00405 
    +00406 } // namespace Blast
    +00407 } // namespace Nv
    +00408 
    +00409 
    +00410 #endif // ifndef NVBLASTEXTSTRESSSOLVER_H
     
    -

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

    #include "common/PxRenderBuffer.h"
    +

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

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

    Go to the source code of this file. + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_sync_8h-source.html b/docs/source_docs/files/_nv_blast_ext_sync_8h-source.html index e7c086c..81007a5 100644 --- a/docs/source_docs/files/_nv_blast_ext_sync_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_sync_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/physx/include/NvBlastExtSync.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/include/NvBlastExtSync.h Source File @@ -35,139 +35,157 @@
  • File Members
  • -

    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;
    +

    sdk/extensions/physx/include/NvBlastExtSync.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
     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;
    +00029 #ifndef NVBLASTEXTSYNC_H
    +00030 #define NVBLASTEXTSYNC_H
    +00031 
    +00032 #include "NvBlastTk.h"
    +00033 #include "foundation/PxTransform.h"
    +00034 #include "NvPreprocessor.h"
    +00035 #include "NvBlastGlobals.h"
    +00036 
    +00037 
    +00038 namespace Nv
    +00039 {
    +00040 namespace Blast
    +00041 {
    +00042 
    +00043 class ExtPxFamily;
    +00044 class ExtPxManager;
    +00045 
    +00046 
    +00050 struct ExtSyncEventType
    +00051 {
    +00052     enum Enum
    +00053     {
    +00054         Fracture = 0, 
    +00055         FamilySync,   
    +00056         Physics,      
    +00057 
    +00058         Count
    +00059     };
    +00060 };
    +00061 
     00062 
    -00063     void release();
    -00064 
    -00065     ExtSyncEventType::Enum  type;       
    -00066     uint64_t                timestamp;  
    -00067     NvBlastID               familyID;   
    -00068 };
    -00069 
    +00066 struct NV_DLL_EXPORT ExtSyncEvent
    +00067 {
    +00068     ExtSyncEvent(ExtSyncEventType::Enum t) : type(t) {}
    +00069     virtual ~ExtSyncEvent() {}
     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;
    +00071     template<class T>
    +00072     const T* getEvent() const { return reinterpret_cast<const T*>(this); }
    +00073 
    +00079     virtual ExtSyncEvent* clone() const = 0;
     00080 
    -00081     ExtSyncEvent* clone() const override
    -00082     {
    -00083         return new (NvBlastTkFrameworkGet()->getAllocatorCallback().allocate(sizeof(T), nullptr, __FILE__, __LINE__)) T(*(T*)this);
    -00084     }
    -00085 };
    -00086 
    +00081     void release();
    +00082 
    +00083     ExtSyncEventType::Enum  type;       
    +00084     uint64_t                timestamp;  
    +00085     NvBlastID               familyID;   
    +00086 };
     00087 
    -00091 struct ExtSyncEventFracture : public ExtSyncEventInstance<ExtSyncEventFracture, ExtSyncEventType::Fracture>
    -00092 {
    -00093     std::vector<NvBlastBondFractureData>    bondFractures;  
    -00094     std::vector<NvBlastChunkFractureData>   chunkFractures; 
    -00095 };
    +00088 
    +00092 template <class T, ExtSyncEventType::Enum eventType>
    +00093 struct ExtSyncEventInstance : public ExtSyncEvent
    +00094 {
    +00095     ExtSyncEventInstance() : ExtSyncEvent(eventType) {}
     00096 
    -00097 
    -00101 struct ExtSyncEventFamilySync : public ExtSyncEventInstance<ExtSyncEventFamilySync, ExtSyncEventType::FamilySync>
    -00102 {
    -00103     std::vector<char> family;   
    -00104 };
    +00097     static const ExtSyncEventType::Enum EVENT_TYPE = eventType;
    +00098 
    +00099     ExtSyncEvent* clone() const override
    +00100     {
    +00101         return NVBLAST_NEW (T) (*(T*)this);
    +00102     }
    +00103 };
    +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();
    +00109 struct ExtSyncEventFracture : public ExtSyncEventInstance<ExtSyncEventFracture, ExtSyncEventType::Fracture>
    +00110 {
    +00111     std::vector<NvBlastBondFractureData>    bondFractures;  
    +00112     std::vector<NvBlastChunkFractureData>   chunkFractures; 
    +00113 };
    +00114 
    +00115 
    +00119 struct ExtSyncEventFamilySync : public ExtSyncEventInstance<ExtSyncEventFamilySync, ExtSyncEventType::FamilySync>
    +00120 {
    +00121     std::vector<char> family;   
    +00122 };
    +00123 
    +00124 
    +00128 struct ExtSyncEventPhysicsSync : public ExtSyncEventInstance<ExtSyncEventPhysicsSync, ExtSyncEventType::Physics>
    +00129 {
    +00130     struct ActorData
    +00131     {
    +00132         uint32_t            actorIndex; 
    +00133         physx::PxTransform  transform;  
    +00134     };
    +00135 
    +00136     std::vector<ActorData> data;        
    +00137 };
     00138 
     00139 
    -00141 
    -00145     virtual void        release() = 0;
    -00146 
    -00147 
    +00145 class NV_DLL_EXPORT ExtSync : public TkEventListener
    +00146 {
    +00147 public:
     00149 
    -00156     virtual void        receive(const TkEvent* events, uint32_t eventCount)  = 0;
    +00155     static ExtSync*     create();
    +00156 
     00157 
    -00163     virtual void        syncFamily(const TkFamily& family) = 0;
    +00159 
    +00163     virtual void        release() = 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 
    +00165 
    +00167 
    +00174     virtual void        receive(const TkEvent* events, uint32_t eventCount)  = 0;
    +00175 
    +00181     virtual void        syncFamily(const TkFamily& family) = 0;
    +00182 
    +00188     virtual void        syncFamily(const ExtPxFamily& family) = 0;
    +00189 
    +00195     virtual uint32_t    getSyncBufferSize() const = 0;
    +00196 
    +00203     virtual void        acquireSyncBuffer(const ExtSyncEvent*const*& buffer, uint32_t& size) const = 0;
    +00204 
    +00208     virtual void        releaseSyncBuffer() = 0;
    +00209 
    +00210 
     00212 
    -00213 #endif // ifndef NVBLASTEXTSYNC_H
    +00223     virtual void        applySyncBuffer(TkFramework& framework, const ExtSyncEvent** buffer, uint32_t size, TkGroup* groupForNewActors, ExtPxManager* manager = nullptr) = 0;
    +00224 
    +00225 };
    +00226 
    +00227 } // namespace Blast
    +00228 } // namespace Nv
    +00229 
    +00230 
    +00231 #endif // ifndef NVBLASTEXTSYNC_H
     

    Classes

    struct  Nv::Blast::ExtForceMode
    class  Nv::Blast::ExtStressSolver
    struct  Nv::Blast::ExtStressSolver::ExtStressSolver::DebugBuffer
    struct  Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine
    struct  Nv::Blast::ExtStressSolverSettings

    Namespaces

    diff --git a/docs/source_docs/files/_nv_blast_ext_tk_serialization_8capn_8h-source.html b/docs/source_docs/files/_nv_blast_ext_tk_serialization_8capn_8h-source.html new file mode 100644 index 0000000..9bd1965 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_tk_serialization_8capn_8h-source.html @@ -0,0 +1,583 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_tk_serialization_8capn_8h.html b/docs/source_docs/files/_nv_blast_ext_tk_serialization_8capn_8h.html new file mode 100644 index 0000000..6205639 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_tk_serialization_8capn_8h.html @@ -0,0 +1,102 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h File Reference + + + + + + + + +
    +

    sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h File Reference

    #include <capnp/generated-header-support.h>
    +#include "NvBlastExtLlSerialization.capn.h"
    + +

    +Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Classes

    struct  Nv::Blast::Serialization::PxVec3
    struct  Nv::Blast::Serialization::PxVec3::PxVec3::_capnpPrivate
    class  Nv::Blast::Serialization::PxVec3::PxVec3::Builder
    class  Nv::Blast::Serialization::PxVec3::PxVec3::Pipeline
    class  Nv::Blast::Serialization::PxVec3::PxVec3::Reader
    struct  Nv::Blast::Serialization::TkAsset
    struct  Nv::Blast::Serialization::TkAsset::TkAsset::_capnpPrivate
    class  Nv::Blast::Serialization::TkAsset::TkAsset::Builder
    class  Nv::Blast::Serialization::TkAsset::TkAsset::Pipeline
    class  Nv::Blast::Serialization::TkAsset::TkAsset::Reader
    struct  Nv::Blast::Serialization::TkAssetJointDesc
    struct  Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::_capnpPrivate
    class  Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder
    class  Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Pipeline
    class  Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Reader

    Namespaces

    namespace  capnp
    namespace  capnp::schemas
    namespace  Nv
    namespace  Nv::Blast
    namespace  Nv::Blast::Serialization

    Functions

     capnp::schemas::CAPNP_DECLARE_SCHEMA (ed817d93facd8e00)
     capnp::schemas::CAPNP_DECLARE_SCHEMA (b7dbad810488a897)
     capnp::schemas::CAPNP_DECLARE_SCHEMA (ffd67c4b7067dde6)
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_tk_serialization_8h-source.html b/docs/source_docs/files/_nv_blast_ext_tk_serialization_8h-source.html new file mode 100644 index 0000000..4c75f65 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_tk_serialization_8h-source.html @@ -0,0 +1,104 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/include/NvBlastExtTkSerialization.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_tk_serialization_8h.html b/docs/source_docs/files/_nv_blast_ext_tk_serialization_8h.html new file mode 100644 index 0000000..51de566 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_tk_serialization_8h.html @@ -0,0 +1,149 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/include/NvBlastExtTkSerialization.h File Reference + + + + + + + + +
    +

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

    #include "NvBlastGlobals.h"
    + +

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

    Classes

    struct  Nv::Blast::TkObjectTypeID

    Namespaces

    namespace  Nv
    namespace  Nv::Blast

    Functions

    NVBLAST_API uint64_t NvBlastExtSerializationSerializeTkAssetIntoBuffer (void *&buffer, Nv::Blast::ExtSerialization &serialization, const Nv::Blast::TkAsset *asset)
    NVBLAST_API size_t NvBlastExtTkSerializerLoadSet (Nv::Blast::TkFramework &framework, Nv::Blast::ExtSerialization &serialization)
    +


    Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    NVBLAST_API uint64_t NvBlastExtSerializationSerializeTkAssetIntoBuffer (void *&  buffer,
    Nv::Blast::ExtSerialization serialization,
    const Nv::Blast::TkAsset asset 
    )
    +
    +
    + +

    +Utility wrapper function to serialize a TkAsset. Allocates the buffer internally using the callack set in ExtSerialization::setBufferProvider.

    +Equivalent to:

    +serialization.serializeIntoBuffer(buffer, asset, Nv::Blast::TkObjectTypeID::Asset);

    +

    Parameters:
    + + + + +
    [out] buffer Pointer to the buffer created.
    [in] serialization Serialization manager.
    [in] asset Pointer to the TkAsset to serialize.
    +
    +
    Returns:
    the number of bytes serialized into the buffer (zero if unsuccessful).
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    NVBLAST_API size_t NvBlastExtTkSerializerLoadSet (Nv::Blast::TkFramework framework,
    Nv::Blast::ExtSerialization serialization 
    )
    +
    +
    + +

    +Load all high-level serializers into the ExtSerialization manager.

    +It does no harm to call this function more than once; serializers already loaded will not be loaded again.

    +

    Parameters:
    + + +
    [in] serialization Serialization manager into which to load serializers.
    +
    +
    Returns:
    the number of serializers loaded.
    + +
    +

    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_tk_serializer_c_a_p_n_8h-source.html b/docs/source_docs/files/_nv_blast_ext_tk_serializer_c_a_p_n_8h-source.html new file mode 100644 index 0000000..ab9959a --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_tk_serializer_c_a_p_n_8h-source.html @@ -0,0 +1,109 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/NvBlastExtTkSerializerCAPN.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_tk_serializer_c_a_p_n_8h.html b/docs/source_docs/files/_nv_blast_ext_tk_serializer_c_a_p_n_8h.html new file mode 100644 index 0000000..067b4a3 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_tk_serializer_c_a_p_n_8h.html @@ -0,0 +1,59 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/NvBlastExtTkSerializerCAPN.h File Reference + + + + + + + + +
    +

    sdk/extensions/serialization/source/NvBlastExtTkSerializerCAPN.h File Reference

    #include "NvBlastExtSerializationCAPN.h"
    +#include "NvBlastTkAsset.h"
    +#include "TkAssetDTO.h"
    + +

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

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_tk_serializer_r_a_w_8h-source.html b/docs/source_docs/files/_nv_blast_ext_tk_serializer_r_a_w_8h-source.html new file mode 100644 index 0000000..0bb610f --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_tk_serializer_r_a_w_8h-source.html @@ -0,0 +1,93 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/NvBlastExtTkSerializerRAW.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_tk_serializer_r_a_w_8h.html b/docs/source_docs/files/_nv_blast_ext_tk_serializer_r_a_w_8h.html new file mode 100644 index 0000000..970818f --- /dev/null +++ b/docs/source_docs/files/_nv_blast_ext_tk_serializer_r_a_w_8h.html @@ -0,0 +1,60 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/NvBlastExtTkSerializerRAW.h File Reference + + + + + + + + +
    +

    sdk/extensions/serialization/source/NvBlastExtTkSerializerRAW.h File Reference

    #include <stdint.h>
    + +

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

    Namespaces

    namespace  Nv
    namespace  Nv::Blast

    Functions

    TkAsset * Nv::Blast::deserializeTkAsset (ExtIStream &stream, TkFramework &framework)
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_ext_triangle_processor_8h-source.html b/docs/source_docs/files/_nv_blast_ext_triangle_processor_8h-source.html index cf87087..df66cb3 100644 --- a/docs/source_docs/files/_nv_blast_ext_triangle_processor_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_triangle_processor_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/authoring/source/NvBlastExtTriangleProcessor.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/NvBlastExtTriangleProcessor.h Source File @@ -35,118 +35,136 @@
  • File Members
  • -

    sdk/extensions/authoring/source/NvBlastExtTriangleProcessor.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 NVBLASTEXTTRIANGLEPROCESSOR_H
    -00012 #define NVBLASTEXTTRIANGLEPROCESSOR_H
    -00013 
    -00014 #include <PxPhysicsAPI.h>
    -00015 #include <vector>
    -00016 #include <algorithm>
    -00017 
    -00018 using namespace physx;
    -00019 
    -00020 
    -00021 namespace Nv
    -00022 {
    -00023 namespace Blast
    -00024 {
    -00025     
    -00029 struct TrPrcTriangle
    -00030 {
    -00031     PxVec3 points[3];
    -00032     TrPrcTriangle(PxVec3 a = PxVec3(0.0f), PxVec3 b = PxVec3(0.0f), PxVec3 c = PxVec3(0.0f))
    -00033     {
    -00034         points[0] = a;
    -00035         points[1] = b;
    -00036         points[2] = c;
    -00037     }
    +

    sdk/extensions/authoring/source/NvBlastExtTriangleProcessor.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTEXTTRIANGLEPROCESSOR_H
    +00030 #define NVBLASTEXTTRIANGLEPROCESSOR_H
    +00031 
    +00032 #include <PxPhysicsAPI.h>
    +00033 #include <vector>
    +00034 #include <algorithm>
    +00035 
    +00036 using namespace physx;
    +00037 
     00038 
    -00039     TrPrcTriangle& operator=(const TrPrcTriangle& b)
    -00040     {
    -00041         points[0] = b.points[0];
    -00042         points[1] = b.points[1];
    -00043         points[2] = b.points[2];
    -00044         return *this;
    -00045     }
    -00046 
    -00047     TrPrcTriangle(const TrPrcTriangle& b)
    -00048     {
    -00049         points[0] = b.points[0];
    -00050         points[1] = b.points[1];
    -00051         points[2] = b.points[2];
    -00052     }
    -00053     PxVec3 getNormal() const
    -00054     {
    -00055         return (points[1] - points[0]).cross(points[2] - points[0]);
    -00056     }
    -00057 };
    -00058 
    -00062 struct TrPrcTriangle2d
    -00063 {
    -00064     PxVec2 points[3];
    -00065     TrPrcTriangle2d(PxVec2 a = PxVec2(0.0f), PxVec2 b = PxVec2(0.0f), PxVec2 c = PxVec2(0.0f))
    +00039 namespace Nv
    +00040 {
    +00041 namespace Blast
    +00042 {
    +00043     
    +00047 struct TrPrcTriangle
    +00048 {
    +00049     PxVec3 points[3];
    +00050     TrPrcTriangle(PxVec3 a = PxVec3(0.0f), PxVec3 b = PxVec3(0.0f), PxVec3 c = PxVec3(0.0f))
    +00051     {
    +00052         points[0] = a;
    +00053         points[1] = b;
    +00054         points[2] = c;
    +00055     }
    +00056 
    +00057     TrPrcTriangle& operator=(const TrPrcTriangle& b)
    +00058     {
    +00059         points[0] = b.points[0];
    +00060         points[1] = b.points[1];
    +00061         points[2] = b.points[2];
    +00062         return *this;
    +00063     }
    +00064 
    +00065     TrPrcTriangle(const TrPrcTriangle& b)
     00066     {
    -00067         points[0] = a;
    -00068         points[1] = b;
    -00069         points[2] = c;
    +00067         points[0] = b.points[0];
    +00068         points[1] = b.points[1];
    +00069         points[2] = b.points[2];
     00070     }
    -00071 
    -00072     TrPrcTriangle2d operator=(const TrPrcTriangle2d& b)
    -00073     {
    -00074         points[0] = b.points[0];
    -00075         points[1] = b.points[1];
    -00076         points[2] = b.points[2];
    -00077         return *this;
    -00078     }
    -00079 
    -00080     TrPrcTriangle2d(const TrPrcTriangle2d& b)
    -00081     {
    -00082         points[0] = b.points[0];
    -00083         points[1] = b.points[1];
    -00084         points[2] = b.points[2];
    -00085     }
    -00086 };
    -00087 
    -00088 class TriangleProcessor
    -00089 {
    -00090 public:
    -00091 
    -00092 
    -00093     TriangleProcessor()
    -00094     {};
    -00095     ~TriangleProcessor()
    -00096     {
    -00097     }
    -00098         
    -00099 
    -00110     uint32_t    getTriangleIntersection(TrPrcTriangle& a, TrPrcTriangle2d& aProjected, TrPrcTriangle &b, PxVec3& centroid, std::vector<PxVec3>& intersectionBuffer, PxVec3 normal);
    -00111 
    -00118     bool        triangleBoundingBoxIntersection(TrPrcTriangle2d& a, TrPrcTriangle2d& b);
    -00119         
    -00120 
    -00127     uint32_t    isPointInside(const PxVec2& point, const TrPrcTriangle2d& triangle);
    -00128 
    -00138     uint32_t    getSegmentIntersection(const PxVec2& s1, const PxVec2& e1, const PxVec2& s2, const PxVec2& e2, PxF32& t1);
    -00139 
    -00143     void        sortToCCW(std::vector<PxVec3>& points, PxVec3& normal);
    -00144     
    -00151     void        buildConvexHull(std::vector<PxVec3>& points, std::vector<PxVec3>& convexHull, const PxVec3& normal);
    -00152 };
    -00153 
    -00154 } // namespace Blast
    -00155 } // namespace Nv
    -00156 
    +00071     PxVec3 getNormal() const
    +00072     {
    +00073         return (points[1] - points[0]).cross(points[2] - points[0]);
    +00074     }
    +00075 };
    +00076 
    +00080 struct TrPrcTriangle2d
    +00081 {
    +00082     PxVec2 points[3];
    +00083     TrPrcTriangle2d(PxVec2 a = PxVec2(0.0f), PxVec2 b = PxVec2(0.0f), PxVec2 c = PxVec2(0.0f))
    +00084     {
    +00085         points[0] = a;
    +00086         points[1] = b;
    +00087         points[2] = c;
    +00088     }
    +00089 
    +00090     TrPrcTriangle2d operator=(const TrPrcTriangle2d& b)
    +00091     {
    +00092         points[0] = b.points[0];
    +00093         points[1] = b.points[1];
    +00094         points[2] = b.points[2];
    +00095         return *this;
    +00096     }
    +00097 
    +00098     TrPrcTriangle2d(const TrPrcTriangle2d& b)
    +00099     {
    +00100         points[0] = b.points[0];
    +00101         points[1] = b.points[1];
    +00102         points[2] = b.points[2];
    +00103     }
    +00104 };
    +00105 
    +00106 class TriangleProcessor
    +00107 {
    +00108 public:
    +00109 
    +00110 
    +00111     TriangleProcessor()
    +00112     {};
    +00113     ~TriangleProcessor()
    +00114     {
    +00115     }
    +00116         
    +00117 
    +00128     uint32_t    getTriangleIntersection(TrPrcTriangle& a, TrPrcTriangle2d& aProjected, TrPrcTriangle &b, PxVec3& centroid, std::vector<PxVec3>& intersectionBuffer, PxVec3 normal);
    +00129 
    +00136     bool        triangleBoundingBoxIntersection(TrPrcTriangle2d& a, TrPrcTriangle2d& b);
    +00137         
    +00138 
    +00145     uint32_t    isPointInside(const PxVec2& point, const TrPrcTriangle2d& triangle);
    +00146 
    +00156     uint32_t    getSegmentIntersection(const PxVec2& s1, const PxVec2& e1, const PxVec2& s2, const PxVec2& e2, PxF32& t1);
     00157 
    -00158 #endif // NVBLASTEXTTRIANGLEPROCESSOR_H
    +00161     void        sortToCCW(std::vector<PxVec3>& points, PxVec3& normal);
    +00162     
    +00169     void        buildConvexHull(std::vector<PxVec3>& points, std::vector<PxVec3>& convexHull, const PxVec3& normal);
    +00170 };
    +00171 
    +00172 } // namespace Blast
    +00173 } // namespace Nv
    +00174 
    +00175 
    +00176 #endif // NVBLASTEXTTRIANGLEPROCESSOR_H
     
    -

    sdk/lowlevel/source/NvBlastFamily.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 NVBLASTFAMILY_H
    -00012 #define NVBLASTFAMILY_H
    -00013 
    -00014 
    -00015 #include "NvBlastPreprocessorInternal.h"
    -00016 #include "NvBlastAsset.h"
    -00017 #include "NvBlastPreprocessor.h"
    -00018 #include "NvBlastDLink.h"
    -00019 #include "NvBlastAtomic.h"
    -00020 #include "NvBlastMemory.h"
    -00021 
    -00022 #include <cstring>
    -00023 
    -00024 
    -00025 struct NvBlastAsset;
    -00026 
    +

    sdk/lowlevel/source/NvBlastFamily.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
     00027 
    -00028 namespace Nv
    -00029 {
    -00030 namespace Blast
    -00031 {
    +00028 
    +00029 #ifndef NVBLASTFAMILY_H
    +00030 #define NVBLASTFAMILY_H
    +00031 
     00032 
    -00033 // Forward declarations
    -00034 class FamilyGraph;
    -00035 class Actor;
    -00036 class Asset;
    -00037 
    +00033 #include "NvBlastAsset.h"
    +00034 #include "NvBlastPreprocessor.h"
    +00035 #include "NvBlastDLink.h"
    +00036 #include "NvBlastAtomic.h"
    +00037 #include "NvBlastMemory.h"
     00038 
    -00044 struct FamilyHeader : public NvBlastDataBlock
    -00045 {
    -00049     NvBlastID   m_assetID;
    -00050 
    -00057     NvBlastBlockArrayData(Actor, m_actorsOffset, getActors, m_asset->m_graph.m_nodeCount);
    -00058 
    -00064     NvBlastBlockArrayData(IndexDLink<uint32_t>, m_visibleChunkIndexLinksOffset, getVisibleChunkIndexLinks, m_asset->m_chunkCount);
    -00065 
    -00071     NvBlastBlockArrayData(uint32_t, m_chunkActorIndicesOffset, getChunkActorIndices, m_asset->m_firstSubsupportChunkIndex);
    -00072 
    -00078     NvBlastBlockArrayData(uint32_t, m_graphNodeIndexLinksOffset, getGraphNodeIndexLinks, m_asset->m_graph.m_nodeCount);
    -00079 
    -00087     NvBlastBlockArrayData(float, m_lowerSupportChunkHealthsOffset, getLowerSupportChunkHealths, m_asset->getLowerSupportChunkCount());
    -00088 
    -00096     float*  getSubsupportChunkHealths() const
    -00097     {
    -00098         NVBLAST_ASSERT(m_asset != nullptr);
    -00099         return (float*)((uintptr_t)this + m_lowerSupportChunkHealthsOffset) + m_asset->m_graph.m_nodeCount;
    -00100     }
    -00101 
    -00107     NvBlastBlockArrayData(float, m_graphBondHealthsOffset, getBondHealths, m_asset->getBondCount());
    -00108 
    -00115     NvBlastBlockData(FamilyGraph, m_familyGraphOffset, getFamilyGraph);
    -00116 
    -00117 
    -00119 
    -00123     volatile uint32_t   m_actorCount;
    -00124 
    -00129     union
    -00130     {
    -00131         const Asset*    m_asset;
    -00132         uint64_t        m_runtimePlaceholder;   // Make sure we reserve enough room for an 8-byte pointer
    -00133     };
    +00039 #include <cstring>
    +00040 
    +00041 
    +00042 struct NvBlastAsset;
    +00043 
    +00044 
    +00045 namespace Nv
    +00046 {
    +00047 namespace Blast
    +00048 {
    +00049 
    +00050 // Forward declarations
    +00051 class FamilyGraph;
    +00052 class Actor;
    +00053 class Asset;
    +00054 
    +00055 
    +00061 struct FamilyHeader : public NvBlastDataBlock
    +00062 {
    +00066     NvBlastID   m_assetID;
    +00067 
    +00074     NvBlastBlockArrayData(Actor, m_actorsOffset, getActors, m_asset->m_graph.m_nodeCount);
    +00075 
    +00081     NvBlastBlockArrayData(IndexDLink<uint32_t>, m_visibleChunkIndexLinksOffset, getVisibleChunkIndexLinks, m_asset->m_chunkCount);
    +00082 
    +00088     NvBlastBlockArrayData(uint32_t, m_chunkActorIndicesOffset, getChunkActorIndices, m_asset->m_firstSubsupportChunkIndex);
    +00089 
    +00095     NvBlastBlockArrayData(uint32_t, m_graphNodeIndexLinksOffset, getGraphNodeIndexLinks, m_asset->m_graph.m_nodeCount);
    +00096 
    +00104     NvBlastBlockArrayData(float, m_lowerSupportChunkHealthsOffset, getLowerSupportChunkHealths, m_asset->getLowerSupportChunkCount());
    +00105 
    +00113     float*  getSubsupportChunkHealths() const
    +00114     {
    +00115         NVBLAST_ASSERT(m_asset != nullptr);
    +00116         return (float*)((uintptr_t)this + m_lowerSupportChunkHealthsOffset) + m_asset->m_graph.m_nodeCount;
    +00117     }
    +00118 
    +00124     NvBlastBlockArrayData(float, m_graphBondHealthsOffset, getBondHealths, m_asset->getBondCount());
    +00125 
    +00132     NvBlastBlockData(FamilyGraph, m_familyGraphOffset, getFamilyGraph);
    +00133 
     00134 
    -00135 
    -00137 
    -00145     Actor*      borrowActor(uint32_t index);
    -00146 
    -00152     void        returnActor(Actor& actor);
    -00153 
    -00159     uint32_t    getActorBufferSize() const;
    -00160 
    -00166     bool        isActorActive(uint32_t index) const;
    -00167 };
    -00168 
    -00169 } // namespace Blast
    -00170 } // namespace Nv
    -00171 
    -00172 
    -00173 #include "NvBlastActor.h"
    -00174 
    -00175 
    -00176 namespace Nv
    -00177 {
    -00178 namespace Blast
    -00179 {
    -00180 
    -00182 
    -00183 NV_INLINE Actor* FamilyHeader::borrowActor(uint32_t index)
    -00184 {
    -00185     NVBLAST_ASSERT(index < getActorBufferSize());
    -00186     Actor& actor = getActors()[index];
    -00187     if (actor.m_familyOffset == 0)
    -00188     {
    -00189         const uintptr_t offset = (uintptr_t)&actor - (uintptr_t)this;
    -00190         NVBLAST_ASSERT(offset <= UINT32_MAX);
    -00191         actor.m_familyOffset = (uint32_t)offset;
    -00192         atomicIncrement(reinterpret_cast<volatile int32_t*>(&m_actorCount));
    -00193     }
    -00194     return &actor;
    -00195 }
    -00196 
    -00197 
    -00198 NV_INLINE void FamilyHeader::returnActor(Actor& actor)
    -00199 {
    -00200     if (actor.m_familyOffset != 0)
    -00201     {
    -00202         actor.m_familyOffset = 0;
    -00203         // The actor count should be positive since this actor was valid.  Check to be safe.
    -00204         NVBLAST_ASSERT(m_actorCount > 0);
    -00205         atomicDecrement(reinterpret_cast<volatile int32_t*>(&m_actorCount));
    -00206     }
    -00207 }
    -00208 
    -00209 
    -00210 NV_INLINE uint32_t FamilyHeader::getActorBufferSize() const
    -00211 {
    -00212     NVBLAST_ASSERT(m_asset);
    -00213     return m_asset->getLowerSupportChunkCount();
    -00214 }
    -00215 
    -00216 
    -00217 NV_INLINE bool FamilyHeader::isActorActive(uint32_t index) const
    -00218 {
    -00219     NVBLAST_ASSERT(index < getActorBufferSize());
    -00220     return getActors()[index].m_familyOffset != 0;
    -00221 }
    -00222 
    -00223 
    -00225 
    -00232 size_t getFamilyMemorySize(const Asset* asset);
    -00233 
    -00234 } // namespace Blast
    -00235 } // namespace Nv
    -00236 
    -00237 
    -00238 #endif // ifndef NVBLASTFAMILY_H
    +00136 
    +00140     volatile uint32_t   m_actorCount;
    +00141 
    +00146     union
    +00147     {
    +00148         const Asset*    m_asset;
    +00149         uint64_t        m_runtimePlaceholder;   // Make sure we reserve enough room for an 8-byte pointer
    +00150     };
    +00151 
    +00152 
    +00154 
    +00162     Actor*      borrowActor(uint32_t index);
    +00163 
    +00169     void        returnActor(Actor& actor);
    +00170 
    +00176     uint32_t    getActorBufferSize() const;
    +00177 
    +00183     bool        isActorActive(uint32_t index) const;
    +00184 
    +00192     Actor*      getActorByIndex(uint32_t index) const;
    +00193 
    +00201     uint32_t    getGetChunkActorIndex(uint32_t chunkIndex) const;
    +00202 
    +00210     uint32_t    getGetNodeActorIndex(uint32_t nodeIndex) const;
    +00211 
    +00219     Actor*      getGetChunkActor(uint32_t chunkIndex) const;
    +00220 
    +00228     Actor*      getGetNodeActor(uint32_t nodeIndex) const;
    +00229 
    +00230 
    +00232 
    +00242     void                fractureSubSupportNoEvents(uint32_t chunkIndex, uint32_t suboffset, float healthDamage, float* chunkHealths, const NvBlastChunk* chunks);
    +00243 
    +00260     void                fractureSubSupport(uint32_t chunkIndex, uint32_t suboffset, float healthDamage, float* chunkHealths, const NvBlastChunk* chunks, NvBlastChunkFractureData* outBuffer, uint32_t* currentIndex, const uint32_t maxCount);
    +00261 
    +00270     void                fractureNoEvents(uint32_t chunkFractureCount, const NvBlastChunkFractureData* chunkFractures, Actor* filterActor, NvBlastLog logFn);
    +00271 
    +00286     void                fractureWithEvents(uint32_t chunkFractureCount, const NvBlastChunkFractureData* commands, NvBlastChunkFractureData* events, uint32_t eventsSize, uint32_t* count, Actor* filterActor, NvBlastLog logFn);
    +00287 
    +00303     void                fractureInPlaceEvents(uint32_t chunkFractureCount, NvBlastChunkFractureData* inoutbuffer, uint32_t eventsSize, uint32_t* count, Actor* filterActor, NvBlastLog logFn);
    +00304 
    +00316     void                applyFracture(NvBlastFractureBuffers* eventBuffers, const NvBlastFractureBuffers* commands, Actor* filterActor, NvBlastLog logFn, NvBlastTimers* timers);
    +00317 };
    +00318 
    +00319 } // namespace Blast
    +00320 } // namespace Nv
    +00321 
    +00322 
    +00323 #include "NvBlastActor.h"
    +00324 
    +00325 
    +00326 namespace Nv
    +00327 {
    +00328 namespace Blast
    +00329 {
    +00330 
    +00332 
    +00333 NV_INLINE Actor* FamilyHeader::borrowActor(uint32_t index)
    +00334 {
    +00335     NVBLAST_ASSERT(index < getActorBufferSize());
    +00336     Actor& actor = getActors()[index];
    +00337     if (actor.m_familyOffset == 0)
    +00338     {
    +00339         const uintptr_t offset = (uintptr_t)&actor - (uintptr_t)this;
    +00340         NVBLAST_ASSERT(offset <= UINT32_MAX);
    +00341         actor.m_familyOffset = (uint32_t)offset;
    +00342         atomicIncrement(reinterpret_cast<volatile int32_t*>(&m_actorCount));
    +00343     }
    +00344     return &actor;
    +00345 }
    +00346 
    +00347 
    +00348 NV_INLINE void FamilyHeader::returnActor(Actor& actor)
    +00349 {
    +00350     if (actor.m_familyOffset != 0)
    +00351     {
    +00352         actor.m_familyOffset = 0;
    +00353         // The actor count should be positive since this actor was valid.  Check to be safe.
    +00354         NVBLAST_ASSERT(m_actorCount > 0);
    +00355         atomicDecrement(reinterpret_cast<volatile int32_t*>(&m_actorCount));
    +00356     }
    +00357 }
    +00358 
    +00359 
    +00360 NV_INLINE uint32_t FamilyHeader::getActorBufferSize() const
    +00361 {
    +00362     NVBLAST_ASSERT(m_asset);
    +00363     return m_asset->getLowerSupportChunkCount();
    +00364 }
    +00365 
    +00366 
    +00367 NV_INLINE bool FamilyHeader::isActorActive(uint32_t index) const
    +00368 {
    +00369     NVBLAST_ASSERT(index < getActorBufferSize());
    +00370     return getActors()[index].m_familyOffset != 0;
    +00371 }
    +00372 
    +00373 
    +00374 NV_INLINE Actor* FamilyHeader::getActorByIndex(uint32_t index) const
    +00375 {
    +00376     NVBLAST_ASSERT(index < getActorBufferSize());
    +00377     Actor& actor = getActors()[index];
    +00378     return actor.isActive() ? &actor : nullptr;
    +00379 }
    +00380 
    +00381 
    +00382 NV_INLINE uint32_t FamilyHeader::getGetChunkActorIndex(uint32_t chunkIndex) const
    +00383 {
    +00384     NVBLAST_ASSERT(m_asset);
    +00385     NVBLAST_ASSERT(chunkIndex < m_asset->m_chunkCount);
    +00386     if (chunkIndex < m_asset->getUpperSupportChunkCount())
    +00387     {
    +00388         return getChunkActorIndices()[chunkIndex];
    +00389     }
    +00390     else
    +00391     {
    +00392         return chunkIndex - (m_asset->getUpperSupportChunkCount() - m_asset->m_graph.m_nodeCount);
    +00393     }
    +00394 }
    +00395 
    +00396 
    +00397 NV_INLINE uint32_t FamilyHeader::getGetNodeActorIndex(uint32_t nodeIndex) const
    +00398 {
    +00399     NVBLAST_ASSERT(m_asset);
    +00400     NVBLAST_ASSERT(nodeIndex < m_asset->m_graph.m_nodeCount);
    +00401     const uint32_t chunkIndex = m_asset->m_graph.getChunkIndices()[nodeIndex];
    +00402     return isInvalidIndex(chunkIndex) ? chunkIndex : getChunkActorIndices()[chunkIndex];
    +00403 }
    +00404 
    +00405 
    +00406 NV_INLINE Actor* FamilyHeader::getGetChunkActor(uint32_t chunkIndex) const
    +00407 {
    +00408     uint32_t actorIndex = getGetChunkActorIndex(chunkIndex);
    +00409     return !isInvalidIndex(actorIndex) ? getActorByIndex(actorIndex) : nullptr;
    +00410 }
    +00411 
    +00412 
    +00413 NV_INLINE Actor* FamilyHeader::getGetNodeActor(uint32_t nodeIndex) const
    +00414 {
    +00415     uint32_t actorIndex = getGetNodeActorIndex(nodeIndex);
    +00416     return !isInvalidIndex(actorIndex) ? getActorByIndex(actorIndex) : nullptr;
    +00417 }
    +00418 
    +00419 
    +00421 
    +00428 size_t getFamilyMemorySize(const Asset* asset);
    +00429 
    +00430 } // namespace Blast
    +00431 } // namespace Nv
    +00432 
    +00433 
    +00434 #endif // ifndef NVBLASTFAMILY_H
     
    -

    sdk/lowlevel/source/NvBlastFamily.h File Reference

    #include "NvBlastPreprocessorInternal.h"
    -#include "NvBlastAsset.h"
    +

    sdk/lowlevel/source/NvBlastFamily.h File Reference

    #include "NvBlastAsset.h"
    #include "NvBlastPreprocessor.h"
    #include "NvBlastDLink.h"
    #include "NvBlastAtomic.h"
    diff --git a/docs/source_docs/files/_nv_blast_family_graph_8h-source.html b/docs/source_docs/files/_nv_blast_family_graph_8h-source.html index 5732151..934af39 100644 --- a/docs/source_docs/files/_nv_blast_family_graph_8h-source.html +++ b/docs/source_docs/files/_nv_blast_family_graph_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/lowlevel/source/NvBlastFamilyGraph.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/lowlevel/source/NvBlastFamilyGraph.h Source File @@ -35,167 +35,184 @@
  • File Members
  • -

    sdk/lowlevel/source/NvBlastFamilyGraph.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 NVBLASTFAMILYGRAPH_H
    -00012 #define NVBLASTFAMILYGRAPH_H
    -00013 
    -00014 
    -00015 #include "NvBlastSupportGraph.h"
    -00016 #include "NvBlastFixedArray.h"
    -00017 #include "NvBlastFixedBitmap.h"
    -00018 #include "NvBlastFixedBoolArray.h"
    -00019 #include "NvBlastMath.h"
    -00020 #include "NvBlastFixedPriorityQueue.h"
    -00021 #include "NvBlastPreprocessorInternal.h"
    -00022 #include "NvBlastMemory.h"
    -00023 
    -00024 
    -00025 namespace Nv
    -00026 {
    -00027 namespace Blast
    -00028 {
    -00029 
    -00030 
    -00031 typedef uint32_t NodeIndex;
    -00032 typedef NodeIndex IslandId;
    -00033 typedef uint32_t ActorIndex;
    -00034 
    -00041 class FamilyGraph
    -00042 {
    -00043 public:
    -00044 
    +

    sdk/lowlevel/source/NvBlastFamilyGraph.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTFAMILYGRAPH_H
    +00030 #define NVBLASTFAMILYGRAPH_H
    +00031 
    +00032 
    +00033 #include "NvBlastSupportGraph.h"
    +00034 #include "NvBlastFixedArray.h"
    +00035 #include "NvBlastFixedBitmap.h"
    +00036 #include "NvBlastFixedBoolArray.h"
    +00037 #include "NvBlastMath.h"
    +00038 #include "NvBlastFixedPriorityQueue.h"
    +00039 #include "NvBlastMemory.h"
    +00040 
    +00041 
    +00042 namespace Nv
    +00043 {
    +00044 namespace Blast
    +00045 {
     00046 
    -00052     FamilyGraph(const SupportGraph* graph);
    -00053 
    -00054 
    -00063     static size_t   requiredMemorySize(uint32_t nodeCount, uint32_t bondCount)
    -00064     {
    -00065         return fillMemory(nullptr, nodeCount, bondCount);
    -00066     }
    -00067 
    -00068 
    +00047 
    +00048 typedef uint32_t NodeIndex;
    +00049 typedef NodeIndex IslandId;
    +00050 typedef uint32_t ActorIndex;
    +00051 
    +00058 class FamilyGraph
    +00059 {
    +00060 public:
    +00061 
    +00063 
    +00069     FamilyGraph(const SupportGraph* graph);
     00070 
    -00077     void            initialize(ActorIndex actorIndex, const SupportGraph* graph);
    -00078 
    -00087     bool            notifyEdgeRemoved(ActorIndex actorIndex, NodeIndex node0, NodeIndex node1, const SupportGraph* graph);
    -00088     bool            notifyEdgeRemoved(ActorIndex actorIndex, NodeIndex node0, NodeIndex node1, uint32_t bondIndex, const SupportGraph* graph);
    -00089 
    -00090     bool            notifyNodeRemoved(ActorIndex actorIndex, NodeIndex nodeIndex, const SupportGraph* graph);
    -00091 
    -00102     uint32_t        findIslands(ActorIndex actorIndex, void* scratch, const SupportGraph* graph);
    -00103 
    -00111     static size_t   findIslandsRequiredScratch(uint32_t graphNodeCount);
    -00112 
    -00113 
    -00115 
    -00122     NvBlastBlockData(IslandId, m_islandIdsOffset, getIslandIds);
    -00123 
    -00127     NvBlastBlockData(NodeIndex, m_dirtyNodeLinksOffset, getDirtyNodeLinks);
    -00128 
    -00132     NvBlastBlockData(uint32_t, m_firstDirtyNodeIndicesOffset, getFirstDirtyNodeIndices);
    -00133 
    -00137     NvBlastBlockData(NodeIndex, m_fastRouteOffset, getFastRoute);
    -00138 
    -00142     NvBlastBlockData(uint32_t, m_hopCountsOffset, getHopCounts);
    -00143 
    -00147     NvBlastBlockData(FixedBoolArray, m_isEdgeRemovedOffset, getIsEdgeRemoved);
    -00148 
    -00152     NvBlastBlockData(FixedBoolArray, m_isNodeInDirtyListOffset, getIsNodeInDirtyList);
    -00153 
    -00154 
    -00156 
    -00157     uint32_t    getEdgesCount(const SupportGraph* graph) const;
    -00158     bool        hasEdge(NodeIndex node0, NodeIndex node1, const SupportGraph* graph) const;
    -00159     bool        canFindRoot(NodeIndex startNode, NodeIndex targetNode, FixedArray<NodeIndex>* visitedNodes, const SupportGraph* graph);
    +00071 
    +00080     static size_t   requiredMemorySize(uint32_t nodeCount, uint32_t bondCount)
    +00081     {
    +00082         return fillMemory(nullptr, nodeCount, bondCount);
    +00083     }
    +00084 
    +00085 
    +00087 
    +00094     void            initialize(ActorIndex actorIndex, const SupportGraph* graph);
    +00095 
    +00104     bool            notifyEdgeRemoved(ActorIndex actorIndex, NodeIndex node0, NodeIndex node1, const SupportGraph* graph);
    +00105     bool            notifyEdgeRemoved(ActorIndex actorIndex, NodeIndex node0, NodeIndex node1, uint32_t bondIndex, const SupportGraph* graph);
    +00106 
    +00107     bool            notifyNodeRemoved(ActorIndex actorIndex, NodeIndex nodeIndex, const SupportGraph* graph);
    +00108 
    +00119     uint32_t        findIslands(ActorIndex actorIndex, void* scratch, const SupportGraph* graph);
    +00120 
    +00128     static size_t   findIslandsRequiredScratch(uint32_t graphNodeCount);
    +00129 
    +00130 
    +00132 
    +00139     NvBlastBlockData(IslandId, m_islandIdsOffset, getIslandIds);
    +00140 
    +00144     NvBlastBlockData(NodeIndex, m_dirtyNodeLinksOffset, getDirtyNodeLinks);
    +00145 
    +00149     NvBlastBlockData(uint32_t, m_firstDirtyNodeIndicesOffset, getFirstDirtyNodeIndices);
    +00150 
    +00154     NvBlastBlockData(NodeIndex, m_fastRouteOffset, getFastRoute);
    +00155 
    +00159     NvBlastBlockData(uint32_t, m_hopCountsOffset, getHopCounts);
     00160 
    -00161 
    -00162 private:
    -00163 
    -00164     FamilyGraph& operator = (const FamilyGraph&);
    +00164     NvBlastBlockData(FixedBoolArray, m_isEdgeRemovedOffset, getIsEdgeRemoved);
     00165 
    -00167 
    -00171     struct TraversalState
    -00172     {
    -00173         NodeIndex mNodeIndex;
    -00174         uint32_t mCurrentIndex;
    -00175         uint32_t mPrevIndex;
    -00176         uint32_t mDepth;
    +00169     NvBlastBlockData(FixedBoolArray, m_isNodeInDirtyListOffset, getIsNodeInDirtyList);
    +00170 
    +00171 
    +00173 
    +00174     uint32_t    getEdgesCount(const SupportGraph* graph) const;
    +00175     bool        hasEdge(NodeIndex node0, NodeIndex node1, const SupportGraph* graph) const;
    +00176     bool        canFindRoot(NodeIndex startNode, NodeIndex targetNode, FixedArray<NodeIndex>* visitedNodes, const SupportGraph* graph);
     00177 
    -00178         TraversalState()
    -00179         {
    -00180         }
    -00181 
    -00182         TraversalState(NodeIndex nodeIndex, uint32_t currentIndex, uint32_t prevIndex, uint32_t depth) :
    -00183             mNodeIndex(nodeIndex), mCurrentIndex(currentIndex), mPrevIndex(prevIndex), mDepth(depth)
    -00184         {
    -00185         }
    -00186     };
    -00187 
    -00191     struct QueueElement
    -00192     {
    -00193         TraversalState* mState;
    -00194         uint32_t mHopCount;
    -00195 
    -00196         QueueElement()
    -00197         {
    -00198         }
    -00199 
    -00200         QueueElement(TraversalState* state, uint32_t hopCount) : mState(state), mHopCount(hopCount)
    +00178 
    +00179 private:
    +00180 
    +00181     FamilyGraph& operator = (const FamilyGraph&);
    +00182 
    +00184 
    +00188     struct TraversalState
    +00189     {
    +00190         NodeIndex mNodeIndex;
    +00191         uint32_t mCurrentIndex;
    +00192         uint32_t mPrevIndex;
    +00193         uint32_t mDepth;
    +00194 
    +00195         TraversalState()
    +00196         {
    +00197         }
    +00198 
    +00199         TraversalState(NodeIndex nodeIndex, uint32_t currentIndex, uint32_t prevIndex, uint32_t depth) :
    +00200             mNodeIndex(nodeIndex), mCurrentIndex(currentIndex), mPrevIndex(prevIndex), mDepth(depth)
     00201         {
     00202         }
     00203     };
     00204 
    -00208     struct NodeComparator
    +00208     struct QueueElement
     00209     {
    -00210         NodeComparator()
    -00211         {
    -00212         }
    -00213 
    -00214         bool operator() (const QueueElement& node0, const QueueElement& node1) const
    -00215         {
    -00216             return node0.mHopCount < node1.mHopCount;
    -00217         }
    -00218     private:
    -00219         NodeComparator& operator = (const NodeComparator&);
    +00210         TraversalState* mState;
    +00211         uint32_t mHopCount;
    +00212 
    +00213         QueueElement()
    +00214         {
    +00215         }
    +00216 
    +00217         QueueElement(TraversalState* state, uint32_t hopCount) : mState(state), mHopCount(hopCount)
    +00218         {
    +00219         }
     00220     };
     00221 
    -00225     typedef FixedPriorityQueue<QueueElement, NodeComparator> NodePriorityQueue;
    -00226 
    -00227 
    -00229 
    -00240     static size_t   fillMemory(FamilyGraph* familyGraph, uint32_t nodeCount, uint32_t bondCount);
    -00241 
    -00245     bool            findRoute(NodeIndex startNode, NodeIndex targetNode, IslandId islandId, FixedArray<TraversalState>* visitedNodes, FixedBitmap* isNodeWitness, NodePriorityQueue* priorityQueue, const SupportGraph* graph);
    +00225     struct NodeComparator
    +00226     {
    +00227         NodeComparator()
    +00228         {
    +00229         }
    +00230 
    +00231         bool operator() (const QueueElement& node0, const QueueElement& node1) const
    +00232         {
    +00233             return node0.mHopCount < node1.mHopCount;
    +00234         }
    +00235     private:
    +00236         NodeComparator& operator = (const NodeComparator&);
    +00237     };
    +00238 
    +00242     typedef FixedPriorityQueue<QueueElement, NodeComparator> NodePriorityQueue;
    +00243 
    +00244 
     00246 
    -00250     bool            tryFastPath(NodeIndex startNode, NodeIndex targetNode, IslandId islandId, FixedArray<TraversalState>* visitedNodes, FixedBitmap* isNodeWitness, const SupportGraph* graph);
    -00251 
    -00257     void            unwindRoute(uint32_t traversalIndex, NodeIndex lastNode, uint32_t hopCount, IslandId id, FixedArray<TraversalState>* visitedNodes);
    +00257     static size_t   fillMemory(FamilyGraph* familyGraph, uint32_t nodeCount, uint32_t bondCount);
     00258 
    -00262     void            addToDirtyNodeList(ActorIndex actorIndex, NodeIndex node);
    +00262     bool            findRoute(NodeIndex startNode, NodeIndex targetNode, IslandId islandId, FixedArray<TraversalState>* visitedNodes, FixedBitmap* isNodeWitness, NodePriorityQueue* priorityQueue, const SupportGraph* graph);
     00263 
    -00267     NodeIndex       getAdjacentNode(uint32_t adjacencyIndex, const SupportGraph* graph) const
    -00268     {
    -00269         const uint32_t bondIndex = graph->getAdjacentBondIndices()[adjacencyIndex];
    -00270         return getIsEdgeRemoved()->test(bondIndex) ? invalidIndex<uint32_t>() : graph->getAdjacentNodeIndices()[adjacencyIndex];
    -00271     }
    -00272 
    -00273 };
    -00274 
    +00267     bool            tryFastPath(NodeIndex startNode, NodeIndex targetNode, IslandId islandId, FixedArray<TraversalState>* visitedNodes, FixedBitmap* isNodeWitness, const SupportGraph* graph);
    +00268 
    +00274     void            unwindRoute(uint32_t traversalIndex, NodeIndex lastNode, uint32_t hopCount, IslandId id, FixedArray<TraversalState>* visitedNodes);
     00275 
    -00276 } // namespace Blast
    -00277 } // namespace Nv
    -00278 
    -00279 
    -00280 #endif // ifndef NVBLASTFAMILYGRAPH_H
    +00279     void            addToDirtyNodeList(ActorIndex actorIndex, NodeIndex node);
    +00280 
    +00284     NodeIndex       getAdjacentNode(uint32_t adjacencyIndex, const SupportGraph* graph) const
    +00285     {
    +00286         const uint32_t bondIndex = graph->getAdjacentBondIndices()[adjacencyIndex];
    +00287         return getIsEdgeRemoved()->test(bondIndex) ? invalidIndex<uint32_t>() : graph->getAdjacentNodeIndices()[adjacencyIndex];
    +00288     }
    +00289 
    +00290 };
    +00291 
    +00292 
    +00293 } // namespace Blast
    +00294 } // namespace Nv
    +00295 
    +00296 
    +00297 #endif // ifndef NVBLASTFAMILYGRAPH_H
     
    -

    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];
    +

    sdk/common/NvBlastFixedArray.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTFIXEDARRAY_H
    +00030 #define NVBLASTFIXEDARRAY_H
    +00031 
    +00032 #include "NvBlastAssert.h"
    +00033 #include "NvBlastMemory.h"
    +00034 
    +00035 namespace Nv
    +00036 {
    +00037 namespace Blast
    +00038 {
    +00039 
    +00063 template <class T>
    +00064 class FixedArray
    +00065 {
    +00066 public:
    +00067     explicit FixedArray() : m_size(0)
    +00068     {
    +00069     }
    +00070 
    +00071     static size_t requiredMemorySize(uint32_t capacity)
    +00072     {
    +00073         return align16(sizeof(FixedArray<T>)) + align16(capacity * sizeof(T));
    +00074     }
    +00075 
    +00076     NV_FORCE_INLINE T& pushBack(T& t)
    +00077     {
    +00078         new (data() + m_size) T(t);
    +00079         return data()[m_size++];
    +00080     }
    +00081 
    +00082     T popBack()
    +00083     {
    +00084         NVBLAST_ASSERT(m_size);
    +00085         T t = data()[m_size - 1];
    +00086         data()[--m_size].~T();
    +00087         return t;
     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];
    +00090     void clear()
    +00091     {
    +00092         for(T* first = data(); first < data() + m_size; ++first)
    +00093             first->~T();
    +00094         m_size = 0;
    +00095     }
    +00096 
    +00097     NV_FORCE_INLINE void forceSize_Unsafe(uint32_t s)
    +00098     {
    +00099         m_size = s;
     00100     }
     00101 
    -00102     NV_FORCE_INLINE const T& at(uint32_t idx) const
    -00103     {
    +00102     NV_FORCE_INLINE T& operator[](uint32_t idx)
    +00103     {
     00104         NVBLAST_ASSERT(idx < m_size);
     00105         return data()[idx];
     00106     }
     00107 
    -00108     NV_FORCE_INLINE uint32_t size() const
    +00108     NV_FORCE_INLINE const T& operator[](uint32_t idx) 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
    +00110         NVBLAST_ASSERT(idx < m_size);
    +00111         return data()[idx];
    +00112     }
    +00113 
    +00114     NV_FORCE_INLINE T& at(uint32_t idx)
    +00115     {
    +00116         NVBLAST_ASSERT(idx < m_size);
    +00117         return data()[idx];
    +00118     }
    +00119 
    +00120     NV_FORCE_INLINE const T& at(uint32_t idx) const
    +00121     {
    +00122         NVBLAST_ASSERT(idx < m_size);
    +00123         return data()[idx];
    +00124     }
    +00125 
    +00126     NV_FORCE_INLINE uint32_t size() const
    +00127     {
    +00128         return m_size;
    +00129     }
    +00130 
    +00131 private:
    +00132     uint32_t m_size;
    +00133 
    +00134     NV_FORCE_INLINE T* data()
    +00135     {
    +00136         return (T*)((char*)this + sizeof(FixedArray<T>));
    +00137     }
    +00138 
    +00139 private:
    +00140     FixedArray(const FixedArray& that);
    +00141 };
    +00142 
    +00143 } // namespace Blast
    +00144 } // namespace Nv
    +00145 
    +00146 #endif // ifndef NVBLASTFIXEDARRAY_H
     
    -

    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));
    +

    sdk/common/NvBlastFixedBitmap.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTFIXEDBITMAP_H
    +00030 #define NVBLASTFIXEDBITMAP_H
    +00031 
    +00032 #include "NvBlastAssert.h"
    +00033 #include "NvBlastMemory.h"
    +00034 #include <cstring>
    +00035 
    +00036 namespace Nv
    +00037 {
    +00038 namespace Blast
    +00039 {
    +00040 
    +00063 class FixedBitmap
    +00064 {
    +00065 public:
    +00066     explicit FixedBitmap(uint32_t bitsCount)
    +00067     {
    +00068         m_bitsCount = bitsCount;
    +00069     }
    +00070 
    +00071     static uint32_t getWordsCount(uint32_t bitsCount)
    +00072     {
    +00073         return (bitsCount + 31) >> 5;
    +00074     }
    +00075 
    +00076     static size_t requiredMemorySize(uint32_t bitsCount)
    +00077     {
    +00078         return align16(sizeof(FixedBitmap)) + align16(getWordsCount(bitsCount) * sizeof(uint32_t));
    +00079     }
    +00080 
    +00081     void clear()
    +00082     {
    +00083         memset(data(), 0, getWordsCount(m_bitsCount) * sizeof(uint32_t));
     00084     }
     00085 
    -00086     void set(uint32_t index)
    +00086     void fill()
     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));
    +00088         const uint32_t wordCount = getWordsCount(m_bitsCount);
    +00089         uint32_t* mem = data();
    +00090         memset(mem, 0xFF, wordCount * sizeof(uint32_t));
    +00091         const uint32_t bitsRemainder = m_bitsCount & 31;
    +00092         if (bitsRemainder > 0)
    +00093         {
    +00094             mem[wordCount - 1] &= ~(0xFFFFFFFF << bitsRemainder);
    +00095         }
     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
    +00098     int test(uint32_t index) const
    +00099     {
    +00100         NVBLAST_ASSERT(index < m_bitsCount);
    +00101         return data()[index >> 5] & (1 << (index & 31));
    +00102     }
    +00103 
    +00104     void set(uint32_t index)
    +00105     {
    +00106         NVBLAST_ASSERT(index < m_bitsCount);
    +00107         data()[index >> 5] |= 1 << (index & 31);
    +00108     }
    +00109 
    +00110     void reset(uint32_t index)
    +00111     {
    +00112         NVBLAST_ASSERT(index < m_bitsCount);
    +00113         data()[index >> 5] &= ~(1 << (index & 31));
    +00114     }
    +00115 
    +00116 private:
    +00117     uint32_t m_bitsCount;
    +00118 
    +00119     NV_FORCE_INLINE uint32_t* data()
    +00120     {
    +00121         return (uint32_t*)((char*)this + sizeof(FixedBitmap));
    +00122     }
    +00123 
    +00124     NV_FORCE_INLINE const uint32_t* data() const
    +00125     {
    +00126         return (uint32_t*)((char*)this + sizeof(FixedBitmap));
    +00127     }
    +00128 
    +00129 private:
    +00130     FixedBitmap(const FixedBitmap& that);
    +00131 };
    +00132 
    +00133 } // namespace Blast
    +00134 } // namespace Nv
    +00135 
    +00136 #endif // ifndef NVBLASTFIXEDBITMAP_H
     
    -

    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;
    +

    sdk/common/NvBlastFixedBoolArray.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTFIXEDBOOLARRAY_H
    +00030 #define NVBLASTFIXEDBOOLARRAY_H
    +00031 
    +00032 #include "NvBlastAssert.h"
    +00033 #include "NvBlastMemory.h"
    +00034 #include <cstring>
    +00035 
    +00036 namespace Nv
    +00037 {
    +00038 namespace Blast
    +00039 {
    +00040 
    +00063 class FixedBoolArray
    +00064 {
    +00065 public:
    +00066     explicit FixedBoolArray(uint32_t size)
    +00067     {
    +00068         m_size = size;
    +00069     }
    +00070 
    +00071     static size_t requiredMemorySize(uint32_t size)
    +00072     {
    +00073         return align16(sizeof(FixedBoolArray)) + align16(size);
    +00074     }
    +00075 
    +00076     void clear()
    +00077     {
    +00078         memset(data(), 0, m_size);
    +00079     }
    +00080 
    +00081     void fill()
    +00082     {
    +00083         memset(data(), 1, m_size);
     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
    +00086     int test(uint32_t index) const
    +00087     {
    +00088         NVBLAST_ASSERT(index < m_size);
    +00089         return data()[index];
    +00090     }
    +00091 
    +00092     void set(uint32_t index)
    +00093     {
    +00094         NVBLAST_ASSERT(index < m_size);
    +00095         data()[index] = 1;
    +00096     }
    +00097 
    +00098     void reset(uint32_t index)
    +00099     {
    +00100         NVBLAST_ASSERT(index < m_size);
    +00101         data()[index] = 0;
    +00102     }
    +00103 
    +00104 private:
    +00105     uint32_t m_size;
    +00106 
    +00107     NV_FORCE_INLINE char* data()
    +00108     {
    +00109         return ((char*)this + sizeof(FixedBoolArray));
    +00110     }
    +00111 
    +00112     NV_FORCE_INLINE const char* data() const
    +00113     {
    +00114         return ((char*)this + sizeof(FixedBoolArray));
    +00115     }
    +00116 
    +00117 private:
    +00118     FixedBoolArray(const FixedBoolArray& that);
    +00119 };
    +00120 
    +00121 } // namespace Blast
    +00122 } // namespace Nv
    +00123 
    +00124 #endif // ifndef NVBLASTFIXEDBOOLARRAY_H
     
    -

    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);
    +

    sdk/common/NvBlastFixedPriorityQueue.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTFIXEDPRIORITYQUEUE_H
    +00030 #define NVBLASTFIXEDPRIORITYQUEUE_H
    +00031 
    +00032 #include "NvBlastAssert.h"
    +00033 #include "NvBlastMemory.h"
    +00034 
    +00035 namespace Nv
    +00036 {
    +00037 
    +00038 namespace Blast
    +00039 {
    +00040 
    +00062 template <typename A>
    +00063 struct Less
    +00064 {
    +00065     bool operator()(const A& a, const A& b) const
    +00066     {
    +00067         return a < b;
    +00068     }
    +00069 };
    +00070 
    +00071 
    +00072 template<class Element, class Comparator = Less<Element> >
    +00073 class FixedPriorityQueue : protected Comparator // inherit so that stateless comparators take no space
    +00074 {
    +00075 public:
    +00076     FixedPriorityQueue(const Comparator& less = Comparator()) : Comparator(less), mHeapSize(0)
    +00077     {
    +00078     }
    +00079         
    +00080     ~FixedPriorityQueue()
    +00081     {
    +00082     }
    +00083 
    +00084     static size_t requiredMemorySize(uint32_t capacity)
    +00085     {
    +00086         return align16(sizeof(FixedPriorityQueue<Element, Comparator>)) + align16(capacity * sizeof(Element));
     00087     }
     00088         
    -00090     void clear()
    -00091     {
    -00092         mHeapSize = 0;
    -00093     }  
    +00090     const Element top() const
    +00091     {
    +00092         return data()[0];
    +00093     }
     00094 
    -00096     void push(const Element& value)
    +00096     Element top()
     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;
    +00098         return data()[0];
    +00099     }
    +00100         
    +00102     bool empty() const
    +00103     {
    +00104         return (mHeapSize == 0);
    +00105     }
    +00106         
    +00108     void clear()
    +00109     {
    +00110         mHeapSize = 0;
    +00111     }  
    +00112 
    +00114     void push(const Element& value)
    +00115     {
    +00116         uint32_t newIndex;
    +00117         uint32_t parentIndex = parent(mHeapSize);
    +00118 
    +00119         for (newIndex = mHeapSize; newIndex > 0 && compare(value, data()[parentIndex]); newIndex = parentIndex, parentIndex= parent(newIndex)) 
    +00120         {
    +00121             data()[ newIndex ] = data()[parentIndex];
    +00122         }
    +00123         data()[newIndex] = value; 
    +00124         mHeapSize++;
    +00125         NVBLAST_ASSERT(valid());
    +00126     }
     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         }
    +00129     Element pop()
    +00130     {
    +00131         NVBLAST_ASSERT(mHeapSize > 0);
    +00132         uint32_t i, child;
    +00133         //try to avoid LHS
    +00134         uint32_t tempHs = mHeapSize-1;
    +00135         mHeapSize = tempHs;
    +00136         Element min = data()[0];
    +00137         Element last = data()[tempHs];
    +00138             
    +00139         for (i = 0; (child = left(i)) < tempHs; i = child) 
    +00140         {
    +00141             /* Find highest priority child */
    +00142             const uint32_t rightChild = child + 1;
    +00143             
    +00144             child += ((rightChild < tempHs) & compare((data()[rightChild]), (data()[child]))) ? 1 : 0;
    +00145 
    +00146             if(compare(last, data()[child]))
    +00147                 break;
     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
    +00149             data()[i] = data()[child];
    +00150         }
    +00151         data()[ i ] = last;
    +00152             
    +00153         NVBLAST_ASSERT(valid());
    +00154         return min;
    +00155     } 
    +00156 
    +00158     bool valid() const
    +00159     {
    +00160         const Element& min = data()[0];
    +00161         for(uint32_t i=1; i<mHeapSize; ++i)
    +00162         {
    +00163             if(compare(data()[i], min))
    +00164                 return false;
    +00165         }
    +00166 
    +00167         return true;
    +00168     }
    +00169 
    +00171     uint32_t size() const
     00172     {
    -00173         return Comparator::operator()(a,b);
    +00173         return mHeapSize;
     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 };
    +00176 private:
    +00177     uint32_t mHeapSize;
    +00178 
    +00179     NV_FORCE_INLINE Element* data()
    +00180     {
    +00181         return (Element*)((char*)this + sizeof(FixedPriorityQueue<Element, Comparator>));
    +00182     }
    +00183 
    +00184     NV_FORCE_INLINE Element* data() const
    +00185     {
    +00186         return (Element*)((char*)this + sizeof(FixedPriorityQueue<Element, Comparator>));
    +00187     }
     00188 
    -00189 } // namespace Blast
    -00190 } // namespace Nv
    -00191 
    -00192 #endif // ifndef NVBLASTFIXEDPRIORITYQUEUE_H
    +00189     bool compare(const Element& a, const Element& b) const
    +00190     {
    +00191         return Comparator::operator()(a,b);
    +00192     }
    +00193 
    +00194     static uint32_t left(uint32_t nodeIndex) 
    +00195     {
    +00196         return (nodeIndex << 1) + 1;
    +00197     }
    +00198         
    +00199     static uint32_t parent(uint32_t nodeIndex) 
    +00200     {
    +00201         return (nodeIndex - 1) >> 1;
    +00202     }
    +00203 
    +00204     FixedPriorityQueue<Element, Comparator>& operator = (const FixedPriorityQueue<Element, Comparator>);
    +00205 };
    +00206 
    +00207 } // namespace Blast
    +00208 } // namespace Nv
    +00209 
    +00210 #endif // ifndef NVBLASTFIXEDPRIORITYQUEUE_H
     
    -

    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];
    +

    sdk/common/NvBlastGeometry.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTGEOMETRY_H
    +00030 #define NVBLASTGEOMETRY_H
    +00031 
    +00032 #include "NvBlastTypes.h"
    +00033 #include "NvBlastMath.h"
    +00034 #include "NvBlastAssert.h"
    +00035 
    +00036 #include <limits>
     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];
    +00038 
    +00039 namespace Nv {
    +00040 namespace Blast{
    +00041 
    +00042 
    +00062 NV_FORCE_INLINE uint32_t findClosestNode(const float point[4], 
    +00063     const uint32_t firstGraphNodeIndex, const uint32_t* familyGraphNodeIndexLinks,
    +00064     const uint32_t* adjacencyPartition, const uint32_t* adjacentNodeIndices, const uint32_t* adjacentBondIndices,
    +00065     const NvBlastBond* assetBonds, const float* bondHealths,
    +00066     const NvBlastChunk* assetChunks, const float* supportChunkHealths, const uint32_t* chunkIndices)
    +00067 {
    +00068     // firstGraphNodeIndex could still be the world chunk, however
    +00069     // there should be no way a single-node actor that is just the world chunk exists.
    +00070     uint32_t nodeIndex = firstGraphNodeIndex;
    +00071     // Since there should always be a regular chunk in the graph, it is possible to initialize closestNode
    +00072     // as world chunk index but it would always evaluate to some meaningful node index eventually.
    +00073     uint32_t closestNode = nodeIndex;
     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 }
    +00076     // find the closest healthy chunk in the graph by its centroid to point distance
    +00077     while (!Nv::Blast::isInvalidIndex(nodeIndex))
    +00078     {
    +00079         if (supportChunkHealths[nodeIndex] > 0.0f)
    +00080         {
    +00081             uint32_t chunkIndex = chunkIndices[nodeIndex];
    +00082             if (!isInvalidIndex(chunkIndex)) // Invalid if this is the world chunk
    +00083             {
    +00084                 const NvBlastChunk& chunk = assetChunks[chunkIndex];
    +00085                 const float* centroid = chunk.centroid;
    +00086 
    +00087                 float d[3]; VecMath::sub(point, centroid, d);
    +00088                 float dist = VecMath::dot(d, d);
    +00089 
    +00090                 if (dist < minDist)
    +00091                 {
    +00092                     minDist = dist;
    +00093                     closestNode = nodeIndex;
    +00094                 }
    +00095             }
    +00096         }
    +00097         nodeIndex = familyGraphNodeIndexLinks[nodeIndex];
    +00098     }
    +00099 
    +00100     // as long as the world chunk is not input as a single-node graph actor
    +00101     NVBLAST_ASSERT(!isInvalidIndex(chunkIndices[closestNode]));
    +00102 
    +00103     bool iterateOnBonds = true;
    +00104     if (iterateOnBonds)
    +00105     {
    +00106         // improve geometric accuracy by looking on which side of the closest bond the point lies
    +00107         // expects bond normals to point from the smaller to the larger node index
     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
    +00109         nodeIndex = closestNode;
    +00110         minDist = std::numeric_limits<float>().max();
    +00111 
    +00112         const uint32_t startIndex = adjacencyPartition[nodeIndex];
    +00113         const uint32_t stopIndex = adjacencyPartition[nodeIndex + 1];
    +00114 
    +00115         for (uint32_t adjacentIndex = startIndex; adjacentIndex < stopIndex; adjacentIndex++)
    +00116         {
    +00117             const uint32_t neighbourIndex = adjacentNodeIndices[adjacentIndex];
    +00118             const uint32_t neighbourChunk = chunkIndices[neighbourIndex];
    +00119             if (!isInvalidIndex(neighbourChunk)) // Invalid if neighbor is the world chunk
    +00120             {
    +00121                 const uint32_t bondIndex = adjacentBondIndices[adjacentIndex];
    +00122                 // do not follow broken bonds, since it means that neighbor is not actually connected in the graph
    +00123                 if (bondHealths[bondIndex] > 0.0f && supportChunkHealths[neighbourIndex] > 0.0f)
    +00124                 {
    +00125                     const NvBlastBond& bond = assetBonds[bondIndex];
    +00126 
    +00127                     const float* centroid = bond.centroid;
    +00128                     float d[3]; VecMath::sub(point, centroid, d);
    +00129                     float dist = VecMath::dot(d, d);
    +00130 
    +00131                     if (dist < minDist)
    +00132                     {
    +00133                         minDist = dist;
    +00134                         float s = VecMath::dot(d, bond.normal);
    +00135                         if (nodeIndex < neighbourIndex)
    +00136                         {
    +00137                             closestNode = s < 0.0f ? nodeIndex : neighbourIndex;
    +00138                         }
    +00139                         else
    +00140                         {
    +00141                             closestNode = s < 0.0f ? neighbourIndex : nodeIndex;
    +00142                         }
    +00143                     }
    +00144                 }
    +00145             }
    +00146         }
    +00147     }
    +00148 
    +00149     return closestNode;
    +00150 }
    +00151 
    +00152 
    +00171 NV_FORCE_INLINE uint32_t findClosestNode(const float point[4],
    +00172     const uint32_t firstGraphNodeIndex, const uint32_t* familyGraphNodeIndexLinks,
    +00173     const uint32_t* adjacencyPartition, const uint32_t* adjacentNodeIndices, const uint32_t* adjacentBondIndices,
    +00174     const NvBlastBond* bonds, const float* bondHealths, const uint32_t* chunkIndices)
    +00175 {
    +00176     // firstGraphNodeIndex could still be the world chunk, however
    +00177     // there should be no way a single-node actor that is just the world chunk exists.
    +00178     uint32_t nodeIndex = firstGraphNodeIndex;
    +00179     // Since there should always be a regular chunk in the graph, it is possible to initialize closestNode
    +00180     // as world chunk index but it would always evaluate to some meaningful node index eventually.
    +00181     uint32_t closestNode = nodeIndex;
    +00182     float minDist = std::numeric_limits<float>().max();
    +00183 
    +00184     while (!Nv::Blast::isInvalidIndex(nodeIndex))
    +00185     {
    +00186         const uint32_t startIndex = adjacencyPartition[nodeIndex];
    +00187         const uint32_t stopIndex = adjacencyPartition[nodeIndex + 1];
    +00188 
    +00189         for (uint32_t adjacentIndex = startIndex; adjacentIndex < stopIndex; adjacentIndex++)
    +00190         {
    +00191             const uint32_t neighbourIndex = adjacentNodeIndices[adjacentIndex];
    +00192             if (nodeIndex < neighbourIndex)
    +00193             {
    +00194                 const uint32_t bondIndex = adjacentBondIndices[adjacentIndex];
    +00195                 if (bondHealths[bondIndex] > 0.0f)
    +00196                 {
    +00197                     const NvBlastBond& bond = bonds[bondIndex];
    +00198 
    +00199                     const float* centroid = bond.centroid;
    +00200                     float d[3]; VecMath::sub(point, centroid, d);
    +00201                     float dist = VecMath::dot(d, d);
    +00202 
    +00203                     if (dist < minDist)
    +00204                     {
    +00205                         minDist = dist;
    +00206                         // if any of the nodes is the world chunk, use the valid one instead
    +00207                         if (isInvalidIndex(chunkIndices[neighbourIndex]))
    +00208                         {
    +00209                             closestNode = nodeIndex;
    +00210                         }
    +00211                         else if (isInvalidIndex(chunkIndices[nodeIndex]))
    +00212                         {
    +00213                             closestNode = neighbourIndex;
    +00214                         }
    +00215                         else
    +00216                         {
    +00217                             float s = VecMath::dot(d, bond.normal);
    +00218                             closestNode = s < 0 ? nodeIndex : neighbourIndex;
    +00219                         }
    +00220                     }
    +00221                 }
    +00222             }
    +00223         }
    +00224         nodeIndex = familyGraphNodeIndexLinks[nodeIndex];
    +00225     }
    +00226 
    +00227     // as long as the world chunk is not input as a single-node graph actor
    +00228     NVBLAST_ASSERT(!isInvalidIndex(chunkIndices[closestNode]));
    +00229     return closestNode;
    +00230 }
    +00231 
    +00232 
    +00233 } // namespace Blast
    +00234 } // namespace Nv
    +00235 
    +00236 
    +00237 #endif // NVBLASTGEOMETRY_H
     
    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::findClosestNode (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, const uint32_t *chunkIndices)
    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)
    NV_FORCE_INLINE uint32_t Nv::Blast::findClosestNode (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 *assetBonds, const float *bondHealths, const NvBlastChunk *assetChunks, const float *supportChunkHealths, const uint32_t *chunkIndices)

    diff --git a/docs/source_docs/files/_nv_blast_globals_8h-source.html b/docs/source_docs/files/_nv_blast_globals_8h-source.html new file mode 100644 index 0000000..5b04d0c --- /dev/null +++ b/docs/source_docs/files/_nv_blast_globals_8h-source.html @@ -0,0 +1,219 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/globals/include/NvBlastGlobals.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_globals_8h.html b/docs/source_docs/files/_nv_blast_globals_8h.html new file mode 100644 index 0000000..4d03e9c --- /dev/null +++ b/docs/source_docs/files/_nv_blast_globals_8h.html @@ -0,0 +1,578 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/globals/include/NvBlastGlobals.h File Reference + + + + + + + + +
    +

    sdk/globals/include/NvBlastGlobals.h File Reference

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

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

    Classes

    class  Nv::Blast::AllocatorCallback
     Abstract base class for an application defined memory allocator that can be used by toolkit (Tk) or any extension (Ext). More...
    class  Nv::Blast::ErrorCallback
     User defined interface class. Used by the library to emit debug information. More...
    struct  Nv::Blast::ErrorCode
     Error codes. More...

    Namespaces

    namespace  Nv
    namespace  Nv::Blast

    Defines

    #define NVBLAST_ALLOC(_size)   NvBlastGlobalGetAllocatorCallback()->allocate(_size, nullptr, __FILE__, __LINE__)
    #define NVBLAST_ALLOC_NAMED(_size, _name)   NvBlastGlobalGetAllocatorCallback()->allocate(_size, _name, __FILE__, __LINE__)
    #define NVBLAST_CHECK(_code, _expr, _msg, _onFail)
    #define NVBLAST_CHECK_DEBUG(_expr, _msg, _onFail)   NVBLAST_CHECK(Nv::Blast::ErrorCode::eNO_ERROR, _expr, _msg, _onFail)
    #define NVBLAST_CHECK_ERROR(_expr, _msg, _onFail)   NVBLAST_CHECK(Nv::Blast::ErrorCode::eINVALID_OPERATION, _expr, _msg, _onFail)
    #define NVBLAST_CHECK_INFO(_expr, _msg, _onFail)   NVBLAST_CHECK(Nv::Blast::ErrorCode::eDEBUG_INFO, _expr, _msg, _onFail)
    #define NVBLAST_CHECK_WARNING(_expr, _msg, _onFail)   NVBLAST_CHECK(Nv::Blast::ErrorCode::eDEBUG_WARNING, _expr, _msg, _onFail)
    #define NVBLAST_DELETE(obj, T)
    #define NVBLAST_FOURCC(_a, _b, _c, _d)   ( (uint32_t)(_a) | (uint32_t)(_b)<<8 | (uint32_t)(_c)<<16 | (uint32_t)(_d)<<24 )
    #define NVBLAST_FREE(_mem)   NvBlastGlobalGetAllocatorCallback()->deallocate(_mem)
    #define NVBLAST_LOG(_code, _msg)   NvBlastGlobalGetErrorCallback()->reportError(_code, _msg, __FILE__, __LINE__)
    #define NVBLAST_LOG_DEBUG(_msg)   NVBLAST_LOG(Nv::Blast::ErrorCode::eNO_ERROR, _msg)
    #define NVBLAST_LOG_ERROR(_msg)   NVBLAST_LOG(Nv::Blast::ErrorCode::eINVALID_OPERATION, _msg)
    #define NVBLAST_LOG_INFO(_msg)   NVBLAST_LOG(Nv::Blast::ErrorCode::eDEBUG_INFO, _msg)
    #define NVBLAST_LOG_WARNING(_msg)   NVBLAST_LOG(Nv::Blast::ErrorCode::eDEBUG_WARNING, _msg)
    #define NVBLAST_NEW(T)   new (NvBlastGlobalGetAllocatorCallback()->allocate(sizeof(T), #T, __FILE__, __LINE__)) T

    Functions

    NV_INLINE void Nv::Blast::logLL (int type, const char *msg, const char *file, int line)
    NVBLAST_API
    +Nv::Blast::AllocatorCallback
    NvBlastGlobalGetAllocatorCallback ()
    NVBLAST_API
    +Nv::Blast::ErrorCallback
    NvBlastGlobalGetErrorCallback ()
    NVBLAST_API void NvBlastGlobalSetAllocatorCallback (Nv::Blast::AllocatorCallback *allocatorCallback)
    NVBLAST_API void NvBlastGlobalSetErrorCallback (Nv::Blast::ErrorCallback *errorCallback)
    +


    Define Documentation

    + +
    +
    + + + + + + + + + +
    #define NVBLAST_ALLOC (_size   )    NvBlastGlobalGetAllocatorCallback()->allocate(_size, nullptr, __FILE__, __LINE__)
    +
    +
    + +

    +Alloc/Free macros that use global AllocatorCallback. Thus allocated memory is 16-byte aligned. +

    +

    + +

    +
    + + + + + + + + + + + + +
    #define NVBLAST_ALLOC_NAMED (_size,
    _name   )    NvBlastGlobalGetAllocatorCallback()->allocate(_size, _name, __FILE__, __LINE__)
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    #define NVBLAST_CHECK (_code,
    _expr,
    _msg,
    _onFail   ) 
    +
    +
    + +

    +Value:

    {                                                                                                                   \
    +        if(!(_expr))                                                                                                    \
    +        {                                                                                                               \
    +            NVBLAST_LOG(_code, _msg);                                                                                   \
    +            { _onFail; };                                                                                               \
    +        }                                                                                                               \
    +    }
    +
    Check macros that use global AllocatorCallback. The idea is that you pass an expression to check, if it fails it logs and calls '_onFail' code you passed. +
    +

    + +

    +
    + + + + + + + + + + + + + + + +
    #define NVBLAST_CHECK_DEBUG (_expr,
    _msg,
    _onFail   )    NVBLAST_CHECK(Nv::Blast::ErrorCode::eNO_ERROR, _expr, _msg, _onFail)
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + + + + + + + +
    #define NVBLAST_CHECK_ERROR (_expr,
    _msg,
    _onFail   )    NVBLAST_CHECK(Nv::Blast::ErrorCode::eINVALID_OPERATION, _expr, _msg, _onFail)
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + + + + + + + +
    #define NVBLAST_CHECK_INFO (_expr,
    _msg,
    _onFail   )    NVBLAST_CHECK(Nv::Blast::ErrorCode::eDEBUG_INFO, _expr, _msg, _onFail)
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + + + + + + + +
    #define NVBLAST_CHECK_WARNING (_expr,
    _msg,
    _onFail   )    NVBLAST_CHECK(Nv::Blast::ErrorCode::eDEBUG_WARNING, _expr, _msg, _onFail)
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + + + + +
    #define NVBLAST_DELETE (obj,
     ) 
    +
    +
    + +

    +Value:

    Respective delete to NVBLAST_NEW Example: NVBLAST_DELETE(foo, Foo, context); +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    #define NVBLAST_FOURCC (_a,
    _b,
    _c,
    _d   )    ( (uint32_t)(_a) | (uint32_t)(_b)<<8 | (uint32_t)(_c)<<16 | (uint32_t)(_d)<<24 )
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + +
    #define NVBLAST_FREE (_mem   )    NvBlastGlobalGetAllocatorCallback()->deallocate(_mem)
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + + + + +
    #define NVBLAST_LOG (_code,
    _msg   )    NvBlastGlobalGetErrorCallback()->reportError(_code, _msg, __FILE__, __LINE__)
    +
    +
    + +

    +Logging macros that use global AllocatorCallback. +

    +

    + +

    +
    + + + + + + + + + +
    #define NVBLAST_LOG_DEBUG (_msg   )    NVBLAST_LOG(Nv::Blast::ErrorCode::eNO_ERROR, _msg)
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + +
    #define NVBLAST_LOG_ERROR (_msg   )    NVBLAST_LOG(Nv::Blast::ErrorCode::eINVALID_OPERATION, _msg)
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + +
    #define NVBLAST_LOG_INFO (_msg   )    NVBLAST_LOG(Nv::Blast::ErrorCode::eDEBUG_INFO, _msg)
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + +
    #define NVBLAST_LOG_WARNING (_msg   )    NVBLAST_LOG(Nv::Blast::ErrorCode::eDEBUG_WARNING, _msg)
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + +
    #define NVBLAST_NEW (  )    new (NvBlastGlobalGetAllocatorCallback()->allocate(sizeof(T), #T, __FILE__, __LINE__)) T
    +
    +
    + +

    +Placement new with ExtContext allocation. Example: Foo* foo = NVBLAST_NEW(Foo, context) (params); +

    +

    +


    Function Documentation

    + +
    +
    + + + + + + + + +
    NVBLAST_API Nv::Blast::AllocatorCallback* NvBlastGlobalGetAllocatorCallback (  ) 
    +
    +
    + +

    +Retrieve a pointer to the global AllocatorCallback. Default implementation with std allocator is used if user didn't provide it's own. It always exist, 'nullptr' will never be returned.

    +

    Returns:
    the pointer to the global AllocatorCallback.
    + +
    +

    + +

    +
    + + + + + + + + +
    NVBLAST_API Nv::Blast::ErrorCallback* NvBlastGlobalGetErrorCallback (  ) 
    +
    +
    + +

    +Retrieve a pointer to the global ErrorCallback. Default implementation which writes messages to stdout is used if user didn't provide it's own. It always exist, 'nullptr' will never be returned.

    +

    Returns:
    the pointer to the global ErrorCallback.
    + +
    +

    + +

    +
    + + + + + + + + + +
    NVBLAST_API void NvBlastGlobalSetAllocatorCallback (Nv::Blast::AllocatorCallback allocatorCallback  ) 
    +
    +
    + +

    +Set global AllocatorCallback. If 'nullptr' is passed the default AllocatorCallback with std allocator is set. +

    +

    + +

    +
    + + + + + + + + + +
    NVBLAST_API void NvBlastGlobalSetErrorCallback (Nv::Blast::ErrorCallback errorCallback  ) 
    +
    +
    + +

    +Set global ErrorCallback. If 'nullptr' is passed the default ErrorCallback that writes messages to stdout is set. +

    +

    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_hash_map_8h-source.html b/docs/source_docs/files/_nv_blast_hash_map_8h-source.html new file mode 100644 index 0000000..dfd4e2c --- /dev/null +++ b/docs/source_docs/files/_nv_blast_hash_map_8h-source.html @@ -0,0 +1,96 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/common/NvBlastHashMap.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_hash_map_8h.html b/docs/source_docs/files/_nv_blast_hash_map_8h.html new file mode 100644 index 0000000..595fb0a --- /dev/null +++ b/docs/source_docs/files/_nv_blast_hash_map_8h.html @@ -0,0 +1,61 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/common/NvBlastHashMap.h File Reference + + + + + + + + +
    +

    sdk/common/NvBlastHashMap.h File Reference

    #include "NvBlastAllocator.h"
    +#include "PsHashMap.h"
    + +

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

    Classes

    struct  Nv::Blast::HashMap< Key, Value, HashFn >

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_hash_set_8h-source.html b/docs/source_docs/files/_nv_blast_hash_set_8h-source.html new file mode 100644 index 0000000..4917eb4 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_hash_set_8h-source.html @@ -0,0 +1,95 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/common/NvBlastHashSet.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_hash_set_8h.html b/docs/source_docs/files/_nv_blast_hash_set_8h.html new file mode 100644 index 0000000..991a3b9 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_hash_set_8h.html @@ -0,0 +1,61 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/common/NvBlastHashSet.h File Reference + + + + + + + + +
    +

    sdk/common/NvBlastHashSet.h File Reference

    #include "NvBlastAllocator.h"
    +#include "PsHashSet.h"
    + +

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

    Classes

    struct  Nv::Blast::HashSet< Key, HashFn >

    Namespaces

    namespace  Nv
    namespace  Nv::Blast
    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_i_d_d_t_o_8h-source.html b/docs/source_docs/files/_nv_blast_i_d_d_t_o_8h-source.html index 24b4f92..5dea1c1 100644 --- a/docs/source_docs/files/_nv_blast_i_d_d_t_o_8h-source.html +++ b/docs/source_docs/files/_nv_blast_i_d_d_t_o_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/serialization/source/DTO/NvBlastIDDTO.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/DTO/NvBlastIDDTO.h Source File @@ -35,22 +35,40 @@
  • File Members
  • -

    sdk/extensions/serialization/source/DTO/NvBlastIDDTO.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 #pragma once
    -00012 #include "NvBlastTypes.h"
    -00013 #include "generated/NvBlastExtSerializationLL.capn.h"
    -00014 #include "DTOMacros.h"
    -00015 
    -00016 DTO_CLASS_LL(NvBlastID, NvBlastID, ::Nv::Blast::Serialization::UUID)
    +

    sdk/extensions/serialization/source/DTO/NvBlastIDDTO.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #pragma once
    +00030 #include "NvBlastTypes.h"
    +00031 #include "generated/NvBlastExtLlSerialization.capn.h"
    +00032 #include "DTOMacros.h"
    +00033 
    +00034 DTO_CLASS(NvBlastID, NvBlastID, ::Nv::Blast::Serialization::UUID)
     

    sdk/extensions/serialization/source/DTO/NvBlastIDDTO.h File Reference

    #include "NvBlastTypes.h"
    -#include "generated/NvBlastExtSerializationLL.capn.h"
    +#include "generated/NvBlastExtLlSerialization.capn.h"
    #include "DTOMacros.h"

    diff --git a/docs/source_docs/files/_nv_blast_include_windows_8h-source.html b/docs/source_docs/files/_nv_blast_include_windows_8h-source.html index 450c672..f6b2af7 100644 --- a/docs/source_docs/files/_nv_blast_include_windows_8h-source.html +++ b/docs/source_docs/files/_nv_blast_include_windows_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/common/NvBlastIncludeWindows.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/common/NvBlastIncludeWindows.h Source File @@ -40,91 +40,104 @@ 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 +00006 // proprietary rights in and to this software and related documentation and +00007 // any modifications thereto. Any use, reproduction, disclosure, or +00008 // distribution of this software and related documentation without an express +00009 // license agreement from NVIDIA Corporation is strictly prohibited. +00010 // +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. +00015 // +00016 // Information and code furnished is believed to be accurate and reliable. +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such +00018 // information or for any infringement of patents or other rights of third parties that may +00019 // result from its use. No license is granted by implication or otherwise under any patent +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice. +00021 // This code supersedes and replaces all information previously supplied. +00022 // NVIDIA Corporation products are not authorized for use as critical +00023 // components in life support devices or systems without express written approval of +00024 // NVIDIA Corporation. +00025 // +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved. +00027 +00028 +00029 #ifndef NVBLASTINCLUDEWINDOWS_H +00030 #define NVBLASTINCLUDEWINDOWS_H +00031 +00032 #ifndef _WINDOWS_ // windows already included if this is defined 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 +00034 #include "NvBlastPreprocessor.h" +00035 +00036 #ifndef _WIN32 +00037 #error "This file should only be included by Windows builds!!" +00038 #endif +00039 +00040 // We only support >= Windows XP, and we need this for critical section and +00041 #if !NV_WINRT +00042 #define _WIN32_WINNT 0x0501 +00043 #else +00044 #define _WIN32_WINNT 0x0602 +00045 #endif +00046 +00047 // turn off as much as we can for windows. All we really need is the thread functions(critical sections/Interlocked* +00048 // etc) +00049 #define NOGDICAPMASKS +00050 #define NOVIRTUALKEYCODES +00051 #define NOWINMESSAGES +00052 #define NOWINSTYLES +00053 #define NOSYSMETRICS +00054 #define NOMENUS +00055 #define NOICONS +00056 #define NOKEYSTATES +00057 #define NOSYSCOMMANDS +00058 #define NORASTEROPS +00059 #define NOSHOWWINDOW +00060 #define NOATOM +00061 #define NOCLIPBOARD +00062 #define NOCOLOR +00063 #define NOCTLMGR +00064 #define NODRAWTEXT +00065 #define NOGDI +00066 #define NOMB +00067 #define NOMEMMGR +00068 #define NOMETAFILE +00069 #define NOMINMAX +00070 #define NOOPENFILE +00071 #define NOSCROLL +00072 #define NOSERVICE +00073 #define NOSOUND +00074 #define NOTEXTMETRIC +00075 #define NOWH +00076 #define NOWINOFFSETS +00077 #define NOCOMM +00078 #define NOKANJI +00079 #define NOHELP +00080 #define NOPROFILER +00081 #define NODEFERWINDOWPOS +00082 #define NOMCX +00083 #ifndef WIN32_LEAN_AND_MEAN +00084 #define WIN32_LEAN_AND_MEAN +00085 #endif +00086 #if !NV_WINRT +00087 #define NOUSER +00088 #define NONLS +00089 #define NOMSG +00090 #endif +00091 +00092 #pragma warning(push) +00093 #pragma warning(disable : 4668) //'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directives' +00094 #include <windows.h> +00095 #pragma warning(pop) +00096 +00097 #if NV_SSE2 +00098 #include <xmmintrin.h> +00099 #endif +00100 +00101 #endif // #ifndef _WINDOWS_ +00102 +00103 #endif // #ifndef NVBLASTINCLUDEWINDOWS_H

    -

    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 
    +

    sdk/common/NvBlastIndexFns.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2008-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTINDEXFNS_H
    +00030 #define NVBLASTINDEXFNS_H
    +00031 
    +00032 
    +00033 #include "NvBlastTypes.h"
     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
    +00035 #include <cstring>
    +00036 
    +00037 
    +00038 namespace Nv
    +00039 {
    +00040 namespace Blast
    +00041 {
    +00042 
    +00046 template<typename T>
    +00047 NV_INLINE T invalidIndex()
    +00048 {
    +00049     return ~(T)0;
    +00050 }
    +00051 
    +00052 
    +00056 template<typename T>
    +00057 NV_INLINE bool isInvalidIndex(T index)
    +00058 {
    +00059     return index == invalidIndex<T>();
    +00060 }
    +00061 
    +00062 
    +00095 template<typename T>
    +00096 void createIndexStartLookup(T* lookup, T indexBase, T indexRange, T* indexSource, T indexCount, T indexByteStride)
    +00097 {
    +00098     ++indexBase;    // Ordering invalidIndex<T>() as lowest value
    +00099     T indexPos = 0;
    +00100     for (T i = 0; i <= indexRange; ++i)
    +00101     {
    +00102         for (; indexPos < indexCount; ++indexPos, indexSource = (T*)((uintptr_t)indexSource + indexByteStride))
    +00103         {
    +00104             if (*indexSource + 1 >= i + indexBase)  // +1 to order invalidIndex<T>() as lowest value
    +00105             {
    +00106                 lookup[i] = indexPos;
    +00107                 break;
    +00108             }
    +00109         }
    +00110         if (indexPos == indexCount)
    +00111         {
    +00112             lookup[i] = indexPos;
    +00113         }
    +00114     }
    +00115     lookup[indexRange + 1] = indexCount;
    +00116 }
    +00117 
    +00118 
    +00127 template<typename T>
    +00128 void invertMap(T* inverseMap, const T* map, const T size)
    +00129 {
    +00130     memset(inverseMap, invalidIndex<T>(), size*sizeof(T));
    +00131 
    +00132     for (T i = 0; i < size; i++)
    +00133     {
    +00134         if (!isInvalidIndex(map[i]))
    +00135         {
    +00136             inverseMap[map[i]] = i;
    +00137         }
    +00138     }
    +00139 }
    +00140 
    +00141 } // end namespace Blast
    +00142 } // end namespace Nv
    +00143 
    +00144 
    +00145 #endif // #ifndef NVBLASTINDEXFNS_H
     
    -

    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);
    +

    sdk/common/NvBlastIteratorBase.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTITERATORBASE_H
    +00030 #define NVBLASTITERATORBASE_H
    +00031 
     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 }
    +00033 #include "NvBlastIndexFns.h"
    +00034 
    +00035 namespace Nv
    +00036 {
    +00037 namespace Blast
    +00038 {
    +00039 
    +00044 template<typename T>
    +00045 class IteratorBase
    +00046 {
    +00047 public:
    +00049     IteratorBase(T curr);
     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 
    +00052     operator    bool() const;
    +00053 
    +00055     operator    T() const;
    +00056 
    +00057 protected:
    +00058     T   m_curr;
    +00059 };
    +00060 
    +00061 
    +00063 
    +00064 template<typename T>
    +00065 NV_INLINE IteratorBase<T>::IteratorBase(T curr) : m_curr(curr)
    +00066 {
    +00067 }
    +00068 
    +00069 
    +00070 template<typename T>
    +00071 NV_INLINE IteratorBase<T>::operator bool() const
    +00072 {
    +00073     return !isInvalidIndex<T>(m_curr);
    +00074 }
    +00075 
    +00076 
    +00077 template<typename T>
    +00078 NV_INLINE IteratorBase<T>::operator T() const
    +00079 {
    +00080     return m_curr;
    +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);
    +00083 
    +00087 template<typename IndexType>
    +00088 class LListIt : public IteratorBase<IndexType>
    +00089 {
    +00090 public:
    +00091     LListIt(IndexType curr, IndexType* links);
    +00092 
    +00094     uint32_t    operator ++ ();
    +00095 
    +00096 protected:
    +00097     IndexType*  m_links;
    +00098 };
    +00099 
    +00100 
    +00102 
    +00103 template<typename IndexType>
    +00104 NV_INLINE LListIt<IndexType>::LListIt(IndexType curr, IndexType* links) : IteratorBase<IndexType>(curr), m_links(links)
    +00105 {
    +00106 }
     00107 
    -00109     uint32_t    operator ++ ();
    -00110 
    -00111 protected:
    -00112     IndexDLink<IndexType>*  m_links;
    -00113 };
    -00114 
    +00108 
    +00109 template<typename IndexType>
    +00110 NV_INLINE uint32_t LListIt<IndexType>::operator ++ ()
    +00111 {
    +00112     NVBLAST_ASSERT((bool)(*this));
    +00113     return (this->m_curr = m_links[this->m_curr]);
    +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
    +00116 
    +00120 template<typename IndexType>
    +00121 class DListIt : public IteratorBase<IndexType>
    +00122 {
    +00123 public:
    +00124     DListIt(IndexType curr, IndexDLink<IndexType>* links);
    +00125 
    +00127     uint32_t    operator ++ ();
    +00128 
    +00129 protected:
    +00130     IndexDLink<IndexType>*  m_links;
    +00131 };
    +00132 
     00133 
    -00134 
    -00135 #endif // #ifndef NVBLASTITERATORBASE_H
    +00135 
    +00136 template<typename IndexType>
    +00137 NV_INLINE DListIt<IndexType>::DListIt(IndexType curr, IndexDLink<IndexType>* links) : IteratorBase<IndexType>(curr), m_links(links)
    +00138 {
    +00139 }
    +00140 
    +00141 
    +00142 template<typename IndexType>
    +00143 NV_INLINE uint32_t DListIt<IndexType>::operator ++ ()
    +00144 {
    +00145     NVBLAST_ASSERT((bool)(*this));
    +00146     return (this->m_curr = m_links[this->m_curr].m_adj[1]);
    +00147 }
    +00148 
    +00149 } // end namespace Blast
    +00150 } // end namespace Nv
    +00151 
    +00152 
    +00153 #endif // #ifndef NVBLASTITERATORBASE_H
     
    -

    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])
    +

    sdk/common/NvBlastMath.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTMATH_H
    +00030 #define NVBLASTMATH_H
    +00031 
    +00032 #include <math.h>
    +00033 
    +00034 namespace Nv
    +00035 {
    +00036 namespace Blast
    +00037 {
    +00038 
    +00039 namespace VecMath
    +00040 {
    +00041 
    +00042 
    +00043 NV_INLINE void div(float a[3], float divisor)
     00044 {
     00045     for (int i = 0; i < 3; i++)
    -00046         r[i] = a[i] + b[i];
    +00046         a[i] /= divisor;
     00047 }
     00048 
    -00049 NV_INLINE void sub(const float a[3], const float b[3], float r[3])
    +00049 NV_INLINE void mul(float a[3], float multiplier)
     00050 {
     00051     for (int i = 0; i < 3; i++)
    -00052         r[i] = a[i] - b[i];
    +00052         a[i] *= multiplier;
     00053 }
     00054 
    -00055 NV_INLINE float dot(const float a[3], const float b[3])
    +00055 NV_INLINE void add(const float a[3], 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 
    +00057     for (int i = 0; i < 3; i++)
    +00058         b[i] = a[i] + b[i];
    +00059 }
    +00060     
    +00061 NV_INLINE void add(const float a[3], const float b[3], float r[3])
    +00062 {
    +00063     for (int i = 0; i < 3; i++)
    +00064         r[i] = a[i] + b[i];
    +00065 }
    +00066 
    +00067 NV_INLINE void sub(const float a[3], const float b[3], float r[3])
    +00068 {
    +00069     for (int i = 0; i < 3; i++)
    +00070         r[i] = a[i] - b[i];
    +00071 }
     00072 
    -00073 } // namespace VecMath
    -00074 
    -00075 } // namespace Blast
    -00076 } // namespace Nv
    -00077 
    -00078 
    -00079 #endif // #ifndef NVBLASTMATH_H
    +00073 NV_INLINE float dot(const float a[3], const float b[3])
    +00074 {
    +00075     float r = 0;
    +00076     for (int i = 0; i < 3; i++)
    +00077         r += a[i] * b[i];
    +00078     return r;
    +00079 }
    +00080 
    +00081 NV_INLINE float length(const float a[3])
    +00082 {
    +00083     return sqrtf(dot(a, a));
    +00084 }
    +00085 
    +00086 NV_INLINE float dist(const float a[3], const float b[3])
    +00087 {
    +00088     float v[3];
    +00089     sub(a, b, v);
    +00090     return length(v);
    +00091 }
    +00092 
    +00093 NV_INLINE float normal(const float a[3], float r[3])
    +00094 {
    +00095     float d = length(a);
    +00096     for (int i = 0; i < 3; i++)
    +00097         r[i] = a[i] / d;
    +00098 
    +00099     return d;
    +00100 }
    +00101 
    +00102 
    +00103 } // namespace VecMath
    +00104 
    +00105 } // namespace Blast
    +00106 } // namespace Nv
    +00107 
    +00108 
    +00109 #endif // #ifndef NVBLASTMATH_H
     
    -

    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 
    +

    sdk/common/NvBlastMemory.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTMEMORY_H
    +00030 #define NVBLASTMEMORY_H
    +00031 
    +00032 #include <math.h>
     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 
    +00034 namespace Nv
    +00035 {
    +00036 namespace Blast
    +00037 {
    +00038 
    +00039 
    +00045 template<typename T>
    +00046 NV_INLINE T align16(T value)
    +00047 {
    +00048     return (value + 0xF)&~(T)0xF;
    +00049 }
    +00050 
    +00051 
    +00054 template <typename T>
    +00055 NV_INLINE T pointerOffset(void* p, ptrdiff_t offset)
    +00056 {
    +00057     return reinterpret_cast<T>(reinterpret_cast<char*>(p)+offset);
    +00058 }
    +00059 
    +00060 template <typename T>
    +00061 NV_INLINE T pointerOffset(const void* p, ptrdiff_t offset)
    +00062 {
    +00063     return reinterpret_cast<T>(reinterpret_cast<const char*>(p)+offset);
    +00064 }
    +00065 
    +00066 NV_INLINE const void* pointerOffset(const void* p, ptrdiff_t offset)
    +00067 {
    +00068     return pointerOffset<const void*>(p, offset);
    +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)
    +00071 NV_INLINE void* pointerOffset(void* p, ptrdiff_t offset)
    +00072 {
    +00073     return pointerOffset<void*>(p, offset);
    +00074 }
    +00075 
    +00076 } // namespace Blast
    +00077 } // namespace Nv
    +00078 
    +00079 
    +00081 #define NvBlastBlockData(_dataType, _name, _accessor) \
    +00082 _dataType* _accessor() const \
    +00083 { \
    +00084     return (_dataType*)((uintptr_t)this + _name); \
    +00085 } \
    +00086 uint32_t _name
    +00087 
    +00088 
    +00090 #define NvBlastBlockArrayData(_dataType, _name, _accessor, _sizeExpr) \
    +00091 _dataType* _accessor() const \
    +00092 { \
    +00093     return (_dataType*)((uintptr_t)this + _name); \
    +00094 } \
    +00095 uint32_t _accessor##ArraySize() const \
    +00096 { \
    +00097     return _sizeExpr; \
    +00098 } \
    +00099 uint32_t _name
     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
    +00105 #define NvBlastCreateOffsetStart(_baseOffset) \
    +00106 size_t _lastOffset = _baseOffset; \
    +00107 size_t _lastSize = 0
    +00108 
    +00110 #define NvBlastCreateOffsetAlign16(_name, _size) \
    +00111 _name = align16(_lastOffset + _lastSize); \
    +00112 _lastOffset = _name; \
    +00113 _lastSize = _size
    +00114 
    +00116 #define NvBlastCreateOffsetEndAlign16() \
    +00117 align16(_lastOffset + _lastSize)
    +00118 
    +00119 
    +00121 #if NV_WINDOWS_FAMILY
    +00122 #include <malloc.h>
    +00123 #define NvBlastAlloca(x) _alloca(x)
    +00124 #elif NV_LINUX || NV_ANDROID
    +00125 #include <alloca.h>
    +00126 #define NvBlastAlloca(x) alloca(x)
    +00127 #elif NV_APPLE_FAMILY
    +00128 #include <alloca.h>
    +00129 #define NvBlastAlloca(x) alloca(x)
    +00130 #elif NV_PS4
    +00131 #include <memory.h>
    +00132 #define NvBlastAlloca(x) alloca(x)
    +00133 #elif NV_XBOXONE
    +00134 #include <malloc.h>
    +00135 #define NvBlastAlloca(x) alloca(x)
    +00136 #endif
    +00137 
    +00138 #define NvBlastAllocaAligned16(x) (void*)(((uintptr_t)PxAlloca(x + 0xF) + 0xF) & ~(uintptr_t)0xF)
    +00139 
    +00140 
    +00141 #endif // #ifndef NVBLASTMEMORY_H
     
    -

    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
    +

    sdk/lowlevel/include/NvBlastPreprocessor.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTPREPROCESSOR_H
    +00030 #define NVBLASTPREPROCESSOR_H
    +00031 
    +00032 
    +00033 #include "NvPreprocessor.h"
    +00034 
    +00035 
    +00037 #define NVBLAST_API NV_C_EXPORT NV_DLL_EXPORT
    +00038 
    +00039 
    +00040 #endif // ifndef NVBLASTPREPROCESSOR_H
     
    -

    - -

    -
    - - - - - - - - - - - - -
    #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/source_docs/files/_nv_blast_preprocessor_internal_8h-source.html b/docs/source_docs/files/_nv_blast_preprocessor_internal_8h-source.html index 1f2ed78..7a69155 100644 --- a/docs/source_docs/files/_nv_blast_preprocessor_internal_8h-source.html +++ b/docs/source_docs/files/_nv_blast_preprocessor_internal_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/common/NvBlastPreprocessorInternal.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/common/NvBlastPreprocessorInternal.h Source File @@ -35,41 +35,65 @@

  • File Members
  • -

    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 
    +

    sdk/common/NvBlastPreprocessorInternal.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTPREPROCESSORINTERNAL_H
    +00030 #define NVBLASTPREPROCESSORINTERNAL_H
    +00031 
    +00032 
    +00033 #include "NvPreprocessor.h"
    +00034 
     00035 
    -00036 #endif // ifndef NVBLASTPREPROCESSORINTERNAL_H
    +00039 #define NVBLASTLL_LOG_ERROR(_logFn, _msg)       if (_logFn != nullptr) { _logFn(NvBlastMessage::Error, _msg, __FILE__, __LINE__); } ((void)0)
    +00040 #define NVBLASTLL_LOG_WARNING(_logFn, _msg)     if (_logFn != nullptr) { _logFn(NvBlastMessage::Warning, _msg, __FILE__, __LINE__); } ((void)0)
    +00041 #define NVBLASTLL_LOG_INFO(_logFn, _msg)        if (_logFn != nullptr) { _logFn(NvBlastMessage::Info, _msg, __FILE__, __LINE__); } ((void)0)
    +00042 #define NVBLASTLL_LOG_DEBUG(_logFn, _msg)       if (_logFn != nullptr) { _logFn(NvBlastMessage::Debug, _msg, __FILE__, __LINE__); } ((void)0)
    +00043 
    +00044 
    +00046 #define NVBLASTLL_CHECK_PARAMS (NV_DEBUG || NV_CHECKED)
    +00047 
    +00048 
    +00049 #if NVBLASTLL_CHECK_PARAMS
    +00050 #define NVBLASTLL_CHECK(_expr, _logFn, _msg, _onFail)                                                                       \
    +00051     {                                                                                                                   \
    +00052         if(!(_expr))                                                                                                    \
    +00053         {                                                                                                               \
    +00054             if (_logFn) { _logFn(NvBlastMessage::Error, _msg, __FILE__, __LINE__); }                                    \
    +00055             { _onFail; };                                                                                               \
    +00056         }                                                                                                               \
    +00057     }                                                                                                                   
    +00058 #else
    +00059 #define NVBLASTLL_CHECK(_expr, _logFn, _msg, _onFail) NV_UNUSED(_logFn)
    +00060 #endif
    +00061 
    +00062 
    +00063 #endif // ifndef NVBLASTPREPROCESSORINTERNAL_H
     

    + +

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

    + +

    +

    + +

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

    +Macros for more convenient logging +

    +

    + +

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

    + +

    +

    + +

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

    +

    diff --git a/docs/source_docs/files/_nv_blast_profiler_8h-source.html b/docs/source_docs/files/_nv_blast_profiler_8h-source.html index d76954f..b77e4fb 100644 --- a/docs/source_docs/files/_nv_blast_profiler_8h-source.html +++ b/docs/source_docs/files/_nv_blast_profiler_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/lowlevel/include/NvBlastProfiler.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/globals/include/NvBlastProfiler.h Source File @@ -35,42 +35,80 @@

  • File Members
  • -

    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
    +

    sdk/globals/include/NvBlastProfiler.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTPROFILER_H
    +00030 #define NVBLASTPROFILER_H
    +00031 
    +00032 #include "NvBlastPreprocessor.h"
    +00033 
    +00034 
    +00035 namespace Nv
    +00036 {
    +00037 namespace Blast
    +00038 {
    +00039 
    +00040 
    +00044 class ProfilerCallback
    +00045 {
    +00046 protected:
    +00047     virtual ~ProfilerCallback() {}
    +00048 
    +00049 public:
    +00053     virtual void zoneStart(const char* name) = 0;
    +00054 
    +00058     virtual void zoneEnd() = 0;
    +00059 };
    +00060 
    +00061 
    +00065 struct ProfilerDetail
    +00066 {
    +00067     enum Level
    +00068     {
    +00069         LOW,
    +00070         MEDIUM,
    +00071         HIGH
    +00072     };
    +00073 };
    +00074 
    +00075 
    +00076 } // namespace Blast
    +00077 } // namespace Nv
    +00078 
    +00079 
    +00087 NVBLAST_API void NvBlastProfilerSetCallback(Nv::Blast::ProfilerCallback* pcb);
    +00088 
    +00089 
    +00095 NVBLAST_API void NvBlastProfilerSetDetail(Nv::Blast::ProfilerDetail::Level);
    +00096 
    +00097 
    +00098 #endif
     
    -

    sdk/lowlevel/include/NvBlastProfiler.h File Reference

    #include "NvBlastPreprocessor.h"
    +

    sdk/globals/include/NvBlastProfiler.h File Reference

    #include "NvBlastPreprocessor.h"

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

    Classes

    struct  NvBlastProfilerDetail
    class  Nv::Blast::ProfilerCallback
    struct  Nv::Blast::ProfilerDetail

    Namespaces

    namespace  physx
    namespace  Nv

    Functions

    NVBLAST_API void NvBlastProfilerEnablePlatform (bool)
    namespace  Nv::Blast
    NVBLAST_API void NvBlastProfilerSetCallback (physx::PxProfilerCallback *pcb)

    Functions

    NVBLAST_API void NvBlastProfilerSetCallback (Nv::Blast::ProfilerCallback *pcb)
    NVBLAST_API void NvBlastProfilerSetDetail (NvBlastProfilerDetail::Level)
    NVBLAST_API void NvBlastProfilerSetDetail (Nv::Blast::ProfilerDetail::Level)


    Function Documentation

    - -
    -
    - - - - - - - - - -
    NVBLAST_API void NvBlastProfilerEnablePlatform (bool   ) 
    -
    -
    - -

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

    -

    - +

    - + @@ -94,17 +76,17 @@ Enable events for platform specific profiler tools. Currently supported: Nsight,

    -Profiler features are only active in checked, debug and profile builds. Set a callback to PVD or another PxProfilerCallback based profiler. +Profiler features are only active in checked, debug and profile builds. Set a custom profiler callback. May be nullptr (the default).

    - +

    NVBLAST_API void NvBlastProfilerSetCallback (physx::PxProfilerCallback * Nv::Blast::ProfilerCallback pcb  ) 
    - + @@ -114,7 +96,7 @@ Profiler features are only active in checked, debug and profile builds. Set a ca

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

    diff --git a/docs/source_docs/files/_nv_blast_profiler_internal_8h-source.html b/docs/source_docs/files/_nv_blast_profiler_internal_8h-source.html index 37c7e5a..6738dd6 100644 --- a/docs/source_docs/files/_nv_blast_profiler_internal_8h-source.html +++ b/docs/source_docs/files/_nv_blast_profiler_internal_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/profiler/NvBlastProfilerInternal.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/globals/source/NvBlastProfilerInternal.h Source File @@ -35,64 +35,97 @@

  • File Members
  • -

    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     }
    +

    sdk/globals/source/NvBlastProfilerInternal.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTPROFILERINTERNAL_H
    +00030 #define NVBLASTPROFILERINTERNAL_H
    +00031 
    +00032 #include "NvBlastPreprocessor.h"
    +00033 #include "NvBlastProfiler.h"
     00034 
    -00035 private:
    -00036     const char* m_name;
    -00037     NvBlastProfilerDetail::Level m_level;
    -00038 };
    +00035 #if NV_PROFILE || NV_CHECKED || NV_DEBUG
    +00036 
    +00037 NVBLAST_API void NvBlastProfilerBegin(const char* name, Nv::Blast::ProfilerDetail::Level);
    +00038 NVBLAST_API void NvBlastProfilerEnd(const void* name, Nv::Blast::ProfilerDetail::Level);
     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
    +00040 Nv::Blast::ProfilerCallback* NvBlastProfilerGetCallback();
    +00041 Nv::Blast::ProfilerDetail::Level NvBlastProfilerGetDetail();
    +00042 
    +00043 
    +00044 namespace Nv
    +00045 {
    +00046 namespace Blast
    +00047 {
    +00048 
    +00049     
    +00050 class ProfileScope
    +00051 {
    +00052 public:
    +00053     ProfileScope(const char* name, ProfilerDetail::Level level) :m_name(name), m_level(level)
    +00054     {
    +00055         NvBlastProfilerBegin(m_name, m_level);
    +00056     }
    +00057 
    +00058     ~ProfileScope()
    +00059     {
    +00060         NvBlastProfilerEnd(m_name, m_level);
    +00061     }
    +00062 
    +00063 private:
    +00064     const char* m_name;
    +00065     ProfilerDetail::Level m_level;
    +00066 };
    +00067 
    +00068 
    +00069 } // namespace Blast
    +00070 } // namespace Nv
    +00071 
    +00072 
    +00073 #define BLAST_PROFILE_PREFIX                "Blast: "
    +00074 #define BLAST_PROFILE_ZONE_BEGIN(name)      NvBlastProfilerBegin(BLAST_PROFILE_PREFIX name, Nv::Blast::ProfilerDetail::HIGH)
    +00075 #define BLAST_PROFILE_ZONE_END(name)        NvBlastProfilerEnd(BLAST_PROFILE_PREFIX name, Nv::Blast::ProfilerDetail::HIGH)
    +00076 #define BLAST_PROFILE_SCOPE(name, detail)   Nv::Blast::ProfileScope NV_CONCAT(_scope,__LINE__) (BLAST_PROFILE_PREFIX name, detail)
    +00077 #define BLAST_PROFILE_SCOPE_L(name)         BLAST_PROFILE_SCOPE(name, Nv::Blast::ProfilerDetail::LOW)
    +00078 #define BLAST_PROFILE_SCOPE_M(name)         BLAST_PROFILE_SCOPE(name, Nv::Blast::ProfilerDetail::MEDIUM)
    +00079 #define BLAST_PROFILE_SCOPE_H(name)         BLAST_PROFILE_SCOPE(name, Nv::Blast::ProfilerDetail::HIGH)
    +00080 
    +00081 #else
    +00082 
    +00083 #define BLAST_PROFILE_ZONE_BEGIN(name)  
    +00084 #define BLAST_PROFILE_ZONE_END(name)
    +00085 #define BLAST_PROFILE_SCOPE_L(name)
    +00086 #define BLAST_PROFILE_SCOPE_M(name)
    +00087 #define BLAST_PROFILE_SCOPE_H(name)
    +00088 
    +00089 #endif
    +00090 
    +00091 #endif
     
    -

    sdk/profiler/NvBlastProfilerInternal.h File Reference

    #include "NvBlastPreprocessor.h"
    +

    sdk/globals/source/NvBlastProfilerInternal.h File Reference

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

    Go to the source code of this file.

    NVBLAST_API void NvBlastProfilerSetDetail (NvBlastProfilerDetail::Level Nv::Blast::ProfilerDetail::Level   ) 
    - + - + - + - + - +

    Defines

    #define PERF_SCOPE_H(name)
    #define BLAST_PROFILE_SCOPE_H(name)
    #define PERF_SCOPE_L(name)
    #define BLAST_PROFILE_SCOPE_L(name)
    #define PERF_SCOPE_M(name)
    #define BLAST_PROFILE_SCOPE_M(name)
    #define PERF_ZONE_BEGIN(name)
    #define BLAST_PROFILE_ZONE_BEGIN(name)
    #define PERF_ZONE_END(name)
    #define BLAST_PROFILE_ZONE_END(name)

    Define Documentation

    - +
    - + @@ -76,12 +76,12 @@

    - +

    #define PERF_SCOPE_H #define BLAST_PROFILE_SCOPE_H ( name 
    - + @@ -96,12 +96,12 @@

    - +

    #define PERF_SCOPE_L #define BLAST_PROFILE_SCOPE_L ( name 
    - + @@ -116,12 +116,12 @@

    - +

    #define PERF_SCOPE_M #define BLAST_PROFILE_SCOPE_M ( name 
    - + @@ -136,12 +136,12 @@

    - +

    #define PERF_ZONE_BEGIN #define BLAST_PROFILE_ZONE_BEGIN ( name 
    - + diff --git a/docs/source_docs/files/_nv_blast_px_callbacks_8h-source.html b/docs/source_docs/files/_nv_blast_px_callbacks_8h-source.html new file mode 100644 index 0000000..f11cbb1 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_px_callbacks_8h-source.html @@ -0,0 +1,112 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/include/NvBlastPxCallbacks.h Source File + + + + + + + + + + + + diff --git a/docs/source_docs/files/_nv_blast_px_callbacks_8h.html b/docs/source_docs/files/_nv_blast_px_callbacks_8h.html new file mode 100644 index 0000000..b7f64e9 --- /dev/null +++ b/docs/source_docs/files/_nv_blast_px_callbacks_8h.html @@ -0,0 +1,99 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/physx/include/NvBlastPxCallbacks.h File Reference + + + + + + + + +
    +

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

    #include "NvBlastGlobals.h"
    +#include "PxErrorCallback.h"
    +#include "PxAllocatorCallback.h"
    + +

    +Go to the source code of this file.

    #define PERF_ZONE_END #define BLAST_PROFILE_ZONE_END ( name 
    + + + + + + +

    Functions

    NV_INLINE
    +physx::PxAllocatorCallback & 
    NvBlastGetPxAllocatorCallback ()
    NV_INLINE physx::PxErrorCallback & NvBlastGetPxErrorCallback ()
    +

    Function Documentation

    + +
    +
    + + + + + + + + +
    NV_INLINE physx::PxAllocatorCallback& NvBlastGetPxAllocatorCallback (  ) 
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + +
    NV_INLINE physx::PxErrorCallback& NvBlastGetPxErrorCallback (  ) 
    +
    +
    + +

    +This file contains helper functions to get PxShared compatible versions of global AllocatorCallback and ErrorCallback. +

    +

    +

    + + + + diff --git a/docs/source_docs/files/_nv_blast_support_graph_8h-source.html b/docs/source_docs/files/_nv_blast_support_graph_8h-source.html index 2b08548..a18d8b1 100644 --- a/docs/source_docs/files/_nv_blast_support_graph_8h-source.html +++ b/docs/source_docs/files/_nv_blast_support_graph_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/lowlevel/source/NvBlastSupportGraph.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/lowlevel/source/NvBlastSupportGraph.h Source File @@ -35,69 +35,86 @@
  • File Members
  • -

    sdk/lowlevel/source/NvBlastSupportGraph.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 NVBLASTSUPPORTGRAPH_H
    -00012 #define NVBLASTSUPPORTGRAPH_H
    -00013 
    -00014 
    -00015 #include "NvBlastIndexFns.h"
    -00016 #include "NvBlastPreprocessorInternal.h"
    -00017 #include "NvBlastMemory.h"
    -00018 
    -00019 namespace Nv
    -00020 {
    -00021 namespace Blast
    -00022 {
    -00023 
    -00059 struct SupportGraph
    -00060 {
    -00064     uint32_t    m_nodeCount;
    -00065 
    -00071     NvBlastBlockArrayData(uint32_t, m_chunkIndicesOffset, getChunkIndices, m_nodeCount);
    -00072 
    -00084     NvBlastBlockArrayData(uint32_t, m_adjacencyPartitionOffset, getAdjacencyPartition, m_nodeCount + 1);
    -00085 
    -00091     NvBlastBlockArrayData(uint32_t, m_adjacentNodeIndicesOffset, getAdjacentNodeIndices, getAdjacencyPartition()[m_nodeCount]);
    -00092 
    -00098     NvBlastBlockArrayData(uint32_t, m_adjacentBondIndicesOffset, getAdjacentBondIndices, getAdjacencyPartition()[m_nodeCount]);
    -00099 
    -00106     uint32_t    findBond(uint32_t nodeIndex0, uint32_t nodeIndex1) const;
    -00107 };
    -00108 
    +

    sdk/lowlevel/source/NvBlastSupportGraph.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTSUPPORTGRAPH_H
    +00030 #define NVBLASTSUPPORTGRAPH_H
    +00031 
    +00032 
    +00033 #include "NvBlastIndexFns.h"
    +00034 #include "NvBlastMemory.h"
    +00035 
    +00036 namespace Nv
    +00037 {
    +00038 namespace Blast
    +00039 {
    +00040 
    +00076 struct SupportGraph
    +00077 {
    +00081     uint32_t    m_nodeCount;
    +00082 
    +00088     NvBlastBlockArrayData(uint32_t, m_chunkIndicesOffset, getChunkIndices, m_nodeCount);
    +00089 
    +00101     NvBlastBlockArrayData(uint32_t, m_adjacencyPartitionOffset, getAdjacencyPartition, m_nodeCount + 1);
    +00102 
    +00108     NvBlastBlockArrayData(uint32_t, m_adjacentNodeIndicesOffset, getAdjacentNodeIndices, getAdjacencyPartition()[m_nodeCount]);
     00109 
    -00111 
    -00112 NV_INLINE uint32_t SupportGraph::findBond(uint32_t nodeIndex0, uint32_t nodeIndex1) const
    -00113 {
    -00114     const uint32_t* adjacencyPartition = getAdjacencyPartition();
    -00115     const uint32_t* adjacentNodeIndices = getAdjacentNodeIndices();
    -00116     const uint32_t* adjacentBondIndices = getAdjacentBondIndices();
    -00117 
    -00118     // Iterate through all neighbors of nodeIndex0 chunk
    -00119     for (uint32_t i = adjacencyPartition[nodeIndex0]; i < adjacencyPartition[nodeIndex0 + 1]; i++)
    -00120     {
    -00121         if (adjacentNodeIndices[i] == nodeIndex1)
    -00122         {
    -00123             return adjacentBondIndices[i];
    -00124         }
    -00125     }
    +00115     NvBlastBlockArrayData(uint32_t, m_adjacentBondIndicesOffset, getAdjacentBondIndices, getAdjacencyPartition()[m_nodeCount]);
    +00116 
    +00123     uint32_t    findBond(uint32_t nodeIndex0, uint32_t nodeIndex1) const;
    +00124 };
    +00125 
     00126 
    -00127     return invalidIndex<uint32_t>();
    -00128 }
    -00129 
    -00130 } // namespace Blast
    -00131 } // namespace Nv
    -00132 
    -00133 
    -00134 #endif // ifndef NVBLASTSUPPORTGRAPH_H
    +00128 
    +00129 NV_INLINE uint32_t SupportGraph::findBond(uint32_t nodeIndex0, uint32_t nodeIndex1) const
    +00130 {
    +00131     const uint32_t* adjacencyPartition = getAdjacencyPartition();
    +00132     const uint32_t* adjacentNodeIndices = getAdjacentNodeIndices();
    +00133     const uint32_t* adjacentBondIndices = getAdjacentBondIndices();
    +00134 
    +00135     // Iterate through all neighbors of nodeIndex0 chunk
    +00136     for (uint32_t i = adjacencyPartition[nodeIndex0]; i < adjacencyPartition[nodeIndex0 + 1]; i++)
    +00137     {
    +00138         if (adjacentNodeIndices[i] == nodeIndex1)
    +00139         {
    +00140             return adjacentBondIndices[i];
    +00141         }
    +00142     }
    +00143 
    +00144     return invalidIndex<uint32_t>();
    +00145 }
    +00146 
    +00147 } // namespace Blast
    +00148 } // namespace Nv
    +00149 
    +00150 
    +00151 #endif // ifndef NVBLASTSUPPORTGRAPH_H
     

    sdk/lowlevel/source/NvBlastSupportGraph.h File Reference

    #include "NvBlastIndexFns.h"
    -#include "NvBlastPreprocessorInternal.h"
    #include "NvBlastMemory.h"

    diff --git a/docs/source_docs/files/_nv_blast_time_8h-source.html b/docs/source_docs/files/_nv_blast_time_8h-source.html index 4ff587e..117bbf8 100644 --- a/docs/source_docs/files/_nv_blast_time_8h-source.html +++ b/docs/source_docs/files/_nv_blast_time_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/common/NvBlastTime.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/common/NvBlastTime.h Source File @@ -40,108 +40,121 @@ 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 }; +00006 // proprietary rights in and to this software and related documentation and +00007 // any modifications thereto. Any use, reproduction, disclosure, or +00008 // distribution of this software and related documentation without an express +00009 // license agreement from NVIDIA Corporation is strictly prohibited. +00010 // +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. +00015 // +00016 // Information and code furnished is believed to be accurate and reliable. +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such +00018 // information or for any infringement of patents or other rights of third parties that may +00019 // result from its use. No license is granted by implication or otherwise under any patent +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice. +00021 // This code supersedes and replaces all information previously supplied. +00022 // NVIDIA Corporation products are not authorized for use as critical +00023 // components in life support devices or systems without express written approval of +00024 // NVIDIA Corporation. +00025 // +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved. +00027 +00028 +00029 #ifndef NVBLASTTIME_H +00030 #define NVBLASTTIME_H +00031 +00032 #include "NvBlastTypes.h" +00033 +00034 +00035 namespace Nv +00036 { +00037 namespace Blast +00038 { +00039 +00040 class Time +00041 { +00042 public: +00043 Time() : m_lastTickCount(getTimeTicks()) {} +00044 +00045 int64_t getElapsedTicks() +00046 { +00047 const int64_t lastTickCount = m_lastTickCount; +00048 m_lastTickCount = getTimeTicks(); +00049 return m_lastTickCount - lastTickCount; +00050 } +00051 +00052 int64_t peekElapsedTicks() const +00053 { +00054 return getTimeTicks() - m_lastTickCount; +00055 } +00056 +00057 int64_t getLastTickCount() const +00058 { +00059 return m_lastTickCount; +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 } +00062 static double seconds(int64_t ticks) +00063 { +00064 return s_secondsPerTick * ticks; +00065 } +00066 +00067 private: +00068 int64_t getTimeTicks() const; +00069 static double getTickDuration(); +00070 +00071 int64_t m_lastTickCount; +00072 static const double s_secondsPerTick; +00073 }; +00074 +00075 } // namespace Blast +00076 } // namespace Nv +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 +00080 +00081 #if NV_MICROSOFT_FAMILY +00082 +00083 #include "NvBlastIncludeWindows.h" +00084 +00085 NV_INLINE int64_t Nv::Blast::Time::getTimeTicks() const +00086 { +00087 LARGE_INTEGER a; +00088 QueryPerformanceCounter(&a); +00089 return a.QuadPart; +00090 } +00091 +00092 NV_INLINE double Nv::Blast::Time::getTickDuration() +00093 { +00094 LARGE_INTEGER a; +00095 QueryPerformanceFrequency(&a); +00096 return 1.0 / (double)a.QuadPart; +00097 } +00098 +00099 #elif NV_UNIX_FAMILY +00100 +00101 #include <time.h> +00102 +00103 NV_INLINE int64_t Nv::Blast::Time::getTimeTicks() const +00104 { +00105 struct timespec mCurrTimeInt; +00106 clock_gettime(CLOCK_REALTIME, &mCurrTimeInt); +00107 return (static_cast<int64_t>(mCurrTimeInt.tv_sec) * 1000000000) + (static_cast<int64_t>(mCurrTimeInt.tv_nsec)); +00108 } +00109 +00110 NV_INLINE double Nv::Blast::Time::getTickDuration() +00111 { +00112 return 1.e-9; +00113 } +00114 +00115 #elif NV_PS4 +00116 +00117 #include "ps4/NvBlastTimePS4.h" +00118 +00119 #endif +00120 +00121 #endif // #ifndef NVBLASTTIME_H

    -

    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
    +

    sdk/toolkit/include/NvBlastTk.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTK_H
    +00030 #define NVBLASTTK_H
    +00031 
    +00032 
    +00041 #include "NvBlastTkFramework.h"
    +00042 #include "NvBlastTkAsset.h"
    +00043 #include "NvBlastTkActor.h"
    +00044 #include "NvBlastTkJoint.h"
    +00045 #include "NvBlastTkFamily.h"
    +00046 #include "NvBlastTkGroup.h"
    +00047 
    +00048 
    +00049 #endif // ifndef NVBLASTTK_H
     
    -

    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;
    +

    sdk/toolkit/include/NvBlastTkActor.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTKACTOR_H
    +00030 #define NVBLASTTKACTOR_H
    +00031 
    +00032 #include "NvBlastTkObject.h"
    +00033 #include "NvBlastTypes.h"
    +00034 
    +00035 // Forward declarations
    +00036 struct NvBlastActor;
    +00037 struct NvBlastFamily;
    +00038 
    +00039 
    +00040 namespace Nv
    +00041 {
    +00042 namespace Blast
    +00043 {
    +00044 
    +00045 // Forward declarations
    +00046 class TkAsset;
    +00047 class TkFamily;
    +00048 class TkGroup;
    +00049 class TkJoint;
    +00050 
    +00051 
    +00057 class TkActor : public TkObject
    +00058 {
    +00059 public:
    +00065     virtual const NvBlastActor* getActorLL() const = 0;
    +00066 
    +00073     virtual TkFamily&           getFamily() const = 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;
    +00078     virtual uint32_t            getIndex() const = 0;
    +00079 
    +00084     virtual TkGroup*            getGroup() const = 0;
    +00085 
    +00091     virtual TkGroup*            removeFromGroup() = 0;
    +00092 
    +00098     virtual const TkAsset*      getAsset() const = 0;
    +00099 
    +00107     virtual uint32_t            getVisibleChunkCount() const = 0;
    +00108 
    +00119     virtual uint32_t            getVisibleChunkIndices(uint32_t* visibleChunkIndices, uint32_t visibleChunkIndicesSize) const = 0;
    +00120 
    +00128     virtual uint32_t            getGraphNodeCount() const = 0;
    +00129 
    +00140     virtual uint32_t            getGraphNodeIndices(uint32_t* graphNodeIndices, uint32_t graphNodeIndicesSize) 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;
    +00149     virtual const float*        getBondHealths() const = 0;
    +00150 
    +00158     virtual uint32_t            getSplitMaxActorCount() const = 0;
    +00159 
    +00165     virtual bool                isPending() const = 0;
    +00166 
    +00177     virtual void                damage(const NvBlastDamageProgram& program, const NvBlastProgramParams* programParams) = 0;
    +00178 
    +00192     virtual void                damage(const NvBlastDamageProgram& program, const void* damageDesc, uint32_t descSize) = 0;
    +00193 
    +00208     virtual void                damage(const NvBlastDamageProgram& program, const void* damageDesc, uint32_t descSize, const void* material) = 0;
    +00209 
    +00222     virtual void                generateFracture(NvBlastFractureBuffers* commands, const NvBlastDamageProgram& program, const NvBlastProgramParams* programParams) const = 0;
     00223 
    -00232     virtual uint32_t            getJoints(TkJoint** joints, uint32_t jointsSize) const = 0;
    -00233 };
    +00233     virtual void                applyFracture(NvBlastFractureBuffers* eventBuffers, const NvBlastFractureBuffers* commands) = 0;
     00234 
    -00235 } // namespace Blast
    -00236 } // namespace Nv
    -00237 
    -00238 
    -00239 #endif // ifndef NVBLASTTKACTOR_H
    +00240     virtual uint32_t            getJointCount() const = 0;
    +00241 
    +00250     virtual uint32_t            getJoints(TkJoint** joints, uint32_t jointsSize) const = 0;
    +00251 
    +00259     virtual bool                isBoundToWorld() const = 0;
    +00260 };
    +00261 
    +00262 } // namespace Blast
    +00263 } // namespace Nv
    +00264 
    +00265 
    +00266 #endif // ifndef NVBLASTTKACTOR_H
     
    -

    sdk/toolkit/source/NvBlastTkActorImpl.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 NVBLASTTKACTORIMPL_H
    -00012 #define NVBLASTTKACTORIMPL_H
    -00013 
    -00014 
    -00015 #include "NvBlastTkCommon.h"
    -00016 
    -00017 #include "NvBlastAssert.h"
    -00018 #include "NvBlastDLink.h"
    -00019 #include "NvBlastIteratorBase.h"
    -00020 
    -00021 #include "NvBlastTkJointImpl.h"
    -00022 
    -00023 #include "NvBlast.h"
    -00024 
    -00025 #include "NvBlastTkActor.h"
    -00026 
    -00027 #include "PxFlags.h"
    +

    sdk/toolkit/source/NvBlastTkActorImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
     00028 
    -00029 namespace Nv
    -00030 {
    -00031 namespace Blast
    -00032 {
    -00033 
    -00034 // Forward declarations:
    -00035 class TkGroupImpl;
    -00036 class TkFamilyImpl;
    -00037 class TkAssetImpl;
    -00038 class TkJointImpl;
    -00039 
    +00029 #ifndef NVBLASTTKACTORIMPL_H
    +00030 #define NVBLASTTKACTORIMPL_H
    +00031 
    +00032 
    +00033 #include "NvBlastTkCommon.h"
    +00034 
    +00035 #include "NvBlastAssert.h"
    +00036 #include "NvBlastDLink.h"
    +00037 #include "NvBlastIteratorBase.h"
    +00038 
    +00039 #include "NvBlastTkJointImpl.h"
     00040 
    -00044 struct TkActorFlag
    -00045 {
    -00046     enum Enum
    -00047     {
    -00048         DAMAGED = (1 << 0), 
    -00049         PENDING = (1 << 1), 
    -00050     };
    -00051 };
    -00052 
    -00053 
    -00057 class TkActorImpl : public TkActor
    -00058 {
    -00059 public:
    -00060     TkActorImpl();
    -00061     ~TkActorImpl();
    -00062 
    -00063     // Begin TkActor
    -00064     virtual const NvBlastActor* getActorLL() const override;
    -00065 
    -00066     virtual TkFamily&           getFamily() const override;
    -00067 
    -00068     virtual uint32_t            getIndex() const override;
    -00069 
    -00070     virtual TkGroup*            getGroup() const override;
    +00041 #include "NvBlast.h"
    +00042 
    +00043 #include "NvBlastTkActor.h"
    +00044 
    +00045 #include "PxFlags.h"
    +00046 
    +00047 namespace Nv
    +00048 {
    +00049 namespace Blast
    +00050 {
    +00051 
    +00052 // Forward declarations:
    +00053 class TkGroupImpl;
    +00054 class TkFamilyImpl;
    +00055 class TkAssetImpl;
    +00056 class TkJointImpl;
    +00057 
    +00058 
    +00062 struct TkActorFlag
    +00063 {
    +00064     enum Enum
    +00065     {
    +00066         DAMAGED = (1 << 0), 
    +00067         PENDING = (1 << 1), 
    +00068     };
    +00069 };
    +00070 
     00071 
    -00072     virtual TkGroup*            removeFromGroup() override;
    -00073 
    -00074     virtual const TkAsset*      getAsset() const override;
    -00075 
    -00076     virtual uint32_t            getVisibleChunkCount() const override;
    -00077 
    -00078     virtual uint32_t            getVisibleChunkIndices(uint32_t* visibleChunkIndices, uint32_t visibleChunkIndicesSize) const override;
    -00079 
    -00080     virtual uint32_t            getGraphNodeCount() const override;
    -00081 
    -00082     virtual uint32_t            getGraphNodeIndices(uint32_t* graphNodeIndices, uint32_t graphNodeIndicesSize) const override;
    +00075 class TkActorImpl : public TkActor
    +00076 {
    +00077 public:
    +00078     TkActorImpl();
    +00079     ~TkActorImpl();
    +00080 
    +00081     // Begin TkActor
    +00082     virtual const NvBlastActor* getActorLL() const override;
     00083 
    -00084     virtual const float*        getBondHealths() const override;
    +00084     virtual TkFamily&           getFamily() const override;
     00085 
    -00086     virtual uint32_t            getSplitMaxActorCount() const override;
    +00086     virtual uint32_t            getIndex() const override;
     00087 
    -00088     virtual void                damage(const NvBlastDamageProgram& program, const NvBlastProgramParams* programParams) override;
    -00089     virtual void                damage(const NvBlastDamageProgram& program, const void* damageDesc, uint32_t descSize) override;
    -00090     virtual void                damage(const NvBlastDamageProgram& program, const void* damageDesc, uint32_t descSize, const void* material) override;
    +00088     virtual TkGroup*            getGroup() const override;
    +00089 
    +00090     virtual TkGroup*            removeFromGroup() override;
     00091 
    -00092     virtual bool                isPending() const override;
    +00092     virtual const TkAsset*      getAsset() const override;
     00093 
    -00094     virtual void                generateFracture(NvBlastFractureBuffers* commands, const NvBlastDamageProgram& program, const NvBlastProgramParams* programParams) const override;
    +00094     virtual uint32_t            getVisibleChunkCount() const override;
     00095 
    -00096     virtual void                applyFracture(NvBlastFractureBuffers* eventBuffers, const NvBlastFractureBuffers* commands) override;
    +00096     virtual uint32_t            getVisibleChunkIndices(uint32_t* visibleChunkIndices, uint32_t visibleChunkIndicesSize) const override;
     00097 
    -00098     virtual uint32_t            getJointCount() const override;
    +00098     virtual uint32_t            getGraphNodeCount() const override;
     00099 
    -00100     virtual uint32_t            getJoints(TkJoint** joints, uint32_t jointsSize) const override;
    -00101     // End TkActor
    -00102 
    -00103     // Begin TkObject
    -00104     virtual void                release() override;
    -00105     // End TkObject
    -00106 
    -00107 
    -00108     // Public methods
    -00109     
    -00117     static TkActorImpl*         create(const TkActorDesc& desc);
    -00118 
    -00126     bool                        isActive() const;
    +00100     virtual uint32_t            getGraphNodeIndices(uint32_t* graphNodeIndices, uint32_t graphNodeIndicesSize) const override;
    +00101 
    +00102     virtual const float*        getBondHealths() const override;
    +00103 
    +00104     virtual uint32_t            getSplitMaxActorCount() const override;
    +00105 
    +00106     virtual void                damage(const NvBlastDamageProgram& program, const NvBlastProgramParams* programParams) override;
    +00107     virtual void                damage(const NvBlastDamageProgram& program, const void* damageDesc, uint32_t descSize) override;
    +00108     virtual void                damage(const NvBlastDamageProgram& program, const void* damageDesc, uint32_t descSize, const void* material) override;
    +00109 
    +00110     virtual bool                isPending() const override;
    +00111 
    +00112     virtual void                generateFracture(NvBlastFractureBuffers* commands, const NvBlastDamageProgram& program, const NvBlastProgramParams* programParams) const override;
    +00113 
    +00114     virtual void                applyFracture(NvBlastFractureBuffers* eventBuffers, const NvBlastFractureBuffers* commands) override;
    +00115 
    +00116     virtual uint32_t            getJointCount() const override;
    +00117 
    +00118     virtual uint32_t            getJoints(TkJoint** joints, uint32_t jointsSize) const override;
    +00119 
    +00120     virtual bool                isBoundToWorld() const override;
    +00121     // End TkActor
    +00122 
    +00123     // Begin TkObject
    +00124     virtual void                release() override;
    +00125     // End TkObject
    +00126 
     00127 
    -00133     NvBlastFamily*              getFamilyLL() const;
    -00134 
    -00140     TkFamilyImpl&               getFamilyImpl() const;
    -00141 
    -00145     uint32_t                    getIndexInternal() const;
    -00146 
    -00152     TkGroupImpl*                getGroupImpl() const;
    -00153 
    -00159     NvBlastActor*               getActorLLInternal() const;
    -00160 
    -00164     uint32_t                    getJointCountInternal() const;
    -00165 
    -00177     class JointIt : public DList::It
    -00178     {
    -00179     public:
    -00181         JointIt(const TkActorImpl& actor, Direction dir = Forward);
    -00182 
    -00184         TkJointImpl* operator * () const;
    -00185     };
    -00186 
    -00190     operator Nv::Blast::TkActorData() const;
    -00191 
    -00192 private:
    -00196     struct DamageData
    -00197     {
    -00198         DamageData(const NvBlastDamageProgram& program, const NvBlastProgramParams* params);
    -00199         DamageData(const NvBlastDamageProgram& program, const void* material, const void* desc, uint32_t descSize);
    -00200 
    -00201         bool tryAppend(const NvBlastDamageProgram& program, const void* material, const void* desc, uint32_t descSize);
    -00202         void generateFracture(NvBlastFractureBuffers* commandBuffers, const NvBlastActor* actorLL, NvBlastTimers* timers) const;
    -00203 
    -00204         enum Type
    -00205         {
    -00206             Plain,
    -00207             Buffered
    -00208         };
    -00209 
    -00210         Type getType() const;
    +00128     // Public methods
    +00129     
    +00137     static TkActorImpl*         create(const TkActorDesc& desc);
    +00138 
    +00146     bool                        isActive() const;
    +00147 
    +00153     NvBlastFamily*              getFamilyLL() const;
    +00154 
    +00160     TkFamilyImpl&               getFamilyImpl() const;
    +00161 
    +00165     uint32_t                    getIndexInternal() const;
    +00166 
    +00172     TkGroupImpl*                getGroupImpl() const;
    +00173 
    +00179     NvBlastActor*               getActorLLInternal() const;
    +00180 
    +00184     uint32_t                    getJointCountInternal() const;
    +00185 
    +00197     class JointIt : public DList::It
    +00198     {
    +00199     public:
    +00201         JointIt(const TkActorImpl& actor, Direction dir = Forward);
    +00202 
    +00204         TkJointImpl* operator * () const;
    +00205     };
    +00206 
    +00210     operator Nv::Blast::TkActorData() const;
     00211 
    -00212         NvBlastDamageProgram  m_program;
    -00213         union
    -00214         {
    -00215             const void*                 m_material;         
    -00216             const NvBlastProgramParams* m_programParams;    
    -00217         };
    -00218         TkArray<char>::type m_damageDescs;
    -00219         uint32_t            m_damageDescCount;
    -00220     };
    -00221 
    -00222 
    -00227     void                        markAsDamaged();
    -00228     bool                        isDamaged() const;
    +00212 private:
    +00216     struct DamageData
    +00217     {
    +00218         DamageData(const NvBlastDamageProgram& program, const NvBlastProgramParams* params);
    +00219         DamageData(const NvBlastDamageProgram& program, const void* material, const void* desc, uint32_t descSize);
    +00220 
    +00221         bool tryAppend(const NvBlastDamageProgram& program, const void* material, const void* desc, uint32_t descSize);
    +00222         void generateFracture(NvBlastFractureBuffers* commandBuffers, const NvBlastActor* actorLL, NvBlastTimers* timers) const;
    +00223 
    +00224         enum Type
    +00225         {
    +00226             Plain,
    +00227             Buffered
    +00228         };
     00229 
    -00234     void                        makePending();
    -00235 
    -00239     void                        addJoint(TkJointLink& jointLink);
    -00240     void                        removeJoint(TkJointLink& jointLink);
    +00230         Type getType() const;
    +00231 
    +00232         NvBlastDamageProgram  m_program;
    +00233         union
    +00234         {
    +00235             const void*                 m_material;         
    +00236             const NvBlastProgramParams* m_programParams;    
    +00237         };
    +00238         Array<char>::type   m_damageDescs;
    +00239         uint32_t            m_damageDescCount;
    +00240     };
     00241 
     00242 
    -00243     // Data
    -00244 
    -00245     NvBlastActor*                           m_actorLL;          
    -00246     TkFamilyImpl*                           m_family;           
    -00247     TkGroupImpl*                            m_group;            
    -00248     uint32_t                                m_groupJobIndex;    
    -00249     physx::PxFlags<TkActorFlag::Enum, char> m_flags;            
    -00250     TkArray<DamageData>::type               m_damageBuffer;     
    -00251     uint32_t                                m_jointCount;       
    -00252     DList                                   m_jointList;        
    -00253 
    -00254 //#if NV_PROFILE
    -00255     NvBlastTimers                           m_timers;           
    -00256 //#endif
    -00257 
    -00258     friend class TkWorker;                  // m_damageBuffer and m_flags 
    -00259     friend class TkGroupImpl;
    -00260     friend class TkFamilyImpl;
    -00261     friend class TkJointImpl;
    -00262     friend class TkFrameworkImpl;
    -00263 };
    +00247     void                        markAsDamaged();
    +00248     bool                        isDamaged() const;
    +00249 
    +00254     void                        makePending();
    +00255 
    +00259     void                        addJoint(TkJointLink& jointLink);
    +00260     void                        removeJoint(TkJointLink& jointLink);
    +00261 
    +00262 
    +00263     // Data
     00264 
    -00265 
    -00267 
    -00268 NV_INLINE TkFamilyImpl& TkActorImpl::getFamilyImpl() const
    -00269 {
    -00270     NVBLAST_ASSERT(m_family != nullptr);
    -00271 
    -00272     return *m_family;
    -00273 }
    -00274 
    -00275 
    -00276 NV_INLINE uint32_t TkActorImpl::getIndexInternal() const
    -00277 {
    -00278     NVBLAST_ASSERT(isActive());
    -00279     return NvBlastActorGetIndex(m_actorLL, TkFrameworkImpl::get()->log);
    -00280 }
    -00281 
    -00282 
    -00283 NV_INLINE NvBlastActor* TkActorImpl::getActorLLInternal() const
    -00284 {
    -00285     return m_actorLL;
    -00286 }
    +00265     NvBlastActor*                           m_actorLL;          
    +00266     TkFamilyImpl*                           m_family;           
    +00267     TkGroupImpl*                            m_group;            
    +00268     uint32_t                                m_groupJobIndex;    
    +00269     physx::PxFlags<TkActorFlag::Enum, char> m_flags;            
    +00270     Array<DamageData>::type                 m_damageBuffer;     
    +00271     uint32_t                                m_jointCount;       
    +00272     DList                                   m_jointList;        
    +00273 
    +00274 //#if NV_PROFILE
    +00275     NvBlastTimers                           m_timers;           
    +00276 //#endif
    +00277 
    +00278     friend class TkWorker;                  // m_damageBuffer and m_flags 
    +00279     friend class TkGroupImpl;
    +00280     friend class TkFamilyImpl;
    +00281     friend class TkJointImpl;
    +00282     friend class TkFrameworkImpl;
    +00283 };
    +00284 
    +00285 
     00287 
    -00288 
    -00289 NV_INLINE uint32_t TkActorImpl::getJointCountInternal() const
    -00290 {
    -00291     return m_jointCount;
    -00292 }
    -00293 
    +00288 NV_INLINE TkFamilyImpl& TkActorImpl::getFamilyImpl() const
    +00289 {
    +00290     NVBLAST_ASSERT(m_family != nullptr);
    +00291 
    +00292     return *m_family;
    +00293 }
     00294 
    -00295 NV_INLINE TkGroupImpl* TkActorImpl::getGroupImpl() const
    -00296 {
    -00297     return m_group;
    -00298 }
    -00299 
    -00300 
    -00301 NV_INLINE bool TkActorImpl::isActive() const
    -00302 {
    -00303     return m_actorLL != nullptr;
    -00304 }
    -00305 
    -00306 
    -00307 NV_INLINE bool TkActorImpl::isPending() const
    -00308 {
    -00309     return m_flags.isSet(TkActorFlag::PENDING);
    -00310 }
    -00311 
    -00312 
    -00313 NV_INLINE void TkActorImpl::addJoint(TkJointLink& jointLink)
    -00314 {
    -00315     NVBLAST_ASSERT(m_jointList.isSolitary(jointLink));
    -00316 
    -00317     m_jointList.insertHead(jointLink);
    -00318     ++m_jointCount;
    -00319 }
    +00295 
    +00296 NV_INLINE uint32_t TkActorImpl::getIndexInternal() const
    +00297 {
    +00298     NVBLAST_ASSERT(isActive());
    +00299     return NvBlastActorGetIndex(m_actorLL, logLL);
    +00300 }
    +00301 
    +00302 
    +00303 NV_INLINE NvBlastActor* TkActorImpl::getActorLLInternal() const
    +00304 {
    +00305     return m_actorLL;
    +00306 }
    +00307 
    +00308 
    +00309 NV_INLINE uint32_t TkActorImpl::getJointCountInternal() const
    +00310 {
    +00311     return m_jointCount;
    +00312 }
    +00313 
    +00314 
    +00315 NV_INLINE TkGroupImpl* TkActorImpl::getGroupImpl() const
    +00316 {
    +00317     return m_group;
    +00318 }
    +00319 
     00320 
    -00321 
    -00322 NV_INLINE void TkActorImpl::removeJoint(TkJointLink& jointLink)
    -00323 {
    -00324     NVBLAST_ASSERT(!m_jointList.isSolitary(jointLink));
    -00325     NVBLAST_ASSERT(m_jointCount > 0);
    -00326     if (m_jointCount > 0)
    -00327     {
    -00328         --m_jointCount;
    -00329         m_jointList.remove(jointLink);
    -00330     }
    -00331 }
    +00321 NV_INLINE bool TkActorImpl::isActive() const
    +00322 {
    +00323     return m_actorLL != nullptr;
    +00324 }
    +00325 
    +00326 
    +00327 NV_INLINE bool TkActorImpl::isPending() const
    +00328 {
    +00329     return m_flags.isSet(TkActorFlag::PENDING);
    +00330 }
    +00331 
     00332 
    -00333 
    -00335 
    -00336 NV_INLINE TkActorImpl::DamageData::Type TkActorImpl::DamageData::getType() const
    -00337 {
    -00338     return m_damageDescCount > 0 ? Buffered : Plain;
    +00333 NV_INLINE void TkActorImpl::addJoint(TkJointLink& jointLink)
    +00334 {
    +00335     NVBLAST_ASSERT(m_jointList.isSolitary(jointLink));
    +00336 
    +00337     m_jointList.insertHead(jointLink);
    +00338     ++m_jointCount;
     00339 }
     00340 
     00341 
    -00342 NV_INLINE void TkActorImpl::DamageData::generateFracture(NvBlastFractureBuffers* commandBuffers, const NvBlastActor* actorLL, NvBlastTimers* timers) const
    -00343 {
    -00344     if (getType() == Plain)
    -00345     {
    -00346         NvBlastActorGenerateFracture(commandBuffers, actorLL, m_program, m_programParams, TkFrameworkImpl::get()->log, timers);
    -00347     }
    -00348     else
    -00349     {
    -00350         const NvBlastProgramParams programParams = {
    -00351             m_damageDescs.begin(),
    -00352             m_damageDescCount,
    -00353             m_material,
    -00354         };
    -00355         NvBlastActorGenerateFracture(commandBuffers, actorLL, m_program, &programParams, TkFrameworkImpl::get()->log, timers);
    -00356     }
    -00357 }
    -00358 
    -00359 
    +00342 NV_INLINE void TkActorImpl::removeJoint(TkJointLink& jointLink)
    +00343 {
    +00344     NVBLAST_ASSERT(!m_jointList.isSolitary(jointLink));
    +00345     NVBLAST_ASSERT(m_jointCount > 0);
    +00346     if (m_jointCount > 0)
    +00347     {
    +00348         --m_jointCount;
    +00349         m_jointList.remove(jointLink);
    +00350     }
    +00351 }
    +00352 
    +00353 
    +00355 
    +00356 NV_INLINE TkActorImpl::DamageData::Type TkActorImpl::DamageData::getType() const
    +00357 {
    +00358     return m_damageDescCount > 0 ? Buffered : Plain;
    +00359 }
    +00360 
     00361 
    -00362 NV_INLINE TkActorImpl::JointIt::JointIt(const TkActorImpl& actor, Direction dir) : DList::It(actor.m_jointList, dir) {}
    -00363 
    -00364 
    -00365 NV_INLINE TkJointImpl* TkActorImpl::JointIt::operator * () const
    -00366 {
    -00367     const DLink* link = (const DLink*)(*this);
    -00368     return reinterpret_cast<const TkJointLink*>(link)->m_joint;
    -00369 }
    -00370 
    -00371 } // namespace Blast
    -00372 } // namespace Nv
    -00373 
    -00374 
    -00375 #endif // ifndef NVBLASTTKACTORIMPL_H
    +00362 NV_INLINE void TkActorImpl::DamageData::generateFracture(NvBlastFractureBuffers* commandBuffers, const NvBlastActor* actorLL, NvBlastTimers* timers) const
    +00363 {
    +00364     if (getType() == Plain)
    +00365     {
    +00366         NvBlastActorGenerateFracture(commandBuffers, actorLL, m_program, m_programParams, logLL, timers);
    +00367     }
    +00368     else
    +00369     {
    +00370         const NvBlastProgramParams programParams = {
    +00371             m_damageDescs.begin(),
    +00372             m_damageDescCount,
    +00373             m_material,
    +00374         };
    +00375         NvBlastActorGenerateFracture(commandBuffers, actorLL, m_program, &programParams, logLL, timers);
    +00376     }
    +00377 }
    +00378 
    +00379 
    +00381 
    +00382 NV_INLINE TkActorImpl::JointIt::JointIt(const TkActorImpl& actor, Direction dir) : DList::It(actor.m_jointList, dir) {}
    +00383 
    +00384 
    +00385 NV_INLINE TkJointImpl* TkActorImpl::JointIt::operator * () const
    +00386 {
    +00387     const DLink* link = (const DLink*)(*this);
    +00388     return reinterpret_cast<const TkJointLink*>(link)->m_joint;
    +00389 }
    +00390 
    +00391 } // namespace Blast
    +00392 } // namespace Nv
    +00393 
    +00394 
    +00395 #endif // ifndef NVBLASTTKACTORIMPL_H
     
    -

    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 };
    +

    sdk/toolkit/include/NvBlastTkAsset.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTKASSET_H
    +00030 #define NVBLASTTKASSET_H
    +00031 
    +00032 #include "NvBlastTkIdentifiable.h"
    +00033 #include "NvBlastTypes.h"
    +00034 #include "PxVec3.h"
     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;
    +00036 // Forward declarations
    +00037 struct NvBlastAsset;
    +00038 
    +00039 
    +00040 namespace Nv
    +00041 {
    +00042 namespace Blast
    +00043 {
    +00044 
    +00048 struct TkAssetJointDesc
    +00049 {
    +00050     uint32_t        nodeIndices[2];     
    +00051     physx::PxVec3   attachPositions[2]; 
    +00052 };
    +00053 
    +00054 
    +00059 class TkAsset : public TkIdentifiable
    +00060 {
    +00061 public:
    +00067     virtual const NvBlastAsset*         getAssetLL() const = 0;
     00068 
    -00076     virtual uint32_t                    getBondCount() const = 0;
    +00076     virtual uint32_t                    getChunkCount() const = 0;
     00077 
    -00085     virtual const NvBlastChunk*         getChunks() const = 0;
    +00085     virtual uint32_t                    getLeafChunkCount() const = 0;
     00086 
    -00094     virtual const NvBlastBond*          getBonds() const = 0;
    +00094     virtual uint32_t                    getBondCount() const = 0;
     00095 
    -00103     virtual const NvBlastSupportGraph   getGraph() const = 0;
    +00103     virtual const NvBlastChunk*         getChunks() const = 0;
     00104 
    -00112     virtual uint32_t                    getDataSize() const = 0;
    +00112     virtual const NvBlastBond*          getBonds() const = 0;
     00113 
    -00122     virtual uint32_t                    getJointDescCount() const = 0;
    -00123 
    -00129     virtual const TkAssetJointDesc*     getJointDescs() const = 0;
    -00130 };
    +00121     virtual const NvBlastSupportGraph   getGraph() const = 0;
    +00122 
    +00130     virtual uint32_t                    getDataSize() const = 0;
     00131 
    -00132 } // namespace Blast
    -00133 } // namespace Nv
    -00134 
    -00135 
    -00136 #endif // ifndef NVBLASTTKASSET_H
    +00140     virtual uint32_t                    getJointDescCount() const = 0;
    +00141 
    +00147     virtual const TkAssetJointDesc*     getJointDescs() const = 0;
    +00148 };
    +00149 
    +00150 } // namespace Blast
    +00151 } // namespace Nv
    +00152 
    +00153 
    +00154 #endif // ifndef NVBLASTTKASSET_H
     
    -

    sdk/toolkit/include/NvBlastTkAsset.h File Reference

    #include "NvBlastTkSerializable.h"
    +

    sdk/toolkit/include/NvBlastTkAsset.h File Reference

    #include "NvBlastTkIdentifiable.h"
    #include "NvBlastTypes.h"
    #include "PxVec3.h"
    diff --git a/docs/source_docs/files/_nv_blast_tk_asset_impl_8h-source.html b/docs/source_docs/files/_nv_blast_tk_asset_impl_8h-source.html index ff6028f..41f3c97 100644 --- a/docs/source_docs/files/_nv_blast_tk_asset_impl_8h-source.html +++ b/docs/source_docs/files/_nv_blast_tk_asset_impl_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/toolkit/source/NvBlastTkAssetImpl.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/toolkit/source/NvBlastTkAssetImpl.h Source File @@ -35,122 +35,129 @@
  • File Members
  • -

    sdk/toolkit/source/NvBlastTkAssetImpl.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 NVBLASTTKASSETIMPL_H
    -00012 #define NVBLASTTKASSETIMPL_H
    -00013 
    -00014 
    -00015 #include "NvBlastTkCommon.h"
    -00016 #include "NvBlastTkJoint.h"
    -00017 #include "NvBlastTkAsset.h"
    -00018 #include "NvBlastTkTypeImpl.h"
    -00019 #include "NvBlastTkArray.h"
    -00020 
    -00021 
    -00022 // Forward declarations
    -00023 struct NvBlastAsset;
    -00024 
    -00025 
    -00026 namespace Nv
    -00027 {
    -00028 namespace Blast
    -00029 {
    -00030 
    -00034 NVBLASTTK_IMPL_DECLARE(Asset)
    -00035 {
    -00036 public:
    -00040     enum Version
    -00041     {
    -00043         Initial,
    -00044 
    -00045         //  New formats must come before Count.  They should be given descriptive names with more information in comments.
    -00046 
    -00048         Count,
    -00049 
    -00051         Current = Count - 1
    -00052     };
    -00053 
    -00054     TkAssetImpl();
    -00055     TkAssetImpl(const NvBlastID& id);
    -00056     ~TkAssetImpl();
    -00057 
    -00058     NVBLASTTK_IMPL_DEFINE_SERIALIZABLE('A', 'S', 'S', 'T');
    -00059 
    -00060     // Public methods
    -00061 
    -00069     static TkAssetImpl*                 create(const TkAssetDesc& desc);
    -00070     
    -00081     static TkAssetImpl*                 create(const NvBlastAsset* assetLL, Nv::Blast::TkAssetJointDesc* jointDescs = nullptr, uint32_t jointDescCount = 0, bool ownsAsset = false);
    -00082 
    -00086     const NvBlastAsset*                 getAssetLLInternal() const;
    -00087 
    -00091     uint32_t                            getJointDescCountInternal() const;
    -00092 
    -00096     const TkAssetJointDesc*             getJointDescsInternal() const;
    -00097 
    -00098     // Begin TkAsset
    -00099     virtual const NvBlastAsset*         getAssetLL() const override;
    -00100 
    -00101     virtual uint32_t                    getChunkCount() const override;
    -00102 
    -00103     virtual uint32_t                    getLeafChunkCount() const override;
    -00104 
    -00105     virtual uint32_t                    getBondCount() const override;
    -00106 
    -00107     virtual const NvBlastChunk*         getChunks() const override;
    -00108 
    -00109     virtual const NvBlastBond*          getBonds() const override;
    -00110 
    -00111     virtual const NvBlastSupportGraph   getGraph() const override;
    -00112 
    -00113     virtual uint32_t                    getDataSize() const override;
    -00114 
    -00115     virtual uint32_t                    getJointDescCount() const override;
    -00116 
    -00117     virtual const TkAssetJointDesc*     getJointDescs() const override;
    -00118     // End TkAsset
    -00119 
    -00120 private:
    -00131     bool                                addJointDesc(uint32_t chunkIndex0, uint32_t chunkIndex1);
    -00132 
    -00133     NvBlastAsset*                   m_assetLL;      
    -00134     TkArray<TkAssetJointDesc>::type m_jointDescs;   
    -00135     bool                            m_ownsAsset;    
    -00136 };
    -00137 
    +

    sdk/toolkit/source/NvBlastTkAssetImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTKASSETIMPL_H
    +00030 #define NVBLASTTKASSETIMPL_H
    +00031 
    +00032 
    +00033 #include "NvBlastTkCommon.h"
    +00034 #include "NvBlastTkJoint.h"
    +00035 #include "NvBlastTkAsset.h"
    +00036 #include "NvBlastTkTypeImpl.h"
    +00037 #include "NvBlastArray.h"
    +00038 
    +00039 
    +00040 // Forward declarations
    +00041 struct NvBlastAsset;
    +00042 
    +00043 
    +00044 namespace Nv
    +00045 {
    +00046 namespace Blast
    +00047 {
    +00048 
    +00052 NVBLASTTK_IMPL_DECLARE(Asset)
    +00053 {
    +00054 public:
    +00055     TkAssetImpl();
    +00056     TkAssetImpl(const NvBlastID& id);
    +00057     ~TkAssetImpl();
    +00058 
    +00059     NVBLASTTK_IMPL_DEFINE_IDENTIFIABLE('A', 'S', 'S', 'T');
    +00060 
    +00061     // Public methods
    +00062 
    +00070     static TkAssetImpl*                 create(const TkAssetDesc& desc);
    +00071     
    +00082     static TkAssetImpl*                 create(const NvBlastAsset* assetLL, Nv::Blast::TkAssetJointDesc* jointDescs = nullptr, uint32_t jointDescCount = 0, bool ownsAsset = false);
    +00083 
    +00087     const NvBlastAsset*                 getAssetLLInternal() const;
    +00088 
    +00092     uint32_t                            getJointDescCountInternal() const;
    +00093 
    +00097     const TkAssetJointDesc*             getJointDescsInternal() const;
    +00098 
    +00099     // Begin TkAsset
    +00100     virtual const NvBlastAsset*         getAssetLL() const override;
    +00101 
    +00102     virtual uint32_t                    getChunkCount() const override;
    +00103 
    +00104     virtual uint32_t                    getLeafChunkCount() const override;
    +00105 
    +00106     virtual uint32_t                    getBondCount() const override;
    +00107 
    +00108     virtual const NvBlastChunk*         getChunks() const override;
    +00109 
    +00110     virtual const NvBlastBond*          getBonds() const override;
    +00111 
    +00112     virtual const NvBlastSupportGraph   getGraph() const override;
    +00113 
    +00114     virtual uint32_t                    getDataSize() const override;
    +00115 
    +00116     virtual uint32_t                    getJointDescCount() const override;
    +00117 
    +00118     virtual const TkAssetJointDesc*     getJointDescs() const override;
    +00119     // End TkAsset
    +00120 
    +00121 private:
    +00132     bool                                addJointDesc(uint32_t chunkIndex0, uint32_t chunkIndex1);
    +00133 
    +00134     NvBlastAsset*                   m_assetLL;      
    +00135     Array<TkAssetJointDesc>::type   m_jointDescs;   
    +00136     bool                            m_ownsAsset;    
    +00137 };
     00138 
    -00140 
    -00141 NV_INLINE const NvBlastAsset* TkAssetImpl::getAssetLLInternal() const
    -00142 {
    -00143     return m_assetLL;
    -00144 }
    -00145 
    +00139 
    +00141 
    +00142 NV_INLINE const NvBlastAsset* TkAssetImpl::getAssetLLInternal() const
    +00143 {
    +00144     return m_assetLL;
    +00145 }
     00146 
    -00147 NV_INLINE uint32_t TkAssetImpl::getJointDescCountInternal() const
    -00148 {
    -00149     return m_jointDescs.size();
    -00150 }
    -00151 
    +00147 
    +00148 NV_INLINE uint32_t TkAssetImpl::getJointDescCountInternal() const
    +00149 {
    +00150     return m_jointDescs.size();
    +00151 }
     00152 
    -00153 NV_INLINE const TkAssetJointDesc* TkAssetImpl::getJointDescsInternal() const
    -00154 {
    -00155     return m_jointDescs.begin();
    -00156 }
    -00157 
    -00158 } // namespace Blast
    -00159 } // namespace Nv
    -00160 
    +00153 
    +00154 NV_INLINE const TkAssetJointDesc* TkAssetImpl::getJointDescsInternal() const
    +00155 {
    +00156     return m_jointDescs.begin();
    +00157 }
    +00158 
    +00159 } // namespace Blast
    +00160 } // namespace Nv
     00161 
    -00162 #endif // ifndef NVBLASTTKASSETIMPL_H
    +00162 
    +00163 #endif // ifndef NVBLASTTKASSETIMPL_H
     
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    #define NVBLASTTK_DEFINE_TYPE_SERIALIZABLE (_name   )    TkTypeImpl Tk##_name##Type::s_type("Tk" #_name, Tk##_name##Impl::ClassID, Tk##_name##Impl::Version::Current, Tk##_name##Impl::deserialize)
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - +
    #define NVBLASTTK_FOURCC (_a,
    _b,
    _c,
    _d   )    ( (uint32_t)(_a) | (uint32_t)(_b)<<8 | (uint32_t)(_c)<<16 | (uint32_t)(_d)<<24 )   TkTypeImpl Tk##_name##Type::s_type("Tk" #_name, Tk##_name##Impl::ClassID, 0)
    @@ -180,44 +125,7 @@ /* Enums */ \ \ /* Generate a ClassID enum used to identify this TkIdentifiable. */ \ - enum { ClassID = NVBLASTTK_FOURCC(_id0, _id1, _id2, _id3) } -
    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    #define NVBLASTTK_IMPL_DEFINE_SERIALIZABLE (_id0,
    _id1,
    _id2,
    _id3   ) 
    -
    -
    - -

    -Value:

    NVBLASTTK_IMPL_DEFINE_IDENTIFIABLE(_id0, _id1, _id2, _id3);                                         \
    -                                                                                                        \
    -    /* Begin TkSerializable */                                                                          \
    -    virtual bool            serialize(physx::general_PxIOStream2::PxFileBuf& stream) const override;    \
    -    /* End TkSerializable */                                                                            \
    -                                                                                                        \
    -    /* Static deserialization function, called by TkFrameworkImpl::deserialize after header data */     \
    -    static TkSerializable*  deserialize(physx::general_PxIOStream2::PxFileBuf& stream, const NvBlastID& id)
    +    enum { ClassID = NVBLAST_FOURCC(_id0, _id1, _id2, _id3) }
     

    diff --git a/docs/source_docs/files/_nv_blast_tk_event_8h-source.html b/docs/source_docs/files/_nv_blast_tk_event_8h-source.html index e42c191..eb67c55 100644 --- a/docs/source_docs/files/_nv_blast_tk_event_8h-source.html +++ b/docs/source_docs/files/_nv_blast_tk_event_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/toolkit/include/NvBlastTkEvent.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/toolkit/include/NvBlastTkEvent.h Source File @@ -35,125 +35,143 @@

  • File Members
  • -

    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 };
    +

    sdk/toolkit/include/NvBlastTkEvent.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTKEVENT_H
    +00030 #define NVBLASTTKEVENT_H
    +00031 
    +00032 #include <vector>
    +00033 
    +00034 #include "NvBlastTypes.h"
    +00035 
    +00036 
    +00037 namespace Nv
    +00038 {
    +00039 namespace Blast
    +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     };
    +00042 // Forward declarations
    +00043 class TkObject;
    +00044 class TkActor;
    +00045 class TkFamily;
    +00046 class TkJoint;
    +00047 
    +00048 
    +00053 struct TkActorData
    +00054 {
    +00055     TkFamily*   family;     
    +00056     void*       userData;   
    +00057     uint32_t    index;      
    +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 
    +00060 
    +00065 struct TkEvent
    +00066 {
    +00067     // Enums
    +00068     enum Type
    +00069     {
    +00070         Split,              
    +00071         FractureCommand,    
    +00072         FractureEvent,      
    +00073         JointUpdate,        
    +00074 
    +00075         TypeCount
    +00076     };
    +00077 
    +00078     // Data
    +00079     const void* payload;    
    +00080     Type        type;       
    +00081 
    +00087     template<typename T>
    +00088     const T* getPayload() const { return reinterpret_cast<const T*>(payload); }
    +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;   
    +00091 
    +00099 struct TkSplitEvent
    +00100 {
    +00101     enum { EVENT_TYPE = TkEvent::Split };
    +00102 
    +00103     TkActorData parentData;     
    +00104     uint32_t    numChildren;    
    +00105     TkActor**   children;       
    +00106 };
    +00107 
    +00108 
    +00114 struct TkFractureCommands
    +00115 {
    +00116     enum { EVENT_TYPE = TkEvent::FractureCommand };
    +00117 
    +00118     TkActorData             tkActorData;    
    +00119     NvBlastFractureBuffers  buffers;        
     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     };
    +00128 struct TkFractureEvents
    +00129 {
    +00130     enum { EVENT_TYPE = TkEvent::FractureEvent };
    +00131 
    +00132     TkActorData             tkActorData;    
    +00133     NvBlastFractureBuffers  buffers;        
    +00134     uint32_t                bondsDamaged;   
    +00135     uint32_t                bondsBroken;    
    +00136     uint32_t                chunksDamaged;  
    +00137     uint32_t                chunksBroken;   
    +00138 };
    +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
    +00148 struct TkJointUpdateEvent
    +00149 {
    +00150     enum { EVENT_TYPE = TkEvent::JointUpdate };
    +00151 
    +00152     enum Subtype
    +00153     {
    +00154         External,       
    +00155         Changed,        
    +00156         Unreferenced    
    +00157     };
    +00158 
    +00159     TkJoint*    joint;      
    +00160     Subtype     subtype;    
    +00161 };
    +00162 
    +00163 
    +00168 class TkEventListener
    +00169 {
    +00170 public:
    +00177     virtual void    receive(const TkEvent* events, uint32_t eventCount) = 0;
    +00178 };
    +00179 
    +00180 } // namespace Blast
    +00181 } // namespace Nv
    +00182 
    +00183 
    +00184 #endif // ifndef NVBLASTTKEVENT_H
     
    -

    sdk/toolkit/source/NvBlastTkEventQueue.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 NVBLASTTKEVENTQUEUE_H
    -00012 #define NVBLASTTKEVENTQUEUE_H
    -00013 
    -00014 #include <algorithm>
    -00015 #include <vector>
    -00016 
    -00017 #include <mutex>
    -00018 #include <atomic>
    -00019 
    -00020 #include "PxAllocatorCallback.h"
    -00021 #include "NvBlastTkFrameworkImpl.h"
    -00022 #include "NvBlastAssert.h"
    -00023 
    -00024 
    -00025 namespace Nv {
    -00026 namespace Blast {
    +

    sdk/toolkit/source/NvBlastTkEventQueue.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
     00027 
    -00044 class TkEventQueue
    -00045 {
    -00046 public:
    -00047     TkEventQueue() : m_currentEvent(0), m_poolCapacity(0), m_pool(nullptr), m_allowAllocs(true) {}
    -00048 
    -00053     operator const TkArray<TkEvent>::type&() 
    -00054     {
    -00055         NVBLAST_ASSERT(m_allowAllocs);
    -00056         NVBLAST_ASSERT(m_currentEvent == m_events.size());
    -00057         return m_events; 
    -00058     }
    -00059 
    -00067     void protect(bool enable)
    -00068     {
    -00069         // During parallel use, m_events.size() and m_currentEvent are allowed to diverge.
    -00070         // This is fine because resizeUninitialized does not alter the stored data.
    -00071         NVBLAST_ASSERT(m_currentEvent <= m_events.capacity());
    -00072         m_events.resizeUninitialized(m_currentEvent);
    -00073         m_allowAllocs = !enable;
    -00074     }
    -00075 
    -00080     void reset()
    -00081     {
    -00082         m_events.clear();
    -00083         m_currentEvent = 0;
    -00084         for (void* mem : m_memory)
    -00085         {
    -00086             NVBLASTTK_FREE(mem);
    -00087         }
    -00088         m_memory.clear();
    -00089         m_currentData = 0;
    -00090         m_allowAllocs = true;
    -00091         m_poolCapacity = 0;
    -00092         m_pool = nullptr;
    -00093     }
    -00094 
    -00098     template<class T>
    -00099     void addEvent(T* payload)
    -00100     {
    -00101         uint32_t index = m_currentEvent.fetch_add(1);
    -00102 
    -00103         // Should not allocate in protected state.
    -00104         NVBLAST_ASSERT(m_allowAllocs || m_currentEvent <= m_events.capacity());
    -00105 
    -00106         m_events.resizeUninitialized(m_currentEvent);
    -00107 
    -00108         // During parallel use, m_events.size() and m_currentEvent are allowed to diverge.
    -00109         // Consistency is restored in protect().
    -00110         NVBLAST_ASSERT(!m_allowAllocs || m_currentEvent == m_events.size());
    +00028 
    +00029 #ifndef NVBLASTTKEVENTQUEUE_H
    +00030 #define NVBLASTTKEVENTQUEUE_H
    +00031 
    +00032 #include <algorithm>
    +00033 #include <vector>
    +00034 
    +00035 #include <mutex>
    +00036 #include <atomic>
    +00037 
    +00038 #include "NvBlastTkFrameworkImpl.h"
    +00039 #include "NvBlastAssert.h"
    +00040 
    +00041 
    +00042 namespace Nv {
    +00043 namespace Blast {
    +00044 
    +00061 class TkEventQueue
    +00062 {
    +00063 public:
    +00064     TkEventQueue() : m_currentEvent(0), m_poolCapacity(0), m_pool(nullptr), m_allowAllocs(true) {}
    +00065 
    +00070     operator const Array<TkEvent>::type&() 
    +00071     {
    +00072         NVBLAST_ASSERT(m_allowAllocs);
    +00073         NVBLAST_ASSERT(m_currentEvent == m_events.size());
    +00074         return m_events; 
    +00075     }
    +00076 
    +00084     void protect(bool enable)
    +00085     {
    +00086         // During parallel use, m_events.size() and m_currentEvent are allowed to diverge.
    +00087         // This is fine because resizeUninitialized does not alter the stored data.
    +00088         NVBLAST_ASSERT(m_currentEvent <= m_events.capacity());
    +00089         m_events.resizeUninitialized(m_currentEvent);
    +00090         m_allowAllocs = !enable;
    +00091     }
    +00092 
    +00097     void reset()
    +00098     {
    +00099         m_events.clear();
    +00100         m_currentEvent = 0;
    +00101         for (void* mem : m_memory)
    +00102         {
    +00103             NVBLAST_FREE(mem);
    +00104         }
    +00105         m_memory.clear();
    +00106         m_currentData = 0;
    +00107         m_allowAllocs = true;
    +00108         m_poolCapacity = 0;
    +00109         m_pool = nullptr;
    +00110     }
     00111 
    -00112         TkEvent& evt = m_events[index];
    -00113         evt.type = TkEvent::Type(T::EVENT_TYPE);
    -00114         evt.payload = payload;
    -00115     }
    -00116 
    -00120     template<typename T>
    -00121     T* allocData()
    -00122     {
    -00123         uint32_t index = m_currentData.fetch_add(sizeof(T));
    -00124         if (m_currentData <= m_poolCapacity)
    -00125         {
    -00126             return reinterpret_cast<T*>(&m_pool[index]);
    -00127         }
    -00128         else
    -00129         {
    -00130             // Could do larger block allocation here.
    -00131             reserveData(sizeof(T));
    -00132             // Account for the requested size.
    -00133             m_currentData = sizeof(T);
    -00134             return reinterpret_cast<T*>(&m_pool[0]);
    -00135         }
    -00136     }
    -00137 
    -00143     void reserveData(size_t size)
    -00144     {
    -00145         NVBLAST_ASSERT(m_allowAllocs);
    -00146         m_pool = reinterpret_cast<uint8_t*>(allocDataBySize(size));
    -00147         m_poolCapacity = size;
    -00148         m_currentData = 0;
    -00149     }
    -00150 
    -00154     void reserveEvents(uint32_t n)
    -00155     {
    -00156         NVBLAST_ASSERT(m_allowAllocs);
    -00157         m_events.reserve(m_events.size() + n);
    -00158     }
    -00159 
    -00163     void addListener(TkEventListener& l)
    -00164     {
    -00165         m_listeners.pushBack(&l);
    +00115     template<class T>
    +00116     void addEvent(T* payload)
    +00117     {
    +00118         uint32_t index = m_currentEvent.fetch_add(1);
    +00119 
    +00120         // Should not allocate in protected state.
    +00121         NVBLAST_ASSERT(m_allowAllocs || m_currentEvent <= m_events.capacity());
    +00122 
    +00123         m_events.resizeUninitialized(m_currentEvent);
    +00124 
    +00125         // During parallel use, m_events.size() and m_currentEvent are allowed to diverge.
    +00126         // Consistency is restored in protect().
    +00127         NVBLAST_ASSERT(!m_allowAllocs || m_currentEvent == m_events.size());
    +00128 
    +00129         TkEvent& evt = m_events[index];
    +00130         evt.type = TkEvent::Type(T::EVENT_TYPE);
    +00131         evt.payload = payload;
    +00132     }
    +00133 
    +00137     template<typename T>
    +00138     T* allocData()
    +00139     {
    +00140         uint32_t index = m_currentData.fetch_add(sizeof(T));
    +00141         if (m_currentData <= m_poolCapacity)
    +00142         {
    +00143             return reinterpret_cast<T*>(&m_pool[index]);
    +00144         }
    +00145         else
    +00146         {
    +00147             // Could do larger block allocation here.
    +00148             reserveData(sizeof(T));
    +00149             // Account for the requested size.
    +00150             m_currentData = sizeof(T);
    +00151             return reinterpret_cast<T*>(&m_pool[0]);
    +00152         }
    +00153     }
    +00154 
    +00160     void reserveData(size_t size)
    +00161     {
    +00162         NVBLAST_ASSERT(m_allowAllocs);
    +00163         m_pool = reinterpret_cast<uint8_t*>(allocDataBySize(size));
    +00164         m_poolCapacity = size;
    +00165         m_currentData = 0;
     00166     }
     00167 
    -00171     void removeListener(TkEventListener& l)
    +00171     void reserveEvents(uint32_t n)
     00172     {
    -00173         m_listeners.findAndReplaceWithLast(&l);
    -00174     }
    -00175 
    -00180     void dispatch()
    +00173         NVBLAST_ASSERT(m_allowAllocs);
    +00174         m_events.reserve(m_events.size() + n);
    +00175     }
    +00176 
    +00180     void addListener(TkEventListener& l)
     00181     {
    -00182         dispatch(*this);
    -00183         reset();
    -00184     }
    -00185 
    -00189     void dispatch(const TkArray<TkEvent>::type& events) const
    -00190     {
    -00191         if (events.size())
    -00192         {
    -00193             for (TkEventListener* l : m_listeners)
    -00194             {
    -00195                 PERF_SCOPE_M("TkEventQueue::dispatch");
    -00196                 l->receive(events.begin(), events.size());
    -00197             }
    -00198         }
    -00199     }
    -00200 
    -00201 private:
    -00205     void* allocDataBySize(size_t size)
    -00206     {
    -00207         void* memory = nullptr;
    -00208         if (size > 0)
    +00182         m_listeners.pushBack(&l);
    +00183     }
    +00184 
    +00188     void removeListener(TkEventListener& l)
    +00189     {
    +00190         m_listeners.findAndReplaceWithLast(&l);
    +00191     }
    +00192 
    +00197     void dispatch()
    +00198     {
    +00199         dispatch(*this);
    +00200         reset();
    +00201     }
    +00202 
    +00206     void dispatch(const Array<TkEvent>::type& events) const
    +00207     {
    +00208         if (events.size())
     00209         {
    -00210             memory = NVBLASTTK_ALLOC(size, "TkEventQueue Data");
    -00211             m_memory.pushBack(memory);
    -00212         }
    -00213         return memory;
    -00214     }
    -00215 
    -00216 
    -00217     TkArray<TkEvent>::type                  m_events;       
    -00218     TkArray<void*>::type                    m_memory;       
    -00219     std::atomic<uint32_t>                   m_currentEvent; 
    -00220     std::atomic<uint32_t>                   m_currentData;  
    -00221     size_t                                  m_poolCapacity; 
    -00222     uint8_t*                                m_pool;         
    -00223     bool                                    m_allowAllocs;  
    -00224     TkInlineArray<TkEventListener*,4>::type m_listeners;    
    -00225 };
    -00226 
    -00227 }   // namespace Blast
    -00228 }   // namespace Nv
    -00229 
    -00230 
    -00231 #endif  // ifndef NVBLASTTKEVENTQUEUE_H
    +00210             for (TkEventListener* l : m_listeners)
    +00211             {
    +00212                 BLAST_PROFILE_SCOPE_M("TkEventQueue::dispatch");
    +00213                 l->receive(events.begin(), events.size());
    +00214             }
    +00215         }
    +00216     }
    +00217 
    +00218 private:
    +00222     void* allocDataBySize(size_t size)
    +00223     {
    +00224         void* memory = nullptr;
    +00225         if (size > 0)
    +00226         {
    +00227             memory = NVBLAST_ALLOC_NAMED(size, "TkEventQueue Data");
    +00228             m_memory.pushBack(memory);
    +00229         }
    +00230         return memory;
    +00231     }
    +00232 
    +00233 
    +00234     Array<TkEvent>::type                    m_events;       
    +00235     Array<void*>::type                      m_memory;       
    +00236     std::atomic<uint32_t>                   m_currentEvent; 
    +00237     std::atomic<uint32_t>                   m_currentData;  
    +00238     size_t                                  m_poolCapacity; 
    +00239     uint8_t*                                m_pool;         
    +00240     bool                                    m_allowAllocs;  
    +00241     InlineArray<TkEventListener*,4>::type   m_listeners;    
    +00242 };
    +00243 
    +00244 }   // namespace Blast
    +00245 }   // namespace Nv
    +00246 
    +00247 
    +00248 #endif  // ifndef NVBLASTTKEVENTQUEUE_H
     
    -

    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;
    +

    sdk/toolkit/include/NvBlastTkFamily.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTKFAMILY_H
    +00030 #define NVBLASTTKFAMILY_H
    +00031 
    +00032 #include "NvBlastTkIdentifiable.h"
    +00033 
    +00034 
    +00035 // Forward declarations
    +00036 struct NvBlastFamily;
    +00037 
    +00038 
    +00039 namespace Nv
    +00040 {
    +00041 namespace Blast
    +00042 {
    +00043 
    +00044 // Forward declarations
    +00045 class TkActor;
    +00046 class TkAsset;
    +00047 class TkEventListener;
    +00048 
    +00049 
    +00055 class TkFamily : public TkIdentifiable
    +00056 {
    +00057 public:
    +00063     virtual const NvBlastFamily*    getFamilyLL() const = 0;
    +00064 
    +00070     virtual const TkAsset*          getAsset() 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
    +00077     virtual uint32_t                getActorCount() const = 0;
    +00078 
    +00088     virtual uint32_t                getActors(TkActor** buffer, uint32_t bufferSize, uint32_t indexStart = 0) const = 0;
    +00089 
    +00097     virtual void                    addListener(TkEventListener& l) = 0;
    +00098 
    +00104     virtual void                    removeListener(TkEventListener& l) = 0;
    +00105 
    +00111     virtual void                    applyFracture(const NvBlastFractureBuffers* commands) = 0;
    +00112 
    +00121     virtual void                    reinitialize(const NvBlastFamily* newFamily, TkGroup* group = nullptr) = 0;
     00122 
    -00123 
    -00124 #endif // ifndef NVBLASTTKFAMILY_H
    +00128     virtual const void*             getMaterial() const = 0;
    +00129 
    +00135     virtual void                    setMaterial(const void* material) = 0;
    +00136 };
    +00137 
    +00138 } // namespace Blast
    +00139 } // namespace Nv
    +00140 
    +00141 
    +00142 #endif // ifndef NVBLASTTKFAMILY_H
     
    -

    sdk/toolkit/include/NvBlastTkFamily.h File Reference

    #include "NvBlastTkSerializable.h"
    +

    sdk/toolkit/include/NvBlastTkFamily.h File Reference

    #include "NvBlastTkIdentifiable.h"

    Go to the source code of this file. diff --git a/docs/source_docs/files/_nv_blast_tk_family_impl_8h-source.html b/docs/source_docs/files/_nv_blast_tk_family_impl_8h-source.html index af714e7..2273150 100644 --- a/docs/source_docs/files/_nv_blast_tk_family_impl_8h-source.html +++ b/docs/source_docs/files/_nv_blast_tk_family_impl_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/toolkit/source/NvBlastTkFamilyImpl.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/toolkit/source/NvBlastTkFamilyImpl.h Source File @@ -35,243 +35,250 @@
  • File Members
  • -

    sdk/toolkit/source/NvBlastTkFamilyImpl.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 NVBLASTTKFAMILYIMPL_H
    -00012 #define NVBLASTTKFAMILYIMPL_H
    -00013 
    -00014 #include "NvBlastTkCommon.h"
    -00015 
    -00016 #include "NvBlastTkFamily.h"
    -00017 #include "NvBlastTkTypeImpl.h"
    -00018 #include "NvBlastTkActorImpl.h"
    -00019 
    -00020 #include "NvBlastTkEventQueue.h"
    -00021 #include "NvBlastTkHashSet.h"
    -00022 #include "NvBlastTkHashMap.h"
    -00023 
    -00024 #include "NvBlast.h"
    -00025 #include "NvBlastAssert.h"
    -00026 #include "NvBlastDLink.h"
    +

    sdk/toolkit/source/NvBlastTkFamilyImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
     00027 
     00028 
    -00029 // Forward declarations
    -00030 struct NvBlastFamily;
    -00031 
    -00032 namespace Nv
    -00033 {
    -00034 namespace Blast
    -00035 {
    -00036 
    -00037 // Forward declarations
    -00038 class TkGroupImpl;
    -00039 class TkAssetImpl;
    -00040 
    +00029 #ifndef NVBLASTTKFAMILYIMPL_H
    +00030 #define NVBLASTTKFAMILYIMPL_H
    +00031 
    +00032 #include "NvBlastTkCommon.h"
    +00033 
    +00034 #include "NvBlastTkFamily.h"
    +00035 #include "NvBlastTkTypeImpl.h"
    +00036 #include "NvBlastTkActorImpl.h"
    +00037 
    +00038 #include "NvBlastTkEventQueue.h"
    +00039 #include "NvBlastHashSet.h"
    +00040 #include "NvBlastHashMap.h"
     00041 
    -00042 NVBLASTTK_IMPL_DECLARE(Family)
    -00043 {
    -00044 public:
    -00048     enum Version
    -00049     {
    -00051         Initial,
    -00052 
    -00053         //  New formats must come before Count.  They should be given descriptive names with more information in comments.
    +00042 #include "NvBlast.h"
    +00043 #include "NvBlastAssert.h"
    +00044 #include "NvBlastDLink.h"
    +00045 
    +00046 
    +00047 // Forward declarations
    +00048 struct NvBlastFamily;
    +00049 
    +00050 namespace Nv
    +00051 {
    +00052 namespace Blast
    +00053 {
     00054 
    -00056         Count,
    -00057 
    -00059         Current = Count - 1
    -00060     };
    -00061 
    -00062     TkFamilyImpl();
    -00063     TkFamilyImpl(const NvBlastID& id);
    -00064     ~TkFamilyImpl();
    -00065 
    -00066     NVBLASTTK_IMPL_DEFINE_SERIALIZABLE('A', 'C', 'T', 'F');
    -00067 
    -00068     // Begin TkFamily
    -00069     virtual const NvBlastFamily*    getFamilyLL() const override;
    -00070 
    -00071     virtual uint32_t                getActorCount() const override;
    -00072 
    -00073     virtual uint32_t                getActors(TkActor** buffer, uint32_t bufferSize, uint32_t indexStart = 0) const override;
    -00074 
    -00075     virtual void                    addListener(TkEventListener& l) override { m_queue.addListener(l); }
    -00076 
    -00077     virtual void                    removeListener(TkEventListener& l) override { m_queue.removeListener(l); }
    -00078 
    -00079     virtual void                    applyFracture(const NvBlastFractureBuffers* commands) override { applyFractureInternal(commands); }
    -00080 
    -00081     virtual const TkAsset*          getAsset() const override;
    -00082 
    -00083     virtual void                    reinitialize(const NvBlastFamily* newFamily, TkGroup* group) override;
    -00084 
    -00085     virtual const void*             getMaterial() const override;
    -00086 
    -00087     virtual void                    setMaterial(const void* material) override;
    -00088     // End TkFamily
    -00089 
    -00090     // Public methods
    -00091     static TkFamilyImpl*            create(const TkAssetImpl* asset);
    -00092 
    -00093     const TkAssetImpl*              getAssetImpl() const;
    -00094 
    -00095     NvBlastFamily*                  getFamilyLLInternal() const;
    -00096 
    -00097     uint32_t                        getActorCountInternal() const;
    -00098 
    -00099     TkActorImpl*                    addActor(NvBlastActor* actorLL);
    -00100 
    -00101     void                            applyFractureInternal(const NvBlastFractureBuffers* commands);
    -00102 
    -00103     void                            removeActor(TkActorImpl* actorLL);
    -00104 
    -00105     TkEventQueue&                   getQueue() { return m_queue; }
    -00106 
    -00107     TkActorImpl*                    getActorByActorLL(const NvBlastActor* actorLL);
    -00108 
    -00109     void                            updateJoints(TkActorImpl* actor, TkEventQueue* alternateQueue = nullptr);
    -00110 
    -00111     TkArray<TkActorImpl>::type&     getActorsInternal();
    -00112 
    -00113     uint32_t                        getInternalJointCount() const;
    -00114 
    -00115     TkJointImpl*                    getInternalJoints() const;
    -00116 
    -00117     TkJointImpl**                   createExternalJointHandle(const NvBlastID& otherFamilyID, uint32_t chunkIndex0, uint32_t chunkIndex1);
    -00118 
    -00119     bool                            deleteExternalJointHandle(TkJointImpl*& joint, const NvBlastID& otherFamilyID, uint32_t chunkIndex0, uint32_t chunkIndex1);
    -00120 
    -00121     void                            releaseJoint(TkJointImpl& joint);
    -00122 
    -00123     TkActorImpl*                    getActorByChunk(uint32_t chunkIndex);
    -00124 
    -00125     typedef physx::shdfnd::Pair<uint32_t, uint32_t> ExternalJointKey;   
    -00126 
    -00127     TkJointImpl*                    findExternalJoint(const TkFamilyImpl* otherFamily, ExternalJointKey key) const;
    -00128 
    -00129 private:
    -00130     TkActorImpl*                    getActorByIndex(uint32_t index);
    -00131 
    -00132     struct JointSet
    -00133     {
    -00134         NvBlastID                                       m_familyID;
    -00135         TkHashMap<ExternalJointKey, TkJointImpl*>::type m_joints;
    -00136     };
    -00137 
    -00138     typedef TkHashMap<NvBlastID, uint32_t>::type    FamilyIDMap;
    -00139 
    -00140     NvBlastFamily*              m_familyLL;
    -00141     TkArray<TkActorImpl>::type  m_actors;
    -00142     uint32_t                    m_internalJointCount;
    -00143     TkArray<uint8_t>::type      m_internalJointBuffer;
    -00144     TkArray<JointSet*>::type    m_jointSets;
    -00145     FamilyIDMap                 m_familyIDMap;
    -00146     const TkAssetImpl*          m_asset;
    -00147     const void*                 m_material;
    -00148 
    -00149     TkEventQueue                m_queue;
    -00150 };
    -00151 
    +00055 // Forward declarations
    +00056 class TkGroupImpl;
    +00057 class TkAssetImpl;
    +00058 
    +00059 
    +00060 NVBLASTTK_IMPL_DECLARE(Family)
    +00061 {
    +00062 public:
    +00063     TkFamilyImpl();
    +00064     TkFamilyImpl(const NvBlastID& id);
    +00065     ~TkFamilyImpl();
    +00066 
    +00067     NVBLASTTK_IMPL_DEFINE_IDENTIFIABLE('A', 'C', 'T', 'F');
    +00068 
    +00069     // Begin TkFamily
    +00070     virtual const NvBlastFamily*    getFamilyLL() const override;
    +00071 
    +00072     virtual uint32_t                getActorCount() const override;
    +00073 
    +00074     virtual uint32_t                getActors(TkActor** buffer, uint32_t bufferSize, uint32_t indexStart = 0) const override;
    +00075 
    +00076     virtual void                    addListener(TkEventListener& l) override { m_queue.addListener(l); }
    +00077 
    +00078     virtual void                    removeListener(TkEventListener& l) override { m_queue.removeListener(l); }
    +00079 
    +00080     virtual void                    applyFracture(const NvBlastFractureBuffers* commands) override { applyFractureInternal(commands); }
    +00081 
    +00082     virtual const TkAsset*          getAsset() const override;
    +00083 
    +00084     virtual void                    reinitialize(const NvBlastFamily* newFamily, TkGroup* group) override;
    +00085 
    +00086     virtual const void*             getMaterial() const override;
    +00087 
    +00088     virtual void                    setMaterial(const void* material) override;
    +00089     // End TkFamily
    +00090 
    +00091     // Public methods
    +00092     static TkFamilyImpl*            create(const TkAssetImpl* asset);
    +00093 
    +00094     const TkAssetImpl*              getAssetImpl() const;
    +00095 
    +00096     NvBlastFamily*                  getFamilyLLInternal() const;
    +00097 
    +00098     uint32_t                        getActorCountInternal() const;
    +00099 
    +00100     TkActorImpl*                    addActor(NvBlastActor* actorLL);
    +00101 
    +00102     void                            applyFractureInternal(const NvBlastFractureBuffers* commands);
    +00103 
    +00104     void                            removeActor(TkActorImpl* actorLL);
    +00105 
    +00106     TkEventQueue&                   getQueue() { return m_queue; }
    +00107 
    +00108     TkActorImpl*                    getActorByActorLL(const NvBlastActor* actorLL);
    +00109 
    +00110     void                            updateJoints(TkActorImpl* actor, TkEventQueue* alternateQueue = nullptr);
    +00111 
    +00112     Array<TkActorImpl>::type&       getActorsInternal();
    +00113 
    +00114     uint32_t                        getInternalJointCount() const;
    +00115 
    +00116     TkJointImpl*                    getInternalJoints() const;
    +00117 
    +00118     TkJointImpl**                   createExternalJointHandle(const NvBlastID& otherFamilyID, uint32_t chunkIndex0, uint32_t chunkIndex1);
    +00119 
    +00120     bool                            deleteExternalJointHandle(TkJointImpl*& joint, const NvBlastID& otherFamilyID, uint32_t chunkIndex0, uint32_t chunkIndex1);
    +00121 
    +00122     void                            releaseJoint(TkJointImpl& joint);
    +00123 
    +00124     TkActorImpl*                    getActorByChunk(uint32_t chunkIndex);
    +00125 
    +00126     typedef physx::shdfnd::Pair<uint32_t, uint32_t> ExternalJointKey;   
    +00127 
    +00128     TkJointImpl*                    findExternalJoint(const TkFamilyImpl* otherFamily, ExternalJointKey key) const;
    +00129 
    +00130 private:
    +00131     TkActorImpl*                    getActorByIndex(uint32_t index);
    +00132 
    +00133     struct JointSet
    +00134     {
    +00135         NvBlastID                                       m_familyID;
    +00136         HashMap<ExternalJointKey, TkJointImpl*>::type   m_joints;
    +00137     };
    +00138 
    +00139     typedef HashMap<NvBlastID, uint32_t>::type  FamilyIDMap;
    +00140 
    +00141     NvBlastFamily*              m_familyLL;
    +00142     Array<TkActorImpl>::type    m_actors;
    +00143     uint32_t                    m_internalJointCount;
    +00144     Array<uint8_t>::type        m_internalJointBuffer;
    +00145     Array<JointSet*>::type      m_jointSets;
    +00146     FamilyIDMap                 m_familyIDMap;
    +00147     const TkAssetImpl*          m_asset;
    +00148     const void*                 m_material;
    +00149 
    +00150     TkEventQueue                m_queue;
    +00151 };
     00152 
    -00154 
    -00155 NV_INLINE const TkAssetImpl* TkFamilyImpl::getAssetImpl() const
    -00156 {
    -00157     return m_asset;
    -00158 }
    -00159 
    +00153 
    +00155 
    +00156 NV_INLINE const TkAssetImpl* TkFamilyImpl::getAssetImpl() const
    +00157 {
    +00158     return m_asset;
    +00159 }
     00160 
    -00161 NV_INLINE NvBlastFamily* TkFamilyImpl::getFamilyLLInternal() const
    -00162 { 
    -00163     return m_familyLL; 
    -00164 }
    -00165 
    +00161 
    +00162 NV_INLINE NvBlastFamily* TkFamilyImpl::getFamilyLLInternal() const
    +00163 { 
    +00164     return m_familyLL; 
    +00165 }
     00166 
    -00167 NV_INLINE uint32_t TkFamilyImpl::getActorCountInternal() const
    -00168 {
    -00169     NVBLAST_ASSERT(m_familyLL != nullptr);
    -00170 
    -00171     return NvBlastFamilyGetActorCount(m_familyLL, TkFrameworkImpl::get()->log);
    -00172 }
    -00173 
    +00167 
    +00168 NV_INLINE uint32_t TkFamilyImpl::getActorCountInternal() const
    +00169 {
    +00170     NVBLAST_ASSERT(m_familyLL != nullptr);
    +00171 
    +00172     return NvBlastFamilyGetActorCount(m_familyLL, logLL);
    +00173 }
     00174 
    -00175 NV_INLINE TkActorImpl* TkFamilyImpl::getActorByIndex(uint32_t index)
    -00176 {
    -00177     NVBLAST_ASSERT(index < m_actors.size());
    -00178     return &m_actors[index];
    -00179 }
    -00180 
    +00175 
    +00176 NV_INLINE TkActorImpl* TkFamilyImpl::getActorByIndex(uint32_t index)
    +00177 {
    +00178     NVBLAST_ASSERT(index < m_actors.size());
    +00179     return &m_actors[index];
    +00180 }
     00181 
    -00182 NV_INLINE TkActorImpl* TkFamilyImpl::getActorByActorLL(const NvBlastActor* actorLL)
    -00183 {
    -00184     uint32_t index = NvBlastActorGetIndex(actorLL, TkFrameworkImpl::get()->log);
    -00185     return getActorByIndex(index);
    -00186 }
    -00187 
    +00182 
    +00183 NV_INLINE TkActorImpl* TkFamilyImpl::getActorByActorLL(const NvBlastActor* actorLL)
    +00184 {
    +00185     uint32_t index = NvBlastActorGetIndex(actorLL, logLL);
    +00186     return getActorByIndex(index);
    +00187 }
     00188 
    -00189 NV_INLINE const void* TkFamilyImpl::getMaterial() const
    -00190 {
    -00191     return m_material;
    -00192 }
    -00193 
    +00189 
    +00190 NV_INLINE const void* TkFamilyImpl::getMaterial() const
    +00191 {
    +00192     return m_material;
    +00193 }
     00194 
    -00195 NV_INLINE void TkFamilyImpl::setMaterial(const void* material)
    -00196 {
    -00197     m_material = material;
    -00198 }
    -00199 
    +00195 
    +00196 NV_INLINE void TkFamilyImpl::setMaterial(const void* material)
    +00197 {
    +00198     m_material = material;
    +00199 }
     00200 
    -00201 NV_INLINE TkArray<TkActorImpl>::type& TkFamilyImpl::getActorsInternal()
    -00202 {
    -00203     return m_actors;
    -00204 }
    -00205 
    +00201 
    +00202 NV_INLINE Array<TkActorImpl>::type& TkFamilyImpl::getActorsInternal()
    +00203 {
    +00204     return m_actors;
    +00205 }
     00206 
    -00207 NV_INLINE uint32_t TkFamilyImpl::getInternalJointCount() const
    -00208 {
    -00209     return m_internalJointCount;
    -00210 }
    -00211 
    +00207 
    +00208 NV_INLINE uint32_t TkFamilyImpl::getInternalJointCount() const
    +00209 {
    +00210     return m_internalJointCount;
    +00211 }
     00212 
    -00213 NV_INLINE TkJointImpl* TkFamilyImpl::getInternalJoints() const
    -00214 {
    -00215     return const_cast<TkJointImpl*>(reinterpret_cast<const TkJointImpl*>(m_internalJointBuffer.begin()));
    -00216 }
    -00217 
    +00213 
    +00214 NV_INLINE TkJointImpl* TkFamilyImpl::getInternalJoints() const
    +00215 {
    +00216     return const_cast<TkJointImpl*>(reinterpret_cast<const TkJointImpl*>(m_internalJointBuffer.begin()));
    +00217 }
     00218 
    -00219 NV_INLINE void TkFamilyImpl::releaseJoint(TkJointImpl& joint)
    -00220 {
    -00221     NVBLAST_ASSERT(joint.m_owner == this);
    -00222     NVBLAST_ASSERT(&joint >= getInternalJoints() && &joint < getInternalJoints() + getInternalJointCount() * sizeof(TkJointImpl));
    -00223 
    -00224     joint.~TkJointImpl();
    -00225     joint.m_owner = nullptr;
    -00226 }
    -00227 
    +00219 
    +00220 NV_INLINE void TkFamilyImpl::releaseJoint(TkJointImpl& joint)
    +00221 {
    +00222     NVBLAST_ASSERT(joint.m_owner == this);
    +00223     NVBLAST_ASSERT(&joint >= getInternalJoints() && &joint < getInternalJoints() + getInternalJointCount() * sizeof(TkJointImpl));
    +00224 
    +00225     joint.~TkJointImpl();
    +00226     joint.m_owner = nullptr;
    +00227 }
     00228 
    -00230 
    -00231 NV_INLINE const NvBlastID& getFamilyID(const TkActor* actor)
    -00232 {
    -00233     return actor != nullptr ? static_cast<const TkActorImpl*>(actor)->getFamilyImpl().getIDInternal() : *reinterpret_cast<const NvBlastID*>("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");
    -00234 }
    -00235 
    -00236 NV_INLINE const NvBlastID& getFamilyID(const TkFamilyImpl* family)
    -00237 {
    -00238     return family != nullptr ? family->getIDInternal() : *reinterpret_cast<const NvBlastID*>("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");
    -00239 }
    -00240 
    -00241 } // namespace Blast
    -00242 } // namespace Nv
    -00243 
    +00229 
    +00231 
    +00232 NV_INLINE const NvBlastID& getFamilyID(const TkActor* actor)
    +00233 {
    +00234     return actor != nullptr ? static_cast<const TkActorImpl*>(actor)->getFamilyImpl().getIDInternal() : *reinterpret_cast<const NvBlastID*>("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");
    +00235 }
    +00236 
    +00237 NV_INLINE const NvBlastID& getFamilyID(const TkFamilyImpl* family)
    +00238 {
    +00239     return family != nullptr ? family->getIDInternal() : *reinterpret_cast<const NvBlastID*>("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");
    +00240 }
    +00241 
    +00242 } // namespace Blast
    +00243 } // namespace Nv
     00244 
    -00245 #endif // ifndef NVBLASTTKFAMILYIMPL_H
    +00245 
    +00246 #endif // ifndef NVBLASTTKFAMILYIMPL_H
     
    -

    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 }
    +

    sdk/toolkit/include/NvBlastTkFramework.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTKFRAMEWORK_H
    +00030 #define NVBLASTTKFRAMEWORK_H
    +00031 
    +00032 
    +00033 #include "NvBlastTkType.h"
    +00034 #include "NvBlastTkEvent.h"
     00035 
    -00036 
    -00037 namespace Nv
    -00038 {
    -00039 namespace Blast
    -00040 {
    +00036 #include "NvBlastPreprocessor.h"
    +00037 #include "NvBlastTypes.h"
    +00038 
    +00039 #include "PxVec3.h"
    +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;
    +00043 namespace physx
    +00044 {
    +00045 class PxTransform;
    +00046 }
    +00047 
    +00048 
    +00049 namespace Nv
    +00050 {
    +00051 namespace Blast
    +00052 {
     00053 
    -00054 
    -00055 
    -00061 struct TkFrameworkDesc
    -00062 {
    -00063     physx::PxErrorCallback*     errorCallback;      
    -00064     physx::PxAllocatorCallback* allocatorCallback;  
    -00065 };
    +00054 // Forward declarations
    +00055 class TkObject;
    +00056 class TkEventDispatcher;
    +00057 class TkAsset;
    +00058 struct TkGroupDesc;
    +00059 class TkGroup;
    +00060 class TkActor;
    +00061 class TkJoint;
    +00062 class TkIdentifiable;
    +00063 struct TkAssetJointDesc;
    +00064 
    +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 };
    +00074 struct TkAssetDesc : public NvBlastAssetDesc
    +00075 {
    +00079     enum BondFlags
    +00080     {
    +00081         NoFlags = 0,
    +00082 
    +00090         BondJointed = (1 << 0)
    +00091     };
    +00092 
    +00097     const uint8_t*  bondFlags;
    +00098 
    +00100     TkAssetDesc() : bondFlags(nullptr)
    +00101     {
    +00102         chunkCount = bondCount = 0;
    +00103         chunkDescs = nullptr;
    +00104         bondDescs = nullptr;
    +00105     }
    +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 };
    +00114 struct TkActorDesc : public NvBlastActorDesc
    +00115 {
    +00116     const TkAsset* asset;   
    +00117 
    +00119     TkActorDesc(const TkAsset* inAsset = nullptr) : asset(inAsset)
    +00120     {
    +00121         uniformInitialBondHealth = uniformInitialLowerSupportChunkHealth = 1.0f;
    +00122         initialBondHealths = initialSupportChunkHealths = nullptr;
    +00123     }
    +00124 };
    +00125 
     00126 
    -00127 
    -00131 struct TkJointDesc
    -00132 {
    -00133     TkFamily*       families[2];        
    -00134     uint32_t        chunkIndices[2];    
    -00135     physx::PxVec3   attachPositions[2]; 
    -00136 };
    +00130 struct TkJointDesc
    +00131 {
    +00132     TkFamily*       families[2];        
    +00133     uint32_t        chunkIndices[2];    
    +00134     physx::PxVec3   attachPositions[2]; 
    +00135 };
    +00136 
     00137 
    -00138 
    -00142 struct TkTypeIndex
    -00143 {
    -00144     enum Enum
    -00145     {
    -00146         Asset = 0,  
    -00147         Family,     
    -00148         Group,      
    -00149 
    -00150         TypeCount
    -00151     };
    -00152 };
    +00141 struct TkTypeIndex
    +00142 {
    +00143     enum Enum
    +00144     {
    +00145         Asset = 0,  
    +00146         Family,     
    +00147         Group,      
    +00148 
    +00149         TypeCount
    +00150     };
    +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;
    +00160 class TkFramework
    +00161 {
    +00162 public:
    +00167     virtual void            release() = 0;
    +00168 
    +00177     virtual const TkType*   getType(TkTypeIndex::Enum typeIndex) const = 0;
    +00178 
    +00186     virtual TkIdentifiable* findObjectByID(const NvBlastID& id) const = 0;
    +00187 
    +00195     virtual uint32_t        getObjectCount(const TkType& type) const = 0;
    +00196 
    +00207     virtual uint32_t        getObjects(TkIdentifiable** buffer, uint32_t bufferSize, const TkType& type, uint32_t indexStart = 0) const = 0;
    +00208 
    +00210 
    +00226     virtual bool            reorderAssetDescChunks(NvBlastChunkDesc* chunkDescs, uint32_t chunkCount, NvBlastBondDesc* bondDescs, uint32_t bondCount, uint32_t* chunkReorderMap = nullptr, bool keepBondNormalChunkOrder = false) const = 0;
    +00227 
    +00240     virtual bool            ensureAssetExactSupportCoverage(NvBlastChunkDesc* chunkDescs, uint32_t chunkCount) const = 0;
    +00241 
    +00249     virtual TkAsset*        createAsset(const TkAssetDesc& desc) = 0;
    +00250 
    +00261     virtual TkAsset*        createAsset(const NvBlastAsset* assetLL, Nv::Blast::TkAssetJointDesc* jointDescs = nullptr, uint32_t jointDescCount = 0, bool ownsAsset = false) = 0;
    +00262 
    +00264 
    +00273     virtual TkGroup*        createGroup(const TkGroupDesc& desc) = 0;
    +00274 
    +00276 
    +00283     virtual TkActor*        createActor(const TkActorDesc& 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 
    +00286 
    +00298     virtual TkJoint*        createJoint(const TkJointDesc& desc)  = 0;
    +00299 
    +00300 protected:
    +00304     virtual                 ~TkFramework() {}
    +00305 };
    +00306 
    +00307 } // namespace Blast
    +00308 } // namespace Nv
    +00309 
     00310 
    -00317     virtual TkActor*                    createActor(const TkActorDesc& desc) = 0;
    -00318 
    +00312 
    +00318 NVBLAST_API Nv::Blast::TkFramework* NvBlastTkFrameworkCreate();
    +00319 
     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
    +00326 NVBLAST_API Nv::Blast::TkFramework* NvBlastTkFrameworkGet();
    +00327 
    +00328 
    +00329 #endif // ifndef NVBLASTTKFRAMEWORK_H
     
    - - @@ -66,26 +64,23 @@ - - +Nv::Blast::TkFramework
    class  Nv::Blast::TkFramework
    struct  Nv::Blast::TkFrameworkDesc
    struct  Nv::Blast::TkJointDesc
    struct  Nv::Blast::TkTypeIndex
    namespace  physx
    namespace  physx::general_PxIOStream2

    Functions

    NVBLAST_API
    -Nv::Blast::TkFramework
    NvBlastTkFrameworkCreate (const Nv::Blast::TkFrameworkDesc &desc)
    NvBlastTkFrameworkCreate ()
    NVBLAST_API
    Nv::Blast::TkFramework
    NvBlastTkFrameworkGet ()


    Function Documentation

    - +
    - - + @@ -95,11 +90,6 @@

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

    -

    Parameters:
    -
    NVBLAST_API Nv::Blast::TkFramework* NvBlastTkFrameworkCreate (const Nv::Blast::TkFrameworkDesc desc  ) 
    - -
    [in] desc The descriptor used to create the new framework (see TkFrameworkDesc).
    -
    Returns:
    the new TkFramework if successful, NULL otherwise.
    diff --git a/docs/source_docs/files/_nv_blast_tk_framework_impl_8h-source.html b/docs/source_docs/files/_nv_blast_tk_framework_impl_8h-source.html index 8074838..d0b0625 100644 --- a/docs/source_docs/files/_nv_blast_tk_framework_impl_8h-source.html +++ b/docs/source_docs/files/_nv_blast_tk_framework_impl_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/toolkit/source/NvBlastTkFrameworkImpl.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/toolkit/source/NvBlastTkFrameworkImpl.h Source File @@ -35,196 +35,144 @@
  • File Members
  • -

    sdk/toolkit/source/NvBlastTkFrameworkImpl.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 NVBLASTTKFRAMEWORKIMPL_H
    -00012 #define NVBLASTTKFRAMEWORKIMPL_H
    -00013 
    -00014 #include "NvBlastTkFramework.h"
    -00015 #include "NvBlastProfilerInternal.h"
    -00016 
    -00017 #include "NvBlastTkCommon.h"
    -00018 
    -00019 #include "NvBlastTkArray.h"
    -00020 #include "NvBlastTkHashMap.h"
    -00021 #include "NvBlastTkHashSet.h"
    -00022 
    -00023 
    -00025 
    -00026 #define NVBLASTTK_LOG_ERROR(_msg)   NVBLAST_LOG_ERROR(TkFrameworkImpl::log, _msg)
    -00027 #define NVBLASTTK_LOG_WARNING(_msg) NVBLAST_LOG_WARNING(TkFrameworkImpl::log, _msg)
    -00028 #define NVBLASTTK_LOG_INFO(_msg)    NVBLAST_LOG_INFO(TkFrameworkImpl::log, _msg)
    -00029 #define NVBLASTTK_LOG_DEBUG(_msg)   NVBLAST_LOG_DEBUG(TkFrameworkImpl::log, _msg)
    -00030 
    -00031 #define NVBLASTTK_CHECK(_expr, _messageType, _msg, _onFail)                                                             \
    -00032     {                                                                                                                   \
    -00033         if(!(_expr))                                                                                                    \
    -00034         {                                                                                                               \
    -00035             TkFrameworkImpl::log(_messageType, _msg, __FILE__, __LINE__);                                               \
    -00036             { _onFail; };                                                                                               \
    -00037         }                                                                                                               \
    -00038     }                                                                                                                   
    -00039 
    -00040 #define NVBLASTTK_CHECK_ERROR(_expr, _msg, _onFail)     NVBLASTTK_CHECK(_expr, NvBlastMessage::Error, _msg, _onFail)
    -00041 #define NVBLASTTK_CHECK_WARNING(_expr, _msg, _onFail)   NVBLASTTK_CHECK(_expr, NvBlastMessage::Warning, _msg, _onFail)
    -00042 #define NVBLASTTK_CHECK_INFO(_expr, _msg, _onFail)      NVBLASTTK_CHECK(_expr, NvBlastMessage::Info, _msg, _onFail)
    -00043 #define NVBLASTTK_CHECK_DEBUG(_expr, _msg, _onFail)     NVBLASTTK_CHECK(_expr, NvBlastMessage::Debug, _msg, _onFail)
    -00044 
    -00045 
    -00047 
    -00048 #define NVBLASTTK_ALLOC(_size, _name)   TkFrameworkImpl::get()->getAllocatorCallbackInternal().allocate(_size, _name, __FILE__, __LINE__)
    -00049 #define NVBLASTTK_FREE(_mem)            TkFrameworkImpl::get()->getAllocatorCallbackInternal().deallocate(_mem)
    -00050 
    -00051 #define NVBLASTTK_NEW(T)    new (NVBLASTTK_ALLOC(sizeof(T), #T)) T
    -00052 #define NVBLASTTK_DELETE(obj, T)    \
    -00053     (obj)->~T();                    \
    -00054     NVBLASTTK_FREE(obj)
    -00055 
    -00056 
    -00057 
    -00058 
    +

    sdk/toolkit/source/NvBlastTkFrameworkImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTKFRAMEWORKIMPL_H
    +00030 #define NVBLASTTKFRAMEWORKIMPL_H
    +00031 
    +00032 #include "NvBlastTkFramework.h"
    +00033 #include "NvBlastProfilerInternal.h"
    +00034 
    +00035 #include "NvBlastTkCommon.h"
    +00036 
    +00037 #include "NvBlastArray.h"
    +00038 #include "NvBlastHashMap.h"
    +00039 #include "NvBlastHashSet.h"
    +00040 
    +00041 
    +00042 namespace Nv
    +00043 {
    +00044 namespace Blast
    +00045 {
    +00046 
    +00047 // Forward declarations
    +00048 class TkTypeImpl;
    +00049 class TkJointImpl;
    +00050 
    +00054 class TkFrameworkImpl : public TkFramework
    +00055 {
    +00056 public:
    +00057                                         TkFrameworkImpl();
    +00058                                         ~TkFrameworkImpl();
     00059 
    -00060 namespace Nv
    -00061 {
    -00062 namespace Blast
    -00063 {
    +00060     // Begin TkFramework
    +00061     virtual void                        release() override;
    +00062 
    +00063     virtual const TkType*               getType(TkTypeIndex::Enum typeIndex) const override;
     00064 
    -00065 // Forward declarations
    -00066 class TkTypeImpl;
    -00067 class TkJointImpl;
    +00065     virtual TkIdentifiable*             findObjectByID(const NvBlastID& id) const override;
    +00066 
    +00067     virtual uint32_t                    getObjectCount(const TkType& type) const override;
     00068 
    -00072 class TkFrameworkImpl : public TkFramework
    -00073 {
    -00074 public:
    -00075                                         TkFrameworkImpl(const TkFrameworkDesc& desc);
    -00076                                         ~TkFrameworkImpl();
    -00077 
    -00078     // Begin TkFramework
    -00079     virtual void                        release() override;
    +00069     virtual uint32_t                    getObjects(TkIdentifiable** buffer, uint32_t bufferSize, const TkType& type, uint32_t indexStart = 0) const override;
    +00070 
    +00071     virtual bool                        reorderAssetDescChunks(NvBlastChunkDesc* chunkDescs, uint32_t chunkCount, NvBlastBondDesc* bondDescs, uint32_t bondCount, uint32_t* chunkReorderMap = nullptr, bool keepBondNormalChunkOrder = false) const override;
    +00072 
    +00073     virtual bool                        ensureAssetExactSupportCoverage(NvBlastChunkDesc* chunkDescs, uint32_t chunkCount) const override;
    +00074 
    +00075     virtual TkAsset*                    createAsset(const TkAssetDesc& desc) override;
    +00076 
    +00077     virtual TkAsset*                    createAsset(const NvBlastAsset* assetLL, Nv::Blast::TkAssetJointDesc* jointDescs = nullptr, uint32_t jointDescCount = 0, bool ownsAsset = false) override;
    +00078 
    +00079     virtual TkGroup*                    createGroup(const TkGroupDesc& desc) override;
     00080 
    -00081     virtual physx::PxErrorCallback&     getErrorCallback() const override;
    +00081     virtual TkActor*                    createActor(const TkActorDesc& desc) override;
     00082 
    -00083     virtual physx::PxAllocatorCallback& getAllocatorCallback() const override;
    -00084 
    -00085     virtual NvBlastLog                  getLogFn() const override;
    -00086 
    -00087     virtual TkSerializable*             deserialize(physx::general_PxIOStream2::PxFileBuf& stream) override;
    -00088 
    -00089     virtual const TkType*               getType(TkTypeIndex::Enum typeIndex) const override;
    -00090 
    -00091     virtual TkIdentifiable*             findObjectByID(const NvBlastID& id) const override;
    -00092 
    -00093     virtual uint32_t                    getObjectCount(const TkType& type) const override;
    -00094 
    -00095     virtual uint32_t                    getObjects(TkIdentifiable** buffer, uint32_t bufferSize, const TkType& type, uint32_t indexStart = 0) const override;
    +00083     virtual TkJoint*                    createJoint(const TkJointDesc& desc) override;
    +00084     // End TkFramework
    +00085 
    +00086     // Public methods
    +00090     void                                onCreate(TkIdentifiable& object);
    +00091 
    +00095     void                                onDestroy(TkIdentifiable& object);
     00096 
    -00097     virtual bool                        reorderAssetDescChunks(NvBlastChunkDesc* chunkDescs, uint32_t chunkCount, NvBlastBondDesc* bondDescs, uint32_t bondCount, uint32_t* chunkReorderMap = nullptr) const override;
    -00098 
    -00099     virtual bool                        ensureAssetExactSupportCoverage(NvBlastChunkDesc* chunkDescs, uint32_t chunkCount) const override;
    -00100 
    -00101     virtual TkAsset*                    createAsset(const TkAssetDesc& desc) override;
    -00102 
    -00103     virtual TkAsset*                    createAsset(const NvBlastAsset* assetLL, Nv::Blast::TkAssetJointDesc* jointDescs = nullptr, uint32_t jointDescCount = 0, bool ownsAsset = false) override;
    -00104 
    -00105     virtual TkGroup*                    createGroup(const TkGroupDesc& desc) override;
    +00100     void                                onCreate(TkJointImpl& joint);
    +00101 
    +00105     void                                onDestroy(TkJointImpl& joint);
     00106 
    -00107     virtual TkActor*                    createActor(const TkActorDesc& desc) override;
    -00108 
    -00109     virtual TkJoint*                    createJoint(const TkJointDesc& desc) override;
    -00110     // End TkFramework
    +00110     void                                onIDChange(TkIdentifiable& object, const NvBlastID& IDPrev, const NvBlastID& IDCurr);
     00111 
    -00112     // Public methods
    -00116     physx::PxErrorCallback&             getErrorCallbackInternal() const;
    -00117 
    -00121     physx::PxAllocatorCallback&         getAllocatorCallbackInternal() const;
    -00122 
    -00126     void                                onCreate(TkIdentifiable& object);
    -00127 
    -00131     void                                onDestroy(TkIdentifiable& object);
    -00132 
    -00136     void                                onCreate(TkJointImpl& joint);
    -00137 
    -00141     void                                onDestroy(TkJointImpl& joint);
    -00142 
    -00146     void                                onIDChange(TkIdentifiable& object, const NvBlastID& IDPrev, const NvBlastID& IDCurr);
    -00147 
    -00151     TkIdentifiable*                     findObjectByIDInternal(const NvBlastID& id) const;
    -00152 
    -00156     bool                                serializeHeader(const TkSerializable& object, physx::general_PxIOStream2::PxFileBuf& stream);
    +00115     TkIdentifiable*                     findObjectByIDInternal(const NvBlastID& id) const;
    +00116 
    +00117     // Access to singleton
    +00118 
    +00120     static TkFrameworkImpl*             get();
    +00121 
    +00123     static bool                         set(TkFrameworkImpl* framework);
    +00124 
    +00125 private:
    +00126     // Enums
    +00127     enum { ClassID = NVBLAST_FOURCC('T', 'K', 'F', 'W') };  
    +00128 
    +00129     // Static data
    +00130     static TkFrameworkImpl*                                                     s_framework;            
    +00131 
    +00132     // Types
    +00133     InlineArray<const TkTypeImpl*, TkTypeIndex::TypeCount>::type                m_types;                
    +00134     HashMap<uint32_t, uint32_t>::type                                           m_typeIDToIndex;        
    +00135 
    +00136     // Objects and object names
    +00137     HashMap<NvBlastID, TkIdentifiable*>::type                                   m_IDToObject;           
    +00138     InlineArray<Array<TkIdentifiable*>::type, TkTypeIndex::TypeCount>::type     m_objects;              
    +00139 
    +00140     // Track external joints (to do: make this a pool)
    +00141     HashSet<TkJointImpl*>::type                                                 m_joints;               
    +00142 };
    +00143 
    +00144 
    +00146 
    +00147 NV_INLINE TkIdentifiable* TkFrameworkImpl::findObjectByIDInternal(const NvBlastID& id) const
    +00148 {
    +00149     const auto entry = m_IDToObject.find(id);
    +00150     if (entry == nullptr)
    +00151     {
    +00152         return nullptr;
    +00153     }
    +00154 
    +00155     return entry->second;
    +00156 }
     00157 
    -00158     // Access to singleton
    -00159 
    -00161     static TkFrameworkImpl*             get();
    -00162 
    -00164     static bool                         set(TkFrameworkImpl* framework);
    -00165 
    -00166     // Blast LL context functions
    -00167     static  void                        log(int type, const char* msg, const char* file, int line); 
    -00168     static  void*                       alloc(size_t size);                                         
    -00169     static  void                        free(void* mem);                                            
    -00170 
    -00171 private:
    -00172     // Enums
    -00173     enum { Alignment = 16 };                                    
    -00174     enum { ClassID = NVBLASTTK_FOURCC('T', 'K', 'F', 'W') };    
    -00175 
    -00176     // Static data
    -00177     static TkFrameworkImpl*                                                     s_framework;            
    -00178 
    -00179     // Callbacks
    -00180     physx::PxErrorCallback*                                                     m_errorCallback;        
    -00181     physx::PxAllocatorCallback*                                                 m_allocatorCallback;    
    -00182 
    -00183     // Types
    -00184     TkInlineArray<const TkTypeImpl*, TkTypeIndex::TypeCount>::type              m_types;                
    -00185     TkHashMap<uint32_t, uint32_t>::type                                         m_typeIDToIndex;        
    -00186 
    -00187     // Objects and object names
    -00188     TkHashMap<NvBlastID, TkIdentifiable*>::type                                 m_IDToObject;           
    -00189     TkInlineArray<TkArray<TkIdentifiable*>::type, TkTypeIndex::TypeCount>::type m_objects;              
    -00190 
    -00191     // Track external joints (to do: make this a pool)
    -00192     TkHashSet<TkJointImpl*>::type                                               m_joints;               
    -00193 };
    -00194 
    -00195 
    -00197 
    -00198 NV_INLINE physx::PxErrorCallback& TkFrameworkImpl::getErrorCallbackInternal() const
    -00199 {
    -00200     return *m_errorCallback;
    -00201 }
    -00202 
    -00203 
    -00204 NV_INLINE physx::PxAllocatorCallback& TkFrameworkImpl::getAllocatorCallbackInternal() const
    -00205 {
    -00206     return *m_allocatorCallback;
    -00207 }
    -00208 
    -00209 
    -00210 NV_INLINE TkIdentifiable* TkFrameworkImpl::findObjectByIDInternal(const NvBlastID& id) const
    -00211 {
    -00212     const auto entry = m_IDToObject.find(id);
    -00213     if (entry == nullptr)
    -00214     {
    -00215         return nullptr;
    -00216     }
    -00217 
    -00218     return entry->second;
    -00219 }
    -00220 
    -00221 } // namespace Blast
    -00222 } // namespace Nv
    -00223 
    -00224 
    -00225 #endif // ifndef NVBLASTTKFRAMEWORKIMPL_H
    +00158 } // namespace Blast
    +00159 } // namespace Nv
    +00160 
    +00161 
    +00162 #endif // ifndef NVBLASTTKFRAMEWORKIMPL_H
     
    -

    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 {
    +

    sdk/toolkit/include/NvBlastTkGroup.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
     00028 
    -00029 // Forward declarations
    -00030 class TkActor;
    -00031 
    -00032 
    -00037 struct TkGroupDesc
    +00029 #ifndef NVBLASTTKGROUP_H
    +00030 #define NVBLASTTKGROUP_H
    +00031 
    +00032 #include "NvBlastTkIdentifiable.h"
    +00033 
    +00034 
    +00035 namespace Nv
    +00036 {
    +00037 namespace Blast
     00038 {
    -00039     physx::PxTaskManager* pxTaskManager;    
    -00040 };
    -00041 
    +00039 
    +00040 // Forward declarations
    +00041 class TkActor;
     00042 
    -00047 struct TkGroupStats
    -00048 {
    -00049     NvBlastTimers   timers;                 
    -00050     uint32_t        processedActorsCount;   
    -00051     int64_t         workerTime;             
    -00052 };
    +00043 
    +00048 struct TkGroupDesc
    +00049 {
    +00050     uint32_t        workerCount;            
    +00051 };
    +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;
    +00058 struct TkGroupStats
    +00059 {
    +00060     NvBlastTimers   timers;                 
    +00061     uint32_t        processedActorsCount;   
    +00062     int64_t         workerTime;             
    +00063 };
    +00064 
    +00065 
    +00074 class TkGroupWorker
    +00075 {
    +00076 public:
    +00082     virtual void    process(uint32_t jobId) = 0;
    +00083 };
    +00084 
    +00085 
    +00101 class TkGroup : public TkIdentifiable
    +00102 {
    +00103 public:
    +00111     virtual bool            addActor(TkActor& actor) = 0;
    +00112 
    +00118     virtual uint32_t        getActorCount() const = 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
    +00129     virtual uint32_t        getActors(TkActor** buffer, uint32_t bufferSize, uint32_t indexStart = 0) const = 0;
    +00130 
    +00137     virtual uint32_t        startProcess() = 0;
    +00138 
    +00149     virtual bool            endProcess() = 0;
    +00150 
    +00154     virtual void            setWorkerCount(uint32_t workerCount) = 0;
    +00155 
    +00159     virtual uint32_t        getWorkerCount() const = 0;
    +00160 
    +00167     virtual TkGroupWorker*  acquireWorker() = 0;
    +00168 
    +00174     virtual void            returnWorker(TkGroupWorker*) = 0;
    +00175 
    +00179     virtual void            process();
    +00180 
    +00187     virtual void            getStats(TkGroupStats& stats) const = 0;
    +00188 };
    +00189 
    +00190 } // namespace Blast
    +00191 } // namespace Nv
    +00192 
    +00193 
    +00194 NV_INLINE void Nv::Blast::TkGroup::process()
    +00195 {
    +00196     uint32_t jobCount = startProcess();
    +00197     if (jobCount > 0)
    +00198     {
    +00199         TkGroupWorker* worker = acquireWorker();
    +00200         for (uint32_t i = 0; i < jobCount; i++)
    +00201         {
    +00202             worker->process(i);
    +00203         }
    +00204         returnWorker(worker);
    +00205     }
    +00206     endProcess();
    +00207 }
    +00208 
    +00209 
    +00210 #endif // ifndef NVBLASTTKGROUP_H
     
    diff --git a/docs/source_docs/files/_nv_blast_tk_group_impl_8h-source.html b/docs/source_docs/files/_nv_blast_tk_group_impl_8h-source.html index 14a8e69..316e45e 100644 --- a/docs/source_docs/files/_nv_blast_tk_group_impl_8h-source.html +++ b/docs/source_docs/files/_nv_blast_tk_group_impl_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/toolkit/source/NvBlastTkGroupImpl.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/toolkit/source/NvBlastTkGroupImpl.h Source File @@ -35,153 +35,173 @@
  • File Members
  • -

    sdk/toolkit/source/NvBlastTkGroupImpl.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 NVBLASTTKGROUPIMPL_H
    -00012 #define NVBLASTTKGROUPIMPL_H
    -00013 
    -00014 
    -00015 #include "NvBlastTkTaskImpl.h"
    -00016 #include "NvBlastTkGroup.h"
    -00017 #include "NvBlastTkTypeImpl.h"
    -00018 
    -00019 
    -00020 namespace Nv
    -00021 {
    -00022 namespace Blast
    -00023 {
    -00024 
    -00025 class TkActorImpl;
    -00026 class TkFamilyImpl;
    +

    sdk/toolkit/source/NvBlastTkGroupImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
     00027 
    -00028 NVBLASTTK_IMPL_DECLARE(Group)
    -00029 {
    -00030     ~TkGroupImpl();
    -00031 
    -00032 public:
    -00033     TkGroupImpl();
    -00034 
    -00035     NVBLASTTK_IMPL_DEFINE_IDENTIFIABLE('G', 'R', 'P', '\0');
    +00028 
    +00029 #ifndef NVBLASTTKGROUPIMPL_H
    +00030 #define NVBLASTTKGROUPIMPL_H
    +00031 
    +00032 
    +00033 #include "NvBlastTkTaskImpl.h"
    +00034 #include "NvBlastTkGroup.h"
    +00035 #include "NvBlastTkTypeImpl.h"
     00036 
    -00037     static TkGroupImpl* create(const TkGroupDesc& desc);
    -00038 
    -00039     // Begin TkGroup
    -00040     virtual bool        addActor(TkActor& actor) override;
    -00041 
    -00042     virtual uint32_t    getActorCount() const override;
    -00043 
    -00044     virtual uint32_t    getActors(TkActor** buffer, uint32_t bufferSize, uint32_t indexStart = 0) const override;
    +00037 
    +00038 namespace Nv
    +00039 {
    +00040 namespace Blast
    +00041 {
    +00042 
    +00043 class TkActorImpl;
    +00044 class TkFamilyImpl;
     00045 
    -00046     virtual bool        process() override;
    -00047 
    -00048     virtual bool        sync(bool block = true) override;
    +00046 NVBLASTTK_IMPL_DECLARE(Group)
    +00047 {
    +00048     ~TkGroupImpl();
     00049 
    -00050     virtual void        getStats(TkGroupStats& stats) const override;
    -00051     // End TkGroup
    +00050 public:
    +00051     TkGroupImpl();
     00052 
    -00053     // TkGroupImpl API
    +00053     NVBLASTTK_IMPL_DEFINE_IDENTIFIABLE('G', 'R', 'P', '\0');
     00054 
    -00062     bool                removeActor(TkActor& actor);
    +00055     static TkGroupImpl*     create(const TkGroupDesc& desc);
    +00056 
    +00057     // Begin TkGroup
    +00058     virtual bool            addActor(TkActor& actor) override;
    +00059 
    +00060     virtual uint32_t        getActorCount() const override;
    +00061 
    +00062     virtual uint32_t        getActors(TkActor** buffer, uint32_t bufferSize, uint32_t indexStart = 0) const override;
     00063 
    -00068     void                enqueue(TkActorImpl* tkActor);
    -00069 
    -00075     bool                isProcessing() const;
    -00076 
    -00077 private:
    -00086     bool                setProcessing(bool value);
    -00087 
    -00091     SharedMemory*       getSharedMemory(TkFamilyImpl* family);
    -00092     void                releaseSharedMemory(TkFamilyImpl* fam, SharedMemory* mem);
    -00093 
    -00094     // functions to add/remove actors _without_ group-family memory management
    -00095     void                addActorInternal(TkActorImpl& tkActor);
    -00096     void                addActorsInternal(TkActorImpl** actors, uint32_t numActors);
    -00097     void                removeActorInternal(TkActorImpl& tkActor);
    -00098 
    +00064     virtual uint32_t        startProcess() override;
    +00065     virtual bool            endProcess() override;
    +00066 
    +00067     virtual void            getStats(TkGroupStats& stats) const override;
    +00068 
    +00069     virtual void            setWorkerCount(uint32_t workerCount) override;
    +00070     virtual uint32_t        getWorkerCount() const override;
    +00071 
    +00072     virtual TkGroupWorker*  acquireWorker() override;
    +00073     virtual void            returnWorker(TkGroupWorker*) override;
    +00074     // End TkGroup
    +00075 
    +00076     // TkGroupImpl API
    +00077 
    +00085     bool                    removeActor(TkActor& actor);
    +00086 
    +00091     void                    enqueue(TkActorImpl* tkActor);
    +00092 
    +00098     bool                    isProcessing() const;
     00099 
    -00100     physx::PxTaskManager*                           m_pxTaskManager;        
    -00101     uint32_t                                        m_initialNumThreads;    
    -00102 
    -00103     uint32_t                                        m_actorCount;           
    -00104 
    -00105     TkHashMap<TkFamilyImpl*, SharedMemory*>::type   m_sharedMemory;         
    -00106 
    -00107     // it is assumed no more than the asset's number of bond and chunks fracture commands are produced
    -00108     SharedBlock<NvBlastChunkFractureData>           m_chunkTempDataBlock;   
    -00109     SharedBlock<NvBlastBondFractureData>            m_bondTempDataBlock;    
    -00110     SharedBlock<NvBlastChunkFractureData>           m_chunkEventDataBlock;  
    -00111     SharedBlock<NvBlastBondFractureData>            m_bondEventDataBlock;   
    -00112     SharedBlock<char>                               m_splitScratchBlock;    
    -00113 
    -00114     std::atomic<bool>                               m_isProcessing;         
    -00115     TaskSync                                        m_sync;                 
    +00100 private:
    +00109     bool                    setProcessing(bool value);
    +00110 
    +00114     SharedMemory*           getSharedMemory(TkFamilyImpl* family);
    +00115     void                    releaseSharedMemory(TkFamilyImpl* fam, SharedMemory* mem);
     00116 
    -00117     TkArray<TkWorker>::type                         m_workers;              
    -00118     TkAtomicJobQueue                                m_jobQueue;             
    -00119 
    -00120     TkArray<TkWorkerJob>::type                      m_jobs;                 
    +00117     // functions to add/remove actors _without_ group-family memory management
    +00118     void                    addActorInternal(TkActorImpl& tkActor);
    +00119     void                    addActorsInternal(TkActorImpl** actors, uint32_t numActors);
    +00120     void                    removeActorInternal(TkActorImpl& tkActor);
     00121 
    -00122 //#if NV_PROFILE
    -00123     TkGroupStats                                    m_stats;                
    -00124 //#endif
    -00125 
    -00126     friend class TkWorker;
    -00127 };
    -00128 
    -00129 
    -00130 NV_INLINE bool TkGroupImpl::isProcessing() const
    -00131 {
    -00132     return m_isProcessing.load();
    -00133 }
    -00134 
    +00122 
    +00123     uint32_t                                        m_actorCount;           
    +00124 
    +00125     HashMap<TkFamilyImpl*, SharedMemory*>::type     m_sharedMemory;         
    +00126 
    +00127     // it is assumed no more than the asset's number of bond and chunks fracture commands are produced
    +00128     SharedBlock<NvBlastChunkFractureData>           m_chunkTempDataBlock;   
    +00129     SharedBlock<NvBlastBondFractureData>            m_bondTempDataBlock;    
    +00130     SharedBlock<NvBlastChunkFractureData>           m_chunkEventDataBlock;  
    +00131     SharedBlock<NvBlastBondFractureData>            m_bondEventDataBlock;   
    +00132     SharedBlock<char>                               m_splitScratchBlock;    
    +00133 
    +00134     std::atomic<bool>                               m_isProcessing;         
     00135 
    -00136 NV_INLINE void TkGroupImpl::getStats(TkGroupStats& stats) const
    -00137 {
    -00138 #if NV_PROFILE
    -00139     memcpy(&stats, &m_stats, sizeof(TkGroupStats));
    -00140 #else
    -00141     NV_UNUSED(stats);
    -00142 #endif
    -00143 }
    -00144 
    +00136     Array<TkWorker>::type                           m_workers;              
    +00137 
    +00138     Array<TkWorkerJob>::type                        m_jobs;                 
    +00139 
    +00140 //#if NV_PROFILE
    +00141     TkGroupStats                                    m_stats;                
    +00142 //#endif
    +00143 
    +00144     std::mutex  m_workerMtx;
     00145 
    -00146 NV_INLINE uint32_t TkGroupImpl::getActorCount() const
    -00147 {
    -00148     return m_actorCount;
    -00149 }
    -00150 
    -00151 
    -00152 NV_INLINE SharedMemory* TkGroupImpl::getSharedMemory(TkFamilyImpl* family)
    -00153 {
    -00154     SharedMemory* mem = m_sharedMemory[family];
    -00155     NVBLAST_ASSERT(mem != nullptr);
    -00156     return mem;
    -00157 }
    -00158 
    -00159 
    -00160 NV_FORCE_INLINE void operator +=(NvBlastTimers& lhs, const NvBlastTimers& rhs)
    -00161 {
    -00162     lhs.material += rhs.material;
    -00163     lhs.fracture += rhs.fracture;
    -00164     lhs.island += rhs.fracture;
    -00165     lhs.partition += rhs.partition;
    -00166     lhs.visibility += rhs.visibility;
    -00167 }
    -00168 
    -00169 
    -00170 } // namespace Blast
    -00171 } // namespace Nv
    -00172 
    -00173 
    -00174 #endif // ifndef NVBLASTTKGROUPIMPL_H
    +00146     friend class TkWorker;
    +00147 };
    +00148 
    +00149 
    +00150 NV_INLINE bool TkGroupImpl::isProcessing() const
    +00151 {
    +00152     return m_isProcessing.load();
    +00153 }
    +00154 
    +00155 
    +00156 NV_INLINE void TkGroupImpl::getStats(TkGroupStats& stats) const
    +00157 {
    +00158 #if NV_PROFILE
    +00159     memcpy(&stats, &m_stats, sizeof(TkGroupStats));
    +00160 #else
    +00161     NV_UNUSED(stats);
    +00162 #endif
    +00163 }
    +00164 
    +00165 
    +00166 NV_INLINE uint32_t TkGroupImpl::getActorCount() const
    +00167 {
    +00168     return m_actorCount;
    +00169 }
    +00170 
    +00171 
    +00172 NV_INLINE SharedMemory* TkGroupImpl::getSharedMemory(TkFamilyImpl* family)
    +00173 {
    +00174     SharedMemory* mem = m_sharedMemory[family];
    +00175     NVBLAST_ASSERT(mem != nullptr);
    +00176     return mem;
    +00177 }
    +00178 
    +00179 
    +00180 NV_FORCE_INLINE void operator +=(NvBlastTimers& lhs, const NvBlastTimers& rhs)
    +00181 {
    +00182     lhs.material += rhs.material;
    +00183     lhs.fracture += rhs.fracture;
    +00184     lhs.island += rhs.fracture;
    +00185     lhs.partition += rhs.partition;
    +00186     lhs.visibility += rhs.visibility;
    +00187 }
    +00188 
    +00189 
    +00190 } // namespace Blast
    +00191 } // namespace Nv
    +00192 
    +00193 
    +00194 #endif // ifndef NVBLASTTKGROUPIMPL_H
     
    -

    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;
    +

    sdk/toolkit/include/NvBlastTkIdentifiable.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
     00027 
     00028 
    -00032 class TkIdentifiable : public TkObject
    -00033 {
    -00034 public:
    -00035     // Identifiable API
    +00029 #ifndef NVBLASTTKIDENTIFIABLE_H
    +00030 #define NVBLASTTKIDENTIFIABLE_H
    +00031 
    +00032 
    +00033 #include "NvBlastTkObject.h"
    +00034 
    +00035 #include "NvBlastTypes.h"
     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
    +00037 
    +00038 namespace Nv
    +00039 {
    +00040 namespace Blast
    +00041 {
    +00042 
    +00043 // Forward declarations
    +00044 class TkType;
    +00045 
    +00046 
    +00050 class TkIdentifiable : public TkObject
    +00051 {
    +00052 public:
    +00053     // Identifiable API
    +00054 
    +00060     virtual const NvBlastID&    getID() const = 0;
    +00061 
    +00065     virtual void                setID(const NvBlastID& id) = 0;
    +00066 
    +00072     virtual const TkType&       getType() const = 0;
    +00073 
    +00077     uint64_t    userIntData;
    +00078 };
    +00079 
    +00080 } // namespace Blast
    +00081 } // namespace Nv
    +00082 
    +00083 
    +00084 #endif // ifndef NVBLASTTKIDENTIFIABLE_H
     
    -

    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 };
    +

    sdk/toolkit/include/NvBlastTkJoint.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTKJOINT_H
    +00030 #define NVBLASTTKJOINT_H
    +00031 
    +00032 #include "NvBlastTkObject.h"
     00033 
    -00034 
    -00045 class TkJoint : public TkObject
    +00034 #include "PxVec3.h"
    +00035 
    +00036 
    +00037 namespace Nv
    +00038 {
    +00039 namespace Blast
    +00040 {
    +00041 
    +00045 struct TkJointData
     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
    +00047     TkActor*        actors[2];          
    +00048     uint32_t        chunkIndices[2];    
    +00049     physx::PxVec3   attachPositions[2]; 
    +00050 };
    +00051 
    +00052 
    +00063 class TkJoint : public TkObject
    +00064 {
    +00065 public:
    +00071     virtual const TkJointData   getData() const = 0;
    +00072 };
    +00073 
    +00074 } // namespace Blast
    +00075 } // namespace Nv
    +00076 
    +00077 
    +00078 #endif // ifndef NVBLASTTKJOINT_H
     
    -

    sdk/toolkit/source/NvBlastTkJointImpl.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 NVBLASTTKJOINTIMPL_H
    -00012 #define NVBLASTTKJOINTIMPL_H
    -00013 
    -00014 
    -00015 #include "NvBlastTkJoint.h"
    -00016 #include "NvBlastTkCommon.h"
    -00017 #include "NvBlastIndexFns.h"
    -00018 
    -00019 #include "NvBlastAssert.h"
    -00020 #include "NvBlastDLink.h"
    -00021 
    -00022 #include <atomic>
    -00023 
    -00024 
    -00025 namespace Nv
    -00026 {
    -00027 namespace Blast
    -00028 {
    -00029 
    -00030 // Forward declarations
    -00031 class TkActorImpl;
    -00032 class TkJointImpl;
    -00033 class TkFamilyImpl;
    -00034 class TkEventQueue;
    -00035 
    +

    sdk/toolkit/source/NvBlastTkJointImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTKJOINTIMPL_H
    +00030 #define NVBLASTTKJOINTIMPL_H
    +00031 
    +00032 
    +00033 #include "NvBlastTkJoint.h"
    +00034 #include "NvBlastTkCommon.h"
    +00035 #include "NvBlastIndexFns.h"
     00036 
    -00040 struct TkJointLink : public DLink
    -00041 {
    -00042     TkJointImpl*    m_joint;    
    -00043 };
    -00044 
    -00045 
    -00049 class TkJointImpl : public TkJoint
    -00050 {
    -00051 public:
    -00053     TkJointImpl();
    +00037 #include "NvBlastAssert.h"
    +00038 #include "NvBlastDLink.h"
    +00039 
    +00040 #include <atomic>
    +00041 
    +00042 
    +00043 namespace Nv
    +00044 {
    +00045 namespace Blast
    +00046 {
    +00047 
    +00048 // Forward declarations
    +00049 class TkActorImpl;
    +00050 class TkJointImpl;
    +00051 class TkFamilyImpl;
    +00052 class TkEventQueue;
    +00053 
     00054 
    -00061     TkJointImpl(const TkJointDesc& desc, TkFamilyImpl* owner);
    +00058 struct TkJointLink : public DLink
    +00059 {
    +00060     TkJointImpl*    m_joint;    
    +00061 };
     00062 
    -00063     // Begin TkObject
    -00064     virtual void                release() override;
    -00065     // End TkObject
    -00066 
    -00067     // Begin TkJoint
    -00068     virtual const   TkJointData getData() const override;
    -00069     // End TkJoint
    -00070 
    -00071     // Public API
    +00063 
    +00067 class TkJointImpl : public TkJoint
    +00068 {
    +00069 public:
    +00071     TkJointImpl();
     00072 
    -00078     const TkJointData&          getDataInternal() const;    
    -00079 
    -00085     TkJointData&                getDataWritable();
    -00086 
    -00099     void                        setActors(TkActorImpl* actor0, TkActorImpl* actor1, TkEventQueue* alternateQueue = nullptr);
    -00100 
    -00104     void                        removeReferencesInActors();
    -00105 
    -00110     void                        removeReferencesInFamilies();
    -00111 
    -00112 private:
    -00113     TkJointData     m_data;     
    -00114     TkJointLink     m_links[2]; 
    -00115     TkFamilyImpl*   m_owner;    
    -00116 
    -00117     friend class TkFrameworkImpl;
    -00118     friend class TkFamilyImpl;
    -00119     friend class TkActorImpl;
    -00120 };
    -00121 
    -00122 
    -00124 
    -00125 NV_INLINE TkJointImpl::TkJointImpl()
    -00126 {
    -00127     m_links[0].m_joint = m_links[1].m_joint = this;
    -00128 }
    +00079     TkJointImpl(const TkJointDesc& desc, TkFamilyImpl* owner);
    +00080 
    +00081     // Begin TkObject
    +00082     virtual void                release() override;
    +00083     // End TkObject
    +00084 
    +00085     // Begin TkJoint
    +00086     virtual const   TkJointData getData() const override;
    +00087     // End TkJoint
    +00088 
    +00089     // Public API
    +00090 
    +00096     const TkJointData&          getDataInternal() const;    
    +00097 
    +00103     TkJointData&                getDataWritable();
    +00104 
    +00117     void                        setActors(TkActorImpl* actor0, TkActorImpl* actor1, TkEventQueue* alternateQueue = nullptr);
    +00118 
    +00122     void                        removeReferencesInActors();
    +00123 
    +00128     void                        removeReferencesInFamilies();
     00129 
    -00130 
    -00131 NV_INLINE const TkJointData& TkJointImpl::getDataInternal() const
    -00132 {
    -00133     return m_data;
    -00134 }
    -00135 
    -00136 
    -00137 NV_INLINE TkJointData& TkJointImpl::getDataWritable()
    -00138 {
    -00139     return m_data;
    -00140 }
    -00141 
    -00142 } // namespace Blast
    -00143 } // namespace Nv
    -00144 
    -00145 
    -00146 #endif // ifndef NVBLASTTKJOINTIMPL_H
    +00130 private:
    +00131     TkJointData     m_data;     
    +00132     TkJointLink     m_links[2]; 
    +00133     TkFamilyImpl*   m_owner;    
    +00134 
    +00135     friend class TkFrameworkImpl;
    +00136     friend class TkFamilyImpl;
    +00137     friend class TkActorImpl;
    +00138 };
    +00139 
    +00140 
    +00142 
    +00143 NV_INLINE TkJointImpl::TkJointImpl()
    +00144 {
    +00145     m_links[0].m_joint = m_links[1].m_joint = this;
    +00146 }
    +00147 
    +00148 
    +00149 NV_INLINE const TkJointData& TkJointImpl::getDataInternal() const
    +00150 {
    +00151     return m_data;
    +00152 }
    +00153 
    +00154 
    +00155 NV_INLINE TkJointData& TkJointImpl::getDataWritable()
    +00156 {
    +00157     return m_data;
    +00158 }
    +00159 
    +00160 } // namespace Blast
    +00161 } // namespace Nv
    +00162 
    +00163 
    +00164 #endif // ifndef NVBLASTTKJOINTIMPL_H
     
    -

    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
    +

    sdk/toolkit/include/NvBlastTkObject.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTKOBJECT_H
    +00030 #define NVBLASTTKOBJECT_H
    +00031 
     00032 
    -00036     virtual void    release() = 0;
    +00033 namespace Nv
    +00034 {
    +00035 namespace Blast
    +00036 {
     00037 
    -00038 protected:
    -00042     virtual         ~TkObject() {}
    -00043 
    -00044 public:
    -00045     // Data
    -00046 
    -00050     void*   userData;
    -00051 };
    -00052 
    -00053 } // namespace Blast
    -00054 } // namespace Nv
    +00041 class TkObject
    +00042 {
    +00043 public:
    +00047     TkObject() : userData(nullptr) {}
    +00048 
    +00049     // Object API
    +00050 
    +00054     virtual void    release() = 0;
     00055 
    -00056 
    -00057 #endif // ifndef NVBLASTTKOBJECT_H
    +00056 protected:
    +00060     virtual         ~TkObject() {}
    +00061 
    +00062 public:
    +00063     // Data
    +00064 
    +00068     void*   userData;
    +00069 };
    +00070 
    +00071 } // namespace Blast
    +00072 } // namespace Nv
    +00073 
    +00074 
    +00075 #endif // ifndef NVBLASTTKOBJECT_H
     
    -

    sdk/toolkit/source/NvBlastTkTaskImpl.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 NVBLASTTKTASKIMPL_H
    -00012 #define NVBLASTTKTASKIMPL_H
    -00013 
    -00014 #include "NvBlast.h"
    -00015 
    -00016 #include "NvBlastTkFrameworkImpl.h"
    -00017 #include "NvBlastTkEventQueue.h"
    -00018 #include "NvBlastTkArray.h"
    -00019 
    -00020 #include <atomic>
    -00021 #include <mutex>
    -00022 #include <condition_variable>
    -00023 
    -00024 #include "task/PxTask.h"
    -00025 #include "NvBlastAssert.h"
    -00026 
    -00027 #include "NvBlastTkGroup.h" // TkGroupStats
    +

    sdk/toolkit/source/NvBlastTkTaskImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
     00028 
    -00029 
    -00030 namespace Nv
    -00031 {
    -00032 namespace Blast
    -00033 {
    -00034 
    -00035 class TkGroupImpl;
    -00036 class TkActorImpl;
    -00037 class TkFamilyImpl;
    -00038 
    -00039 
    -00043 struct TkWorkerJob
    -00044 {
    -00045     TkActorImpl*    m_tkActor;          
    -00046     TkActorImpl**   m_newActors;        
    -00047     uint32_t        m_newActorsCount;   
    -00048 };
    -00049 
    -00050 
    -00054 class TaskSync
    -00055 {
    -00056 public:
    -00060     TaskSync(uint32_t count) : m_count(count) {}
    -00061 
    -00065     void wait()
    -00066     {
    -00067         std::unique_lock<std::mutex> lk(m_mutex);
    -00068         m_cv.wait(lk, [&]{ return m_count == 0; });
    -00069     }
    +00029 #ifndef NVBLASTTKTASKIMPL_H
    +00030 #define NVBLASTTKTASKIMPL_H
    +00031 
    +00032 #include "NvBlast.h"
    +00033 
    +00034 #include "NvBlastTkFrameworkImpl.h"
    +00035 #include "NvBlastTkEventQueue.h"
    +00036 #include "NvBlastArray.h"
    +00037 
    +00038 #include <atomic>
    +00039 #include <mutex>
    +00040 #include <condition_variable>
    +00041 
    +00042 #include "NvBlastAssert.h"
    +00043 
    +00044 #include "NvBlastTkGroup.h" // TkGroupStats
    +00045 
    +00046 
    +00047 namespace Nv
    +00048 {
    +00049 namespace Blast
    +00050 {
    +00051 
    +00052 class TkGroupImpl;
    +00053 class TkActorImpl;
    +00054 class TkFamilyImpl;
    +00055 
    +00056 
    +00060 struct TkWorkerJob
    +00061 {
    +00062     TkActorImpl*    m_tkActor;          
    +00063     TkActorImpl**   m_newActors;        
    +00064     uint32_t        m_newActorsCount;   
    +00065 };
    +00066 
    +00067 
    +00068 
    +00069 
     00070 
    -00074     void notify()
    -00075     {
    -00076         PERF_SCOPE_H("TaskSync::notify");
    -00077         std::unique_lock<std::mutex> lk(m_mutex);
    -00078         m_count--;
    -00079         if (m_count == 0)
    -00080         {
    -00081             lk.unlock();
    -00082             m_cv.notify_one();
    -00083         }
    -00084     }
    -00085 
    -00089     bool isDone()
    -00090     {
    -00091         std::unique_lock<std::mutex> lk(m_mutex);
    -00092         return m_count == 0;
    -00093     }
    -00094 
    -00098     void setCount(uint32_t count)
    -00099     {
    -00100         m_count = count;
    -00101     }
    -00102 
    -00103 private:
    -00104     std::mutex              m_mutex;
    -00105     std::condition_variable m_cv;
    -00106     uint32_t                m_count;
    -00107 };
    -00108 
    +00074 template<typename T>
    +00075 class SharedBlock
    +00076 {
    +00077 public:
    +00078 
    +00079     SharedBlock() : m_numElementsPerBlock(0), m_numBlocks(0), m_buffer(nullptr) {}
    +00080 
    +00084     void allocate(uint32_t elementsPerBlock, uint32_t numBlocks)
    +00085     {
    +00086         NVBLAST_ASSERT(elementsPerBlock > 0 && numBlocks > 0);
    +00087 
    +00088         m_buffer = reinterpret_cast<T*>(NVBLAST_ALLOC_NAMED(elementsPerBlock*numBlocks*sizeof(T), "SharedBlock"));
    +00089         m_numElementsPerBlock = elementsPerBlock;
    +00090         m_numBlocks = numBlocks;
    +00091     }
    +00092 
    +00096     T* getBlock(uint32_t id)
    +00097     {
    +00098         NVBLAST_ASSERT(id < m_numBlocks || 0 == m_numElementsPerBlock);
    +00099         return &m_buffer[id*m_numElementsPerBlock];
    +00100     }
    +00101 
    +00105     uint32_t numElementsPerBlock() const 
    +00106     {
    +00107         return m_numElementsPerBlock; 
    +00108     }
     00109 
    -00113 template<typename T>
    -00114 class SharedBlock
    -00115 {
    -00116 public:
    -00117 
    -00118     SharedBlock() : m_numElementsPerBlock(0), m_numBlocks(0), m_buffer(nullptr) {}
    -00119 
    -00123     void allocate(uint32_t elementsPerBlock, uint32_t numBlocks)
    -00124     {
    -00125         NVBLAST_ASSERT(elementsPerBlock > 0 && numBlocks > 0);
    +00113     void release()
    +00114     {
    +00115         m_numBlocks = 0;
    +00116         m_numElementsPerBlock = 0;
    +00117         NVBLAST_FREE(m_buffer);
    +00118         m_buffer = nullptr;
    +00119     }
    +00120 
    +00121 private:
    +00122     uint32_t    m_numElementsPerBlock;  
    +00123     uint32_t    m_numBlocks;            
    +00124     T*          m_buffer;               
    +00125 };
     00126 
    -00127         m_buffer = reinterpret_cast<T*>(NVBLASTTK_ALLOC(elementsPerBlock*numBlocks*sizeof(T), "SharedBlock"));
    -00128         m_numElementsPerBlock = elementsPerBlock;
    -00129         m_numBlocks = numBlocks;
    -00130     }
    -00131 
    -00135     T* getBlock(uint32_t id)
    -00136     {
    -00137         NVBLAST_ASSERT(id < m_numBlocks || 0 == m_numElementsPerBlock);
    -00138         return &m_buffer[id*m_numElementsPerBlock];
    -00139     }
    -00140 
    -00144     uint32_t numElementsPerBlock() const 
    -00145     {
    -00146         return m_numElementsPerBlock; 
    -00147     }
    -00148 
    -00152     void release()
    -00153     {
    -00154         m_numBlocks = 0;
    -00155         m_numElementsPerBlock = 0;
    -00156         NVBLASTTK_FREE(m_buffer);
    -00157         m_buffer = nullptr;
    +00127 
    +00134 template<typename T>
    +00135 class SharedBuffer
    +00136 {
    +00137 public:
    +00138     SharedBuffer() : m_capacity(0), m_used(0), m_buffer(nullptr) {}
    +00139 
    +00143     T* reserve(size_t n)
    +00144     {
    +00145         NVBLAST_ASSERT(m_used + n <= m_capacity);
    +00146         size_t start = m_used.fetch_add(n);
    +00147         return &m_buffer[start];
    +00148     }
    +00149 
    +00153     void allocate(size_t capacity)
    +00154     {
    +00155         NVBLAST_ASSERT(m_buffer == nullptr);
    +00156         m_buffer = reinterpret_cast<T*>(NVBLAST_ALLOC_NAMED(capacity*sizeof(T), "SplitMemory"));
    +00157         m_capacity = capacity;
     00158     }
     00159 
    -00160 private:
    -00161     uint32_t    m_numElementsPerBlock;  
    -00162     uint32_t    m_numBlocks;            
    -00163     T*          m_buffer;               
    -00164 };
    -00165 
    -00166 
    -00173 template<typename T>
    -00174 class SharedBuffer
    -00175 {
    -00176 public:
    -00177     SharedBuffer() : m_capacity(0), m_used(0), m_buffer(nullptr) {}
    +00163     void reset()
    +00164     {
    +00165         m_used = 0;
    +00166     }
    +00167 
    +00171     void release()
    +00172     {
    +00173         NVBLAST_ASSERT(m_buffer != nullptr);
    +00174         NVBLAST_FREE(m_buffer);
    +00175         m_buffer = nullptr;
    +00176         m_capacity = m_used = 0;
    +00177     }
     00178 
    -00182     T* reserve(size_t n)
    -00183     {
    -00184         NVBLAST_ASSERT(m_used + n <= m_capacity);
    -00185         size_t start = m_used.fetch_add(n);
    -00186         return &m_buffer[start];
    -00187     }
    -00188 
    -00192     void allocate(size_t capacity)
    -00193     {
    -00194         NVBLAST_ASSERT(m_buffer == nullptr);
    -00195         m_buffer = reinterpret_cast<T*>(NVBLASTTK_ALLOC(capacity*sizeof(T), "SplitMemory"));
    -00196         m_capacity = capacity;
    -00197     }
    -00198 
    -00202     void reset()
    -00203     {
    -00204         m_used = 0;
    -00205     }
    -00206 
    -00210     void release()
    -00211     {
    -00212         NVBLAST_ASSERT(m_buffer != nullptr);
    -00213         NVBLASTTK_FREE(m_buffer);
    -00214         m_buffer = nullptr;
    -00215         m_capacity = m_used = 0;
    -00216     }
    -00217 
    -00218 private:
    -00219     size_t              m_capacity; 
    -00220     std::atomic<size_t> m_used;     
    -00221     T*                  m_buffer;   
    -00222 };
    -00223 
    -00224 
    -00229 template<typename T>
    -00230 class LocalBuffer
    -00231 {
    -00232 public:
    -00237     T* allocate(size_t n)
    -00238     {
    -00239         if (m_used + n > m_capacity)
    -00240         {
    -00241             allocateNewBlock(n > m_capacity ? n : m_capacity);
    -00242         }
    -00243 
    -00244         size_t index = m_used;
    -00245         m_used += n;
    -00246         return &m_currentBlock[index];
    -00247     }
    -00248 
    -00253     void clear()
    -00254     {
    -00255         for (void* block : m_memoryBlocks)
    -00256         {
    -00257             NVBLASTTK_FREE(block);
    -00258         }
    -00259         m_memoryBlocks.clear();
    -00260     }
    +00179 private:
    +00180     size_t              m_capacity; 
    +00181     std::atomic<size_t> m_used;     
    +00182     T*                  m_buffer;   
    +00183 };
    +00184 
    +00185 
    +00190 template<typename T>
    +00191 class LocalBuffer
    +00192 {
    +00193 public:
    +00198     T* allocate(size_t n)
    +00199     {
    +00200         if (m_used + n > m_capacity)
    +00201         {
    +00202             allocateNewBlock(n > m_capacity ? n : m_capacity);
    +00203         }
    +00204 
    +00205         size_t index = m_used;
    +00206         m_used += n;
    +00207         return &m_currentBlock[index];
    +00208     }
    +00209 
    +00214     void clear()
    +00215     {
    +00216         for (void* block : m_memoryBlocks)
    +00217         {
    +00218             NVBLAST_FREE(block);
    +00219         }
    +00220         m_memoryBlocks.clear();
    +00221     }
    +00222 
    +00227     void initialize(T* block, size_t capacity)
    +00228     {
    +00229         m_currentBlock = block;
    +00230         m_capacity = capacity;
    +00231         m_used = 0;
    +00232     }
    +00233 
    +00234 private:
    +00238     void allocateNewBlock(size_t capacity)
    +00239     {
    +00240         BLAST_PROFILE_SCOPE_L("Local Buffer allocation");
    +00241         m_capacity = capacity;
    +00242         m_currentBlock = static_cast<T*>(NVBLAST_ALLOC_NAMED(capacity*sizeof(T), "Blast LocalBuffer"));
    +00243         m_memoryBlocks.pushBack(m_currentBlock);
    +00244         m_used = 0;
    +00245     }
    +00246 
    +00247     InlineArray<void*, 4>::type     m_memoryBlocks; 
    +00248     T*                              m_currentBlock; 
    +00249     size_t                          m_used;         
    +00250     size_t                          m_capacity;     
    +00251 };
    +00252 
    +00253 
    +00257 class SharedMemory
    +00258 {
    +00259 public:
    +00260     SharedMemory() : m_eventsMemory(0), m_eventsCount(0), m_refCount(0) {}
     00261 
    -00266     void initialize(T* block, size_t capacity)
    -00267     {
    -00268         m_currentBlock = block;
    -00269         m_capacity = capacity;
    -00270         m_used = 0;
    -00271     }
    -00272 
    -00273 private:
    -00277     void allocateNewBlock(size_t capacity)
    -00278     {
    -00279         PERF_SCOPE_L("Local Buffer allocation");
    -00280         m_capacity = capacity;
    -00281         m_currentBlock = static_cast<T*>(NVBLASTTK_ALLOC(capacity*sizeof(T), "Blast LocalBuffer"));
    -00282         m_memoryBlocks.pushBack(m_currentBlock);
    -00283         m_used = 0;
    -00284     }
    -00285 
    -00286     TkInlineArray<void*, 4>::type   m_memoryBlocks; 
    -00287     T*                              m_currentBlock; 
    -00288     size_t                          m_used;         
    -00289     size_t                          m_capacity;     
    -00290 };
    -00291 
    +00265     NvBlastActor** reserveNewActors(size_t n)
    +00266     {
    +00267         return m_newActorBuffers.reserve(n);
    +00268     }
    +00269 
    +00273     TkActor** reserveNewTkActors(size_t n)
    +00274     {
    +00275         return m_newTkActorBuffers.reserve(n);
    +00276     }
    +00277 
    +00281     void allocate(TkFamilyImpl&);
    +00282 
    +00287     void reset()
    +00288     {
    +00289         m_newActorBuffers.reset();
    +00290         m_newTkActorBuffers.reset();
    +00291     }
     00292 
    -00296 class SharedMemory
    -00297 {
    -00298 public:
    -00299     SharedMemory() : m_eventsMemory(0), m_eventsCount(0), m_refCount(0) {}
    -00300 
    -00304     NvBlastActor** reserveNewActors(size_t n)
    -00305     {
    -00306         return m_newActorBuffers.reserve(n);
    -00307     }
    -00308 
    -00312     TkActor** reserveNewTkActors(size_t n)
    -00313     {
    -00314         return m_newTkActorBuffers.reserve(n);
    -00315     }
    -00316 
    -00320     void allocate(TkFamilyImpl&);
    -00321 
    -00326     void reset()
    -00327     {
    -00328         m_newActorBuffers.reset();
    -00329         m_newTkActorBuffers.reset();
    -00330     }
    -00331 
    -00335     void addReference()         { m_refCount++; }
    +00296     void addReference()         { m_refCount++; }
    +00297 
    +00301     void addReference(size_t n) { m_refCount += n; }
    +00302 
    +00307     bool removeReference()
    +00308     {
    +00309         m_refCount--;
    +00310         return !isUsed();
    +00311     }
    +00312 
    +00316     bool isUsed()
    +00317     {
    +00318         return m_refCount > 0;
    +00319     }
    +00320 
    +00324     void release()
    +00325     {
    +00326         m_newActorBuffers.release();
    +00327         m_newTkActorBuffers.release();
    +00328     }
    +00329 
    +00330     TkEventQueue                m_events;               
    +00331     uint32_t                    m_eventsMemory;         
    +00332     uint32_t                    m_eventsCount;          
    +00333 
    +00334 private:
    +00335     size_t                      m_refCount;             
     00336 
    -00340     void addReference(size_t n) { m_refCount += n; }
    +00337     SharedBuffer<NvBlastActor*> m_newActorBuffers;      
    +00338     SharedBuffer<TkActor*>      m_newTkActorBuffers;    
    +00339 };
    +00340 
     00341 
    -00346     bool removeReference()
    -00347     {
    -00348         m_refCount--;
    -00349         return !isUsed();
    -00350     }
    -00351 
    -00355     bool isUsed()
    -00356     {
    -00357         return m_refCount > 0;
    -00358     }
    -00359 
    -00363     void release()
    -00364     {
    -00365         m_newActorBuffers.release();
    -00366         m_newTkActorBuffers.release();
    -00367     }
    -00368 
    -00369     TkEventQueue                m_events;               
    -00370     uint32_t                    m_eventsMemory;         
    -00371     uint32_t                    m_eventsCount;          
    +00346 class TkWorker final : public TkGroupWorker
    +00347 {
    +00348 public:
    +00349     TkWorker() : m_id(~(uint32_t)0), m_group(nullptr), m_isBusy(false) {}
    +00350 
    +00351     void        process(uint32_t jobID);
    +00352     void        initialize();
    +00353 
    +00354     void        process(TkWorkerJob& job);
    +00355 
    +00356     uint32_t                                m_id;           
    +00357     TkGroupImpl*                            m_group;        
    +00358 
    +00359     LocalBuffer<NvBlastChunkFractureData>   m_chunkBuffer;  
    +00360     LocalBuffer<NvBlastBondFractureData>    m_bondBuffer;   
    +00361 
    +00362     void*                                   m_splitScratch;
    +00363     NvBlastFractureBuffers                  m_tempBuffer;
    +00364     bool                                    m_isBusy;
    +00365 
    +00366 #if NV_PROFILE
    +00367     TkGroupStats    m_stats;
    +00368 #endif
    +00369 };
    +00370 }
    +00371 }
     00372 
    -00373 private:
    -00374     size_t                      m_refCount;             
    -00375 
    -00376     SharedBuffer<NvBlastActor*> m_newActorBuffers;      
    -00377     SharedBuffer<TkActor*>      m_newTkActorBuffers;    
    -00378 };
    -00379 
    -00380 
    -00384 template <typename T>
    -00385 class TkAtomicQueue
    -00386 {
    -00387 public:
    -00391     void init(TkWorkerJob* jobs, uint32_t numJobs)
    -00392     {
    -00393         m_jobs = jobs;
    -00394         m_maxCount = numJobs;
    -00395         m_current = 0;
    -00396     }
    -00397 
    -00401     T* next()
    -00402     {
    -00403         size_t index = m_current.fetch_add(1, std::memory_order_relaxed);
    -00404         if (index < m_maxCount)
    -00405         {
    -00406             return &m_jobs[index];
    -00407         }
    -00408         return nullptr;
    -00409     }
    -00410 
    -00411 private:
    -00412     T*                  m_jobs;         
    -00413     size_t              m_maxCount;     
    -00414     std::atomic<size_t> m_current;      
    -00415 };
    -00416 
    -00417 typedef TkAtomicQueue<TkWorkerJob> TkAtomicJobQueue;
    -00418 
    -00419 
    -00424 class TkWorker : public physx::PxLightCpuTask
    -00425 {
    -00426 public:
    -00427     void        run();
    -00428     void        release();
    -00429     const char* getName() const { return "TkWorker"; }
    -00430 
    -00431     uint32_t                                m_id;           
    -00432     TkGroupImpl*                            m_group;        
    -00433 
    -00434     LocalBuffer<NvBlastChunkFractureData>   m_chunkBuffer;  
    -00435     LocalBuffer<NvBlastBondFractureData>    m_bondBuffer;   
    -00436 
    -00437 #if NV_PROFILE
    -00438     TkGroupStats    m_stats;
    -00439 #endif
    -00440 };
    -00441 }
    -00442 }
    -00443 
    -00444 #endif // NVBLASTTKTASKIMPL_H
    +00373 #endif // NVBLASTTKTASKIMPL_H
     
    diff --git a/docs/source_docs/files/_nv_blast_tk_type_8h-source.html b/docs/source_docs/files/_nv_blast_tk_type_8h-source.html index 23a288b..44c66a3 100644 --- a/docs/source_docs/files/_nv_blast_tk_type_8h-source.html +++ b/docs/source_docs/files/_nv_blast_tk_type_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/toolkit/include/NvBlastTkType.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/toolkit/include/NvBlastTkType.h Source File @@ -35,46 +35,64 @@
  • File Members
  • -

    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 
    +

    sdk/toolkit/include/NvBlastTkType.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTKTYPE_H
    +00030 #define NVBLASTTKTYPE_H
    +00031 
    +00032 #include "NvBlastTypes.h"
    +00033 
    +00034 
    +00035 
    +00036 namespace Nv
    +00037 {
    +00038 namespace Blast
    +00039 {
    +00040 
    +00046 class TkType
    +00047 {
    +00048 public:
    +00054     virtual const char* getName() const = 0;
    +00055 
    +00063     virtual uint32_t    getVersion() const = 0;
     00064 
    -00065 #endif // ifndef NVBLASTTKTYPE_H
    +00073     bool                operator == (const TkType& type) const
    +00074     {
    +00075         return &type == this;
    +00076     }
    +00077 };
    +00078 
    +00079 } // namespace Blast
    +00080 } // namespace Nv
    +00081 
    +00082 
    +00083 #endif // ifndef NVBLASTTKTYPE_H
     
    -

    sdk/toolkit/source/NvBlastTkTypeImpl.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 NVBLASTTKTYPEIMPL_H
    -00012 #define NVBLASTTKTYPEIMPL_H
    -00013 
    -00014 
    -00015 #include "NvPreprocessor.h"
    -00016 
    -00017 #include "NvBlastTkType.h"
    -00018 
    -00019 
    -00020 // Forward declarations
    -00021 namespace physx
    -00022 {
    -00023 namespace general_PxIOStream2
    -00024 {
    -00025 class PxFileBuf;
    -00026 }
    -00027 }
    +

    sdk/toolkit/source/NvBlastTkTypeImpl.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
     00028 
    -00029 
    -00030 namespace Nv
    -00031 {
    -00032 namespace Blast
    -00033 {
    +00029 #ifndef NVBLASTTKTYPEIMPL_H
    +00030 #define NVBLASTTKTYPEIMPL_H
    +00031 
    +00032 
    +00033 #include "NvPreprocessor.h"
     00034 
    -00035 // Forward declarations
    -00036 class TkSerializable;
    +00035 #include "NvBlastTkType.h"
    +00036 
     00037 
    -00038 
    -00039 // Serialization function signature
    -00040 typedef TkSerializable* (*TkDeserializeFn)(physx::general_PxIOStream2::PxFileBuf&, const NvBlastID& id);
    -00041 
    +00038 namespace Nv
    +00039 {
    +00040 namespace Blast
    +00041 {
     00042 
     00046 class TkTypeImpl : public TkType
     00047 {
     00048 public:
    -00049     TkTypeImpl(const char* typeName, uint32_t typeID, uint32_t version, TkDeserializeFn deserializeFn);
    +00049     TkTypeImpl(const char* typeName, uint32_t typeID, uint32_t version);
     00050 
     00051     // Begin TkType
     00052     virtual const char* getName() const override { return getNameInternal(); }
    @@ -96,84 +96,74 @@
     00072 
     00078     uint32_t            getID() const;
     00079 
    -00083     TkDeserializeFn     getDeserializeFn() const;
    -00084 
    -00090     uint32_t            getIndex() const;
    +00085     uint32_t            getIndex() const;
    +00086 
    +00090     bool                indexIsValid() const;
     00091 
    -00095     bool                indexIsValid() const;
    -00096 
    -00097 private:
    -00098     enum { InvalidIndex = 0xFFFFFFFF };
    -00099 
    -00105     void                setIndex(uint32_t index);
    +00092 private:
    +00093     enum { InvalidIndex = 0xFFFFFFFF };
    +00094 
    +00100     void                setIndex(uint32_t index);
    +00101 
    +00102     const char*     m_name;             
    +00103     uint32_t        m_ID;               
    +00104     uint32_t        m_version;          
    +00105     uint32_t        m_index;            
     00106 
    -00107     const char*     m_name;             
    -00108     uint32_t        m_ID;               
    -00109     uint32_t        m_version;          
    -00110     TkDeserializeFn m_deserializeFn;    
    -00111     uint32_t        m_index;            
    +00107     friend class TkFrameworkImpl;
    +00108 };
    +00109 
    +00110 
     00112 
    -00113     friend class TkFrameworkImpl;
    -00114 };
    -00115 
    -00116 
    -00118 
    -00119 NV_INLINE TkTypeImpl::TkTypeImpl(const char* typeName, uint32_t typeID, uint32_t version, TkDeserializeFn deserializeFn)
    -00120     : m_name(typeName)
    -00121     , m_ID(typeID)
    -00122     , m_version(version)
    -00123     , m_deserializeFn(deserializeFn)
    -00124     , m_index((uint32_t)InvalidIndex)
    -00125 {
    -00126 }
    +00113 NV_INLINE TkTypeImpl::TkTypeImpl(const char* typeName, uint32_t typeID, uint32_t version)
    +00114     : m_name(typeName)
    +00115     , m_ID(typeID)
    +00116     , m_version(version)
    +00117     , m_index((uint32_t)InvalidIndex)
    +00118 {
    +00119 }
    +00120 
    +00121 
    +00122 NV_INLINE const char* TkTypeImpl::getNameInternal() const
    +00123 {
    +00124     return m_name;
    +00125 }
    +00126 
     00127 
    -00128 
    -00129 NV_INLINE const char* TkTypeImpl::getNameInternal() const
    -00130 {
    -00131     return m_name;
    -00132 }
    +00128 NV_INLINE uint32_t TkTypeImpl::getVersionInternal() const
    +00129 {
    +00130     return m_version;
    +00131 }
    +00132 
     00133 
    -00134 
    -00135 NV_INLINE uint32_t TkTypeImpl::getVersionInternal() const
    -00136 {
    -00137     return m_version;
    -00138 }
    +00134 NV_INLINE uint32_t TkTypeImpl::getID() const
    +00135 {
    +00136     return m_ID;
    +00137 }
    +00138 
     00139 
    -00140 
    -00141 NV_INLINE uint32_t TkTypeImpl::getID() const
    -00142 {
    -00143     return m_ID;
    -00144 }
    +00140 NV_INLINE uint32_t TkTypeImpl::getIndex() const
    +00141 {
    +00142     return m_index;
    +00143 }
    +00144 
     00145 
    -00146 
    -00147 NV_INLINE TkDeserializeFn TkTypeImpl::getDeserializeFn() const
    -00148 {
    -00149     return m_deserializeFn;
    -00150 }
    +00146 NV_INLINE bool TkTypeImpl::indexIsValid() const
    +00147 {
    +00148     return m_index != (uint32_t)InvalidIndex;
    +00149 }
    +00150 
     00151 
    -00152 
    -00153 NV_INLINE uint32_t TkTypeImpl::getIndex() const
    -00154 {
    -00155     return m_index;
    -00156 }
    -00157 
    -00158 
    -00159 NV_INLINE bool TkTypeImpl::indexIsValid() const
    -00160 {
    -00161     return m_index != (uint32_t)InvalidIndex;
    -00162 }
    -00163 
    -00164 
    -00165 NV_INLINE void TkTypeImpl::setIndex(uint32_t index)
    -00166 {
    -00167     m_index = index;
    -00168 }
    -00169 
    -00170 } // namespace Blast
    -00171 } // namespace Nv
    -00172 
    -00173 
    -00174 #endif // ifndef NVBLASTTKTYPEIMPL_H
    +00152 NV_INLINE void TkTypeImpl::setIndex(uint32_t index)
    +00153 {
    +00154     m_index = index;
    +00155 }
    +00156 
    +00157 } // namespace Blast
    +00158 } // namespace Nv
    +00159 
    +00160 
    +00161 #endif // ifndef NVBLASTTKTYPEIMPL_H
     
    diff --git a/docs/source_docs/files/_nv_blast_types_8h-source.html b/docs/source_docs/files/_nv_blast_types_8h-source.html index 962d02c..c1a015e 100644 --- a/docs/source_docs/files/_nv_blast_types_8h-source.html +++ b/docs/source_docs/files/_nv_blast_types_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/lowlevel/include/NvBlastTypes.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/lowlevel/include/NvBlastTypes.h Source File @@ -35,301 +35,289 @@
  • File Members
  • -

    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];
    +

    sdk/lowlevel/include/NvBlastTypes.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2016-2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #ifndef NVBLASTTYPES_H
    +00030 #define NVBLASTTYPES_H
    +00031 
    +00032 
    +00033 #include "NvBlastPreprocessor.h"
    +00034 #include <stdint.h>
    +00035 
    +00036 
    +00038 //  NvBlast common types
    +00041 
    +00045 struct NvBlastMessage
    +00046 {
    +00047     enum Type
    +00048     {
    +00049         Error,      
    +00050         Warning,    
    +00051         Info,       
    +00052         Debug       
    +00053     };
     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 
    +00063 typedef void(*NvBlastLog)(int type, const char* msg, const char* file, int line);
    +00064 
    +00065 
    +00069 struct NvBlastID
    +00070 {
    +00071     char data[16];
    +00072 };
    +00073 
    +00074 
    +00085 struct NvBlastTimers
    +00086 {
    +00087     int64_t  material;      
    +00088     int64_t  fracture;      
    +00089     int64_t  island;        
    +00090     int64_t  partition;     
    +00091     int64_t  visibility;    
    +00092 };
     00093 
    -00097     uint32_t    dataType;
    -00098 
    -00103     uint32_t    formatVersion;
    -00104 
    -00110     uint32_t    size;
    +00094 
    +00098 struct NvBlastDataBlock
    +00099 {
    +00103     enum Type
    +00104     {
    +00105         AssetDataBlock,
    +00106         FamilyDataBlock,
    +00107 
    +00108         Count
    +00109     };
    +00110 
     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.
    +00115     uint32_t    dataType;
    +00116 
    +00121     uint32_t    formatVersion;
    +00122 
    +00128     uint32_t    size;
    +00129 
    +00133     uint32_t    reserved;
    +00134 };
    +00135 
    +00137 
     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];
    +00140 //  NvBlastAsset related types
    +00143 
    +00152 struct NvBlastChunk
    +00153 {
    +00157     float       centroid[3];
    +00158 
    +00162     float       volume;
    +00163 
    +00167     uint32_t    parentChunkIndex;
    +00168 
    +00172     uint32_t    firstChildIndex;
    +00173 
    +00177     uint32_t    childIndexStop;
    +00178 
    +00182     uint32_t    userData;
    +00183 };
    +00184 
    +00185 
    +00189 struct NvBlastBond
    +00190 {
    +00194     float       normal[3];
    +00195 
    +00199     float       area;
    +00200 
    +00204     float       centroid[3];
    +00205 
    +00209     uint32_t    userData;
    +00210 };
     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;
    +00212 
    +00244 struct NvBlastSupportGraph
    +00245 {
    +00249     uint32_t    nodeCount;
    +00250 
    +00254     uint32_t*   chunkIndices;
    +00255 
    +00263     uint32_t*   adjacencyPartition;
    +00264 
    +00268     uint32_t*   adjacentNodeIndices;
    +00269 
    +00273     uint32_t*   adjacentBondIndices;
    +00274 };
     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     };
    +00276 
    +00286 struct NvBlastAsset {};
    +00287 
    +00288 
    +00292 struct NvBlastChunkDesc
    +00293 {
    +00294     enum Flags
    +00295     {
    +00296         NoFlags = 0,
    +00297 
    +00299         SupportFlag = (1 << 0)
    +00300     };
    +00301 
    +00303     float       centroid[3];
    +00304 
    +00306     float       volume;
     00307 
    -00309     float       centroid[3];
    +00309     uint32_t    parentChunkIndex;
     00310 
    -00312     float       volume;
    +00312     uint32_t    flags;
     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 };
    +00315     uint32_t    userData;
    +00316 };
    +00317 
    +00318 
    +00322 struct NvBlastBondDesc
    +00323 {
    +00325     NvBlastBond bond;
    +00326 
    +00333     uint32_t    chunkIndices[2];
    +00334 };
    +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 
    +00345 struct NvBlastAssetDesc
    +00346 {
    +00348     uint32_t                chunkCount;
    +00349 
    +00351     const NvBlastChunkDesc* chunkDescs;
    +00352 
    +00354     uint32_t                bondCount;
    +00355 
    +00357     const NvBlastBondDesc*  bondDescs;
    +00358 };
    +00359 
    +00361 
     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 };
    +00364 //  NvBlastActor related types
    +00367 
    +00376 struct NvBlastFamily {};
    +00377 
    +00378 
    +00387 struct NvBlastActor {};
    +00388 
     00389 
    -00390 
    -00399 struct NvBlastFamily {};
    -00400 
    +00395 struct NvBlastActorDesc
    +00396 {
    +00400     float           uniformInitialBondHealth;
     00401 
    -00410 struct NvBlastActor {};
    -00411 
    +00406     const float*    initialBondHealths;
    +00407 
    +00411     float           uniformInitialLowerSupportChunkHealth;
     00412 
    -00418 struct NvBlastActorDesc
    -00419 {
    -00423     float           uniformInitialBondHealth;
    -00424 
    -00429     const float*    initialBondHealths;
    -00430 
    -00434     float           uniformInitialLowerSupportChunkHealth;
    -00435 
    -00444     const float*    initialSupportChunkHealths;
    -00445 };
    +00421     const float*    initialSupportChunkHealths;
    +00422 };
    +00423 
    +00425 
    +00426 
    +00428 //  Types used for damage and fracturing
    +00431 
    +00432 
    +00439 struct NvBlastChunkFractureData
    +00440 {
    +00441     uint32_t    userdata;   
    +00442     uint32_t    chunkIndex; 
    +00443     float       health;     
    +00444 };
    +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
    +00453 struct NvBlastBondFractureData
    +00454 {
    +00455     uint32_t    userdata;   
    +00456     uint32_t    nodeIndex0; 
    +00457     uint32_t    nodeIndex1; 
    +00458     float       health;     
    +00459 };
    +00460 
    +00461 
    +00468 struct NvBlastFractureBuffers
    +00469 {
    +00470     uint32_t                    bondFractureCount;      
    +00471     uint32_t                    chunkFractureCount;     
    +00472     NvBlastBondFractureData*    bondFractures;          
    +00473     NvBlastChunkFractureData*   chunkFractures;         
    +00474 };
    +00475 
    +00476 
    +00481 struct NvBlastActorSplitEvent
    +00482 {
    +00483     NvBlastActor*   deletedActor;   
    +00484     NvBlastActor**  newActors;      
    +00485 };
    +00486 
    +00487 
    +00491 struct NvBlastGraphShaderActor
     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;      
    +00493     uint32_t            firstGraphNodeIndex;    
    +00494     const uint32_t*     graphNodeIndexLinks;    
    +00495     const uint32_t*     chunkIndices;           
    +00496     const uint32_t*     adjacencyPartition;     
    +00497     const uint32_t*     adjacentNodeIndices;    
    +00498     const uint32_t*     adjacentBondIndices;    
    +00499     const NvBlastBond*  assetBonds;             
    +00500     const NvBlastChunk* assetChunks;            
    +00501     const float*        familyBondHealths;      
    +00502     const float*        supportChunkHealths;    
    +00503 };
    +00504 
    +00505 
    +00519 struct NvBlastProgramParams
    +00520 {
    +00521     const void* damageDescBuffer;   
    +00522     uint32_t    damageDescCount;    
    +00523     const void* material;           
     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
    +00530 struct NvBlastSubgraphShaderActor
    +00531 {
    +00532     uint32_t            chunkIndex;     
    +00533     const NvBlastChunk* assetChunks;    
    +00534 };
    +00535 
    +00536 
    +00562 typedef void(*NvBlastGraphShaderFunction)(NvBlastFractureBuffers* commandBuffers, const NvBlastGraphShaderActor* actor, const NvBlastProgramParams* params);
    +00563 
    +00564 
    +00590 typedef void(*NvBlastSubgraphShaderFunction)(NvBlastFractureBuffers* commandBuffers, const NvBlastSubgraphShaderActor* actor, const NvBlastProgramParams* params);
    +00591 
    +00592 
    +00601 struct NvBlastDamageProgram
    +00602 {
    +00603     NvBlastGraphShaderFunction      graphShaderFunction;
    +00604     NvBlastSubgraphShaderFunction   subgraphShaderFunction;
    +00605 };
    +00606 
    +00607 
    +00609 
    +00610 
    +00611 #endif // ifndef NVBLASTTYPES_H
     
    -

    sdk/extensions/serialization/source/DTO/PxConvexMeshGeometryDTO.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 #pragma once
    -00012 #include "DTOMacros.h"
    -00013 #include "generated/NvBlastExtSerialization.capn.h"
    -00014 #include "PxConvexMeshGeometry.h"
    -00015 #include "PxCooking.h"
    -00016 
    -00017 DTO_CLASS(PxConvexMeshGeometry, physx::PxConvexMeshGeometry, Nv::Blast::Serialization::PxConvexMeshGeometry)
    +

    sdk/extensions/serialization/source/DTO/PxConvexMeshGeometryDTO.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #pragma once
    +00030 #include "DTOMacros.h"
    +00031 #include "generated/NvBlastExtPxSerialization.capn.h"
    +00032 #include "PxConvexMeshGeometry.h"
    +00033 #include "PxCooking.h"
    +00034 
    +00035 DTO_CLASS(PxConvexMeshGeometry, physx::PxConvexMeshGeometry, Nv::Blast::Serialization::PxConvexMeshGeometry)
     

    sdk/extensions/serialization/source/DTO/PxConvexMeshGeometryDTO.h File Reference

    #include "DTOMacros.h"
    -#include "generated/NvBlastExtSerialization.capn.h"
    +#include "generated/NvBlastExtPxSerialization.capn.h"
    #include "PxConvexMeshGeometry.h"
    #include "PxCooking.h"
    diff --git a/docs/source_docs/files/_px_mesh_scale_d_t_o_8h-source.html b/docs/source_docs/files/_px_mesh_scale_d_t_o_8h-source.html index ed031c1..be00799 100644 --- a/docs/source_docs/files/_px_mesh_scale_d_t_o_8h-source.html +++ b/docs/source_docs/files/_px_mesh_scale_d_t_o_8h-source.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: sdk/extensions/serialization/source/DTO/PxMeshScaleDTO.h Source File + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/serialization/source/DTO/PxMeshScaleDTO.h Source File @@ -35,23 +35,41 @@
  • File Members
  • -

    sdk/extensions/serialization/source/DTO/PxMeshScaleDTO.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 #pragma once
    -00012 #include "DTOMacros.h"
    -00013 #include "PxMeshScale.h"
    -00014 #include "generated/NvBlastExtSerialization.capn.h"
    -00015 #include "PxCooking.h"
    -00016 
    -00017 DTO_CLASS(PxMeshScale, physx::PxMeshScale, Nv::Blast::Serialization::PxMeshScale)
    +

    sdk/extensions/serialization/source/DTO/PxMeshScaleDTO.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 // proprietary rights in and to this software and related documentation and
    +00007 // any modifications thereto. Any use, reproduction, disclosure, or
    +00008 // distribution of this software and related documentation without an express
    +00009 // license agreement from NVIDIA Corporation is strictly prohibited.
    +00010 //
    +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
    +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
    +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
    +00015 //
    +00016 // Information and code furnished is believed to be accurate and reliable.
    +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
    +00018 // information or for any infringement of patents or other rights of third parties that may
    +00019 // result from its use. No license is granted by implication or otherwise under any patent
    +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
    +00021 // This code supersedes and replaces all information previously supplied.
    +00022 // NVIDIA Corporation products are not authorized for use as critical
    +00023 // components in life support devices or systems without express written approval of
    +00024 // NVIDIA Corporation.
    +00025 //
    +00026 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
    +00027 
    +00028 
    +00029 #pragma once
    +00030 #include "DTOMacros.h"
    +00031 #include "PxMeshScale.h"
    +00032 #include "generated/NvBlastExtPxSerialization.capn.h"
    +00033 #include "PxCooking.h"
    +00034 
    +00035 DTO_CLASS(PxMeshScale, physx::PxMeshScale, Nv::Blast::Serialization::PxMeshScale)
     
    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void Nv::Blast::Actor::fractureInPlaceEvents (uint32_t  chunkFractureCount,
    NvBlastChunkFractureData inoutbuffer,
    uint32_t  eventsSize,
    uint32_t *  count 
    )
    -
    -
    - -

    -Apply chunk fracture commands hierarchically, recording a fracture event for each health damage applied.

    -In-Place version: fracture commands are replaced by fracture events.

    -If inoutbuffer array is too small, events are dropped but the chunks are still damaged.

    -

    Parameters:
    - - - - - -
    chunkFractureCount number of chunk fracture commands to apply
    inoutbuffer array of chunk fracture commands to be replaced by events
    eventsSize number of available entries in inoutbuffer
    count returns the number of damaged chunks
    -
    - -
    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    void Nv::Blast::Actor::fractureNoEvents (uint32_t  chunkFractureCount,
    const NvBlastChunkFractureData chunkFractures 
    )
    -
    -
    - -

    -Apply chunk fracture commands hierarchically.

    -

    Parameters:
    - - - -
    chunkFractureCount number of chunk fracture commands to apply
    chunkFractures array of chunk fracture commands
    -
    - -
    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void Nv::Blast::Actor::fractureSubSupport (uint32_t  chunkIndex,
    uint32_t  suboffset,
    float  healthDamage,
    float *  chunkHealths,
    const NvBlastChunk chunks,
    NvBlastChunkFractureData outBuffer,
    uint32_t *  currentIndex,
    const uint32_t  maxCount 
    )
    -
    -
    - -

    -Hierarchically distribute damage to child chunks, recording a fracture event for each health damage applied.

    -If outBuffer is too small, events are dropped but the chunks are still damaged.

    -

    Parameters:
    - - - - - - - - - -
    chunkIndex asset chunk index to hierarchically damage
    suboffset index of the first sub-support health
    healthDamage damage strength to apply
    chunkHealths instance chunk healths
    chunks asset chunk collection
    outBuffer target buffer for fracture events
    currentIndex current position in outBuffer - returns the number of damaged chunks
    maxCount capacity of outBuffer
    -
    - -
    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void Nv::Blast::Actor::fractureSubSupportNoEvents (uint32_t  chunkIndex,
    uint32_t  suboffset,
    float  healthDamage,
    float *  chunkHealths,
    const NvBlastChunk chunks 
    )
    -
    -
    - -

    -Hierarchically distribute damage to child chunks.

    -

    Parameters:
    - - - - - - -
    chunkIndex asset chunk index to hierarchically damage
    suboffset index of the first sub-support health
    healthDamage damage strength to apply
    chunkHealths instance chunk healths
    chunks asset chunk collection
    -
    - -
    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void Nv::Blast::Actor::fractureWithEvents (uint32_t  chunkFractureCount,
    const NvBlastChunkFractureData commands,
    NvBlastChunkFractureData events,
    uint32_t  eventsSize,
    uint32_t *  count 
    )
    -
    -
    - -

    -Apply chunk fracture commands hierarchically, recording a fracture event for each health damage applied.

    -If events array is too small, events are dropped but the chunks are still damaged.

    -

    Parameters:
    - - - - - - -
    chunkFractureCount number of chunk fracture commands to apply
    commands array of chunk fracture commands
    events target buffer for fracture events
    eventsSize number of available entries in 'events'
    count returns the number of damaged chunks
    -
    -

    @@ -1170,6 +882,26 @@ The number of visible chunks. This is calculated from isActive(), it should be safe to delete the family.

    Returns:
    true iff this actor is valid for use (active).
    + +

    + +

    +
    + + + + + + + + +
    NV_INLINE bool Nv::Blast::Actor::isBoundToWorld (  )  const
    +
    +
    + +

    +

    Returns:
    true iff this actor contains the "world" support graph node, created when a bond contains the invalidIndex<uint32_t>() value for one of their chunkIndices.
    +

    @@ -1191,6 +923,26 @@ Since this object is not deleted (unless the family is deleted), we use m_family Whether or not this actor represents a single support chunk. If the actor contains a single support chunk, it can have no other chunks associated with it.

    Returns:
    true iff this actor contains exactly one support chunk.
    + +

    + +

    +
    + + + + + + + + +
    NV_INLINE bool Nv::Blast::Actor::isSplitRequired (  )  const
    +
    +
    + +

    +

    Returns:
    true iff this actor was damaged and split() call is required.
    +

    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_graph_node_it-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_graph_node_it-members.html index 96fd3f0..810071c 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_graph_node_it-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_graph_node_it-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_graph_node_it.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_graph_node_it.html index 74ccec2..59acb69 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_graph_node_it.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_graph_node_it.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::Actor::Actor::GraphNodeIt Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Actor::Actor::GraphNodeIt Class Reference diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_visible_chunk_it-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_visible_chunk_it-members.html index 2baede8..39fcf0e 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_visible_chunk_it-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_visible_chunk_it-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_visible_chunk_it.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_visible_chunk_it.html index 79fa085..ce97e12 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_visible_chunk_it.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_actor_1_1_visible_chunk_it.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::Actor::Actor::VisibleChunkIt Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Actor::Actor::VisibleChunkIt Class Reference diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator-members.html new file mode 100644 index 0000000..142b395 --- /dev/null +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator-members.html @@ -0,0 +1,52 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + +

    + + +
    +

    Nv::Blast::Allocator Member List

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

    + + + +
    allocate(size_t size, const char *filename, int line)Nv::Blast::Allocator [inline]
    Allocator(const char *=0)Nv::Blast::Allocator [inline]
    deallocate(void *ptr)Nv::Blast::Allocator [inline]

    + + + + diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator.html new file mode 100644 index 0000000..ea191af --- /dev/null +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator.html @@ -0,0 +1,144 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Allocator Class Reference + + + + + + + + +
    +

    Nv::Blast::Allocator Class Reference

    #include <NvBlastAllocator.h> +

    + +

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

    Public Member Functions

    void * allocate (size_t size, const char *filename, int line)
     Allocator (const char *=0)
    void deallocate (void *ptr)
    +


    Detailed Description

    +Allocator uses global AllocatorCallback.

    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    Nv::Blast::Allocator::Allocator (const char *  = 0  )  [inline]
    +
    +
    + +

    + +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void* Nv::Blast::Allocator::allocate (size_t  size,
    const char *  filename,
    int  line 
    ) [inline]
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + +
    void Nv::Blast::Allocator::deallocate (void *  ptr  )  [inline]
    +
    +
    + +

    + +

    +

    +


    The documentation for this class was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator_callback-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator_callback-members.html new file mode 100644 index 0000000..a3b47eb --- /dev/null +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator_callback-members.html @@ -0,0 +1,52 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + +
    +

    Nv::Blast::AllocatorCallback Member List

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

    + + + +
    allocate(size_t size, const char *typeName, const char *filename, int line)=0Nv::Blast::AllocatorCallback [pure virtual]
    deallocate(void *ptr)=0Nv::Blast::AllocatorCallback [pure virtual]
    ~AllocatorCallback()Nv::Blast::AllocatorCallback [inline, virtual]

    + + + + diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator_callback.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator_callback.html new file mode 100644 index 0000000..e8bef1a --- /dev/null +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_allocator_callback.html @@ -0,0 +1,176 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::AllocatorCallback Class Reference + + + + + + + + +
    +

    Nv::Blast::AllocatorCallback Class Reference

    Abstract base class for an application defined memory allocator that can be used by toolkit (Tk) or any extension (Ext). +More... +

    +#include <NvBlastGlobals.h> +

    + +

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

    Public Member Functions

    virtual void * allocate (size_t size, const char *typeName, const char *filename, int line)=0
     Allocates size bytes of memory, which must be 16-byte aligned.
    virtual void deallocate (void *ptr)=0
     Frees memory previously allocated by allocate().
    virtual ~AllocatorCallback ()
     destructor
    +


    Detailed Description

    +Abstract base class for an application defined memory allocator that can be used by toolkit (Tk) or any extension (Ext).

    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + +
    virtual Nv::Blast::AllocatorCallback::~AllocatorCallback (  )  [inline, virtual]
    +
    +
    + +

    +destructor +

    + +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual void* Nv::Blast::AllocatorCallback::allocate (size_t  size,
    const char *  typeName,
    const char *  filename,
    int  line 
    ) [pure virtual]
    +
    +
    + +

    +Allocates size bytes of memory, which must be 16-byte aligned. +

    +This method should never return NULL. If you run out of memory, then you should terminate the app or take some other appropriate action.

    +

    Parameters:
    + + + + + +
    size Number of bytes to allocate.
    typeName Name of the datatype that is being allocated
    filename The source file which allocated the memory
    line The source line which allocated the memory
    +
    +
    Returns:
    The allocated block of memory.
    + +
    +

    + +

    +
    + + + + + + + + + +
    virtual void Nv::Blast::AllocatorCallback::deallocate (void *  ptr  )  [pure virtual]
    +
    +
    + +

    +Frees memory previously allocated by allocate(). +

    +

    Parameters:
    + + +
    ptr Memory to free.
    +
    + +
    +

    +


    The documentation for this class was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_destruction-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_destruction-members.html index 65d69db..57d90a9 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_destruction-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_destruction-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_destruction.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_destruction.html index 931c599..d6c0a1b 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_destruction.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_destruction.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ApexImporter::ApexDestruction Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ApexImporter::ApexDestruction Class Reference diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool-members.html index 85bfa9c..f438161 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -40,9 +40,9 @@

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

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

    - + - + @@ -50,7 +50,6 @@ - diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool.html index fc4094f..7f76b3e 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ApexImporter::ApexImportTool Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ApexImporter::ApexImportTool Class Reference @@ -48,9 +48,9 @@ List of all members.
    ApexImportTool(NvBlastLog logFn=NULL)Nv::Blast::ApexImporter::ApexImportTool
    ApexImportTool()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
    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, std::vector< std::vector< CollisionHull * > > &hullsDesc)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
    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
    - + - + @@ -76,21 +76,17 @@ - - -

    Public Member Functions

     ApexImportTool (NvBlastLog logFn=NULL)
     ApexImportTool ()
    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 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, std::vector< std::vector< CollisionHull * > > &hullsDesc)
    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)
    ApexImportTooloperator= (const ApexImportTool &)

    Protected Attributes

    NvBlastLog m_log


    Detailed Description

    ApexImportTool provides routines to create NvBlastAssets from APEX assets.

    Constructor & Destructor Documentation

    - +
    - - + @@ -99,12 +95,7 @@

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

    Parameters:
    -
    Nv::Blast::ApexImporter::ApexImportTool::ApexImportTool (NvBlastLog  logFn = NULL  ) 
    - -
    [in] logFn User - supplied message function(see NvBlastLog definition).May be NULL.
    - - +Constructor should be provided with user defined allocator and massage function:

    @@ -147,7 +138,7 @@ Constructor should be provided with user defined allocator and massage function:


    Member Function Documentation

    - +
    @@ -185,7 +176,13 @@ Constructor should be provided with user defined allocator and massage function: - + + + + + + + @@ -205,6 +202,7 @@ Method creates collision geometry from user-supplied APEX Destructible asset. +
    std::vector< ExtPxAssetDesc::SubchunkDesc > &  physicsSubchunks  physicsSubchunks,
    std::vector< std::vector< CollisionHull * > > &  hullsDesc 
    [in] apexChunkFlags Chunk flags array
    [out] physicsChunks Chunk physics info output array
    [out] physicsSubchunks Chunk collision geometry and transformation data output array
    [out] hullsDescs Chunk collision geometry descriptors, can be used to save to some third party format
    Returns:
    If true - success, output arrays are filled.
    @@ -504,21 +502,6 @@ Method serializes user-supplied

    -

    -

    - -

    - -
    - -

    -


    The documentation for this class was generated from the following file:
    -

    Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -64,23 +64,23 @@  Builder () inline::capnp::Orphan
    -< ::Nv::Blast::Serialization::TkAssetdisownAsset () +< ::Nv::Blast::Serialization::TkAssetdisownAsset () -inline::Nv::Blast::Serialization::TkAsset::Builder getAsset () +inline::Nv::Blast::Serialization::TkAsset::Builder getAsset () inline::capnp::List
    < ::Nv::Blast::Serialization::ExtPxChunk >
    -::Builder getChunks () +::Builder getChunks () bool hasAsset () bool hasChunks () -inline::Nv::Blast::Serialization::TkAsset::Builder initAsset () +inline::Nv::Blast::Serialization::TkAsset::Builder initAsset () inline::capnp::List
    < ::Nv::Blast::Serialization::ExtPxChunk >
    -::Builder initChunks (unsigned int size) +::Builder initChunks (unsigned int size)  operator Reader () const @@ -229,16 +229,16 @@

    - +

    - + - +
    inline ::capnp::Orphan< ::Nv::Blast::Serialization::TkAsset> Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder::disownAsset capnp::Orphan<::Nv::Blast::Serialization::TkAsset > Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder::disownAsset (  )  [inline]
    @@ -248,16 +248,16 @@

    - +

    - + - +
    inline ::Nv::Blast::Serialization::TkAsset::Builder Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder::getAsset Nv::Blast::Serialization::TkAsset::Builder Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder::getAsset (  )  [inline]
    @@ -267,16 +267,16 @@

    - +

    - + - +
    inline ::capnp::List< ::Nv::Blast::Serialization::ExtPxChunk>::Builder Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder::getChunks capnp::List<::Nv::Blast::Serialization::ExtPxChunk >::Builder Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder::getChunks (  )  [inline]
    @@ -324,16 +324,16 @@

    - +

    - + - +
    inline ::Nv::Blast::Serialization::TkAsset::Builder Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder::initAsset Nv::Blast::Serialization::TkAsset::Builder Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder::initAsset (  )  [inline]
    @@ -343,17 +343,17 @@

    - +

    - + - +
    inline ::capnp::List< ::Nv::Blast::Serialization::ExtPxChunk>::Builder Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder::initChunks capnp::List<::Nv::Blast::Serialization::ExtPxChunk >::Builder Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder::initChunks ( unsigned int  size  )  [inline]
    @@ -461,7 +461,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h @@ -172,7 +172,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -51,22 +51,36 @@ typedef ExtPxAsset Reads

    Public Member Functions

    -inline::Nv::Blast::Serialization::TkAsset::Reader getAsset () const +inline::Nv::Blast::Serialization::TkAsset::Reader getAsset () const + +inline::capnp::List< float >
    +::Reader getBondHealths () const inline::capnp::List
    < ::Nv::Blast::Serialization::ExtPxChunk >
    -::Reader getChunks () const +::Reader getChunks () const inline::capnp::List
    < ::Nv::Blast::Serialization::ExtPxSubchunk >
    ::Reader getSubchunks () const +inline::capnp::List< float >
    +::Reader getSupportChunkHealths () const + +float getUniformInitialBondHealth () const + +float getUniformInitialLowerSupportChunkHealth () const + bool hasAsset () const +bool hasBondHealths () const + bool hasChunks () const bool hasSubchunks () const +bool hasSupportChunkHealths () const +  Reader (::capnp::_::StructReader base)  Reader () @@ -144,16 +158,16 @@


    Member Function Documentation

    - +
    - + - +
    inline ::Nv::Blast::Serialization::TkAsset::Reader Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader::getAsset Nv::Blast::Serialization::TkAsset::Reader Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader::getAsset (  )  const const [inline]
    @@ -163,12 +177,12 @@

    - +

    - + @@ -180,6 +194,25 @@

    + +

    + +

    +
    +
    inline ::capnp::List< ::Nv::Blast::Serialization::ExtPxChunk>::Reader Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader::getChunks inline ::capnp::List<float>::Reader Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader::getBondHealths (  ) 
    + + + + + + + +
    capnp::List<::Nv::Blast::Serialization::ExtPxChunk >::Reader Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader::getChunks (  )  const [inline]
    +
    +
    + +

    +

    @@ -199,6 +232,63 @@

    + +

    + +

    +
    + + + + + + + + +
    inline ::capnp::List<float>::Reader Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader::getSupportChunkHealths (  )  const
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + +
    float Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader::getUniformInitialBondHealth (  )  const [inline]
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + +
    float Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader::getUniformInitialLowerSupportChunkHealth (  )  const [inline]
    +
    +
    + +

    +

    @@ -218,6 +308,25 @@

    + +

    + +

    +
    + + + + + + + + +
    bool Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader::hasBondHealths (  )  const [inline]
    +
    +
    + +

    +

    @@ -256,6 +365,25 @@

    + +

    + +

    +
    + + + + + + + + +
    bool Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader::hasSupportChunkHealths (  )  const [inline]
    +
    +
    + +

    +

    @@ -373,7 +501,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -402,7 +402,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Pipeline Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Pipeline Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -150,7 +150,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Reader Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Reader Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -306,7 +306,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -531,7 +531,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -193,7 +193,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Reader Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Reader Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -327,7 +327,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -352,7 +352,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Pipeline Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Pipeline Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -150,7 +150,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -371,7 +371,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -352,7 +352,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Pipeline Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Pipeline Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -150,7 +150,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -391,7 +391,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -402,7 +402,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Pipeline Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Pipeline Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -150,7 +150,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Reader Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Reader Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -306,7 +306,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -395,7 +395,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Pipeline Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Pipeline Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -150,7 +150,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -436,7 +436,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -93,7 +93,7 @@ void setScale (::Nv::Blast::Serialization::PxMeshScale::Reader value) -void setType (::Nv::Blast::Serialization::PxConvexMeshGeometry::Type value) +void setType (::Nv::Blast::Serialization::PxConvexMeshGeometry::Type value) inline::kj::StringTree toString () const @@ -343,7 +343,7 @@

    - + @@ -520,7 +520,7 @@ - + @@ -618,7 +618,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Pipeline Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Pipeline Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -172,7 +172,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -202,7 +202,7 @@

  • inline ::Nv::Blast::Serialization::PxConvexMeshGeometry::Type Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder::getType inline ::Nv::Blast::Serialization::PxConvexMeshGeometry::Type Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder::getType (  ) 
    void Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder::setType (::Nv::Blast::Serialization::PxConvexMeshGeometry::Type ::Nv::Blast::Serialization::PxConvexMeshGeometry::Type  value  )  [inline]
    - + @@ -369,7 +369,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -531,7 +531,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -193,7 +193,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -327,7 +327,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxQuat::PxQuat::Builder Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxQuat::PxQuat::Builder Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -445,7 +445,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxQuat::PxQuat::Pipeline Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxQuat::PxQuat::Pipeline Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -150,7 +150,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxQuat::PxQuat::Reader Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxQuat::PxQuat::Reader Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -327,7 +327,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxTransform::PxTransform::Builder Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxTransform::PxTransform::Builder Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -531,7 +531,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxTransform::PxTransform::Pipeline Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxTransform::PxTransform::Pipeline Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -193,7 +193,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxTransform::PxTransform::Reader Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxTransform::PxTransform::Reader Class Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -327,7 +327,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxVec3::PxVec3::Builder Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxVec3::PxVec3::Builder Class Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -402,7 +402,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::PxVec3::PxVec3::Pipeline Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxVec3::PxVec3::Pipeline Class Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -150,7 +150,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::PxVec3::PxVec3::Reader Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxVec3::PxVec3::Reader Class Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -306,7 +306,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::TkAsset::TkAsset::Builder Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::TkAsset::TkAsset::Builder Class Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -461,7 +461,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::TkAsset::TkAsset::Pipeline Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::TkAsset::TkAsset::Pipeline Class Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -172,7 +172,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::TkAsset::TkAsset::Reader Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::TkAsset::TkAsset::Reader Class Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -329,7 +329,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder Class Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -352,7 +352,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Pipeline Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Pipeline Class Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -150,7 +150,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Reader Class Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Reader Class Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -330,7 +330,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::UUID::UUID::Builder Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::UUID::UUID::Builder Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -403,7 +403,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::UUID::UUID::Pipeline Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::UUID::UUID::Pipeline Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -150,7 +150,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::UUID::UUID::Reader Class Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::UUID::UUID::Reader Class Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -285,7 +285,7 @@


    The documentation for this class was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
  • inline ::Nv::Blast::Serialization::PxConvexMeshGeometry::Type Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader::getType inline ::Nv::Blast::Serialization::PxConvexMeshGeometry::Type Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader::getType (  ) 
     expected memory size for event data

    Detailed Description

    -Holds the memory used by TkWorker for each family in each group.

    Constructor & Destructor Documentation

    +Holds the memory used by TkWorker for each family in each group.

    Constructor & Destructor Documentation

    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_simplex_noise-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_simplex_noise-members.html index f5a63be..452b4ab 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_simplex_noise-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_simplex_noise-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_simplex_noise.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_simplex_noise.html index e68a021..497f8a4 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_simplex_noise.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_simplex_noise.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::SimplexNoise Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::SimplexNoise Class Reference diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_spatial_accelerator-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_spatial_accelerator-members.html index bc0be5f..c53f0c2 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_spatial_accelerator-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_spatial_accelerator-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -41,7 +41,7 @@

    Nv::Blast::SpatialAccelerator Member List

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

    - +
    getNextFacet()=0Nv::Blast::SpatialAccelerator [pure virtual]
    setState(Vertex *pos, Edge *ed, Facet &fc)=0Nv::Blast::SpatialAccelerator [pure virtual]
    setState(const Vertex *pos, const Edge *ed, const Facet &fc)=0Nv::Blast::SpatialAccelerator [pure virtual]
    setState(const physx::PxVec3 &point)=0Nv::Blast::SpatialAccelerator [pure virtual]
    ~SpatialAccelerator()Nv::Blast::SpatialAccelerator [inline, virtual]

    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_spatial_accelerator.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_spatial_accelerator.html index 3febed5..b44fe28 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_spatial_accelerator.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_spatial_accelerator.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::SpatialAccelerator Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::SpatialAccelerator Class Reference @@ -63,7 +63,7 @@ Inheritance diagram for Nv::Blast::SpatialAccelerator:
    virtual void setState (const physx::PxVec3 &point)=0 -virtual void setState (Vertex *pos, Edge *ed, Facet &fc)=0 +virtual void setState (const Vertex *pos, const Edge *ed, const Facet &fc)=0 virtual ~SpatialAccelerator () @@ -139,26 +139,26 @@ Set state of accelerator to return all facets which possibly can cover given poi

    - +

    - + - + - + @@ -179,7 +179,7 @@ Set state of accelerator to return all facets which possibly can intersect given
    virtual void Nv::Blast::SpatialAccelerator::setState (Vertexconst Vertex pos,
    Edgeconst Edge ed,
    Facetconst Facet fc 
    -

    Implemented in Nv::Blast::DummyAccelerator, Nv::Blast::BBoxBasedAccelerator, and Nv::Blast::IntersectionTestingAccelerator.

    +

    Implemented in Nv::Blast::DummyAccelerator, Nv::Blast::BBoxBasedAccelerator, and Nv::Blast::IntersectionTestingAccelerator.

    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_task_sync-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_task_sync-members.html deleted file mode 100644 index d932dd2..0000000 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_task_sync-members.html +++ /dev/null @@ -1,54 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - -

    - - -
    -

    Nv::Blast::TaskSync Member List

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

    - - - - - -
    isDone()Nv::Blast::TaskSync [inline]
    notify()Nv::Blast::TaskSync [inline]
    setCount(uint32_t count)Nv::Blast::TaskSync [inline]
    TaskSync(uint32_t count)Nv::Blast::TaskSync [inline]
    wait()Nv::Blast::TaskSync [inline]

    - - - - diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_task_sync.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_task_sync.html deleted file mode 100644 index a1fa83a..0000000 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_task_sync.html +++ /dev/null @@ -1,170 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TaskSync Class Reference - - - - - - - - -
    -

    Nv::Blast::TaskSync Class Reference

    #include <NvBlastTkTaskImpl.h> -

    - -

    -List of all members. - - - - - - - - - - - - -

    Public Member Functions

    bool isDone ()
    void notify ()
    void setCount (uint32_t count)
     TaskSync (uint32_t count)
    void wait ()
    -


    Detailed Description

    -Counting synchronization object for waiting on TkWorkers to finish.

    Constructor & Destructor Documentation

    - -
    -
    - - - - - - - - - -
    Nv::Blast::TaskSync::TaskSync (uint32_t  count  )  [inline]
    -
    -
    - -

    -Initializes with an expected number of notifications. -

    -

    -


    Member Function Documentation

    - -
    -
    - - - - - - - - -
    bool Nv::Blast::TaskSync::isDone (  )  [inline]
    -
    -
    - -

    -Peek if notifications are pending. -

    -

    - -

    -
    - - - - - - - - -
    void Nv::Blast::TaskSync::notify (  )  [inline]
    -
    -
    - -

    -Decrement the wait() count by one. -

    -

    - -

    -
    - - - - - - - - - -
    void Nv::Blast::TaskSync::setCount (uint32_t  count  )  [inline]
    -
    -
    - -

    -Sets the expected number of notifications for wait() to unblock. -

    -

    - -

    -
    - - - - - - - - -
    void Nv::Blast::TaskSync::wait (  )  [inline]
    -
    -
    - -

    -Blocks until the expected number of notifications happened. -

    -

    -


    The documentation for this class was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_time-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_time-members.html index 3219a04..4be7d50 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_time-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_time-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_time.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_time.html index 34f4be2..d3b23dc 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_time.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_time.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::Time Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Time Class Reference diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor-members.html index 881e26b..18aa9d6 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -58,6 +58,7 @@ 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] + isBoundToWorld() 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] diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor.html index a1765db..b891957 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkActor Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkActor Class Reference @@ -94,6 +94,8 @@ Inheritance diagram for Nv::Blast::TkActor:
    virtual uint32_t getVisibleChunkIndices (uint32_t *visibleChunkIndices, uint32_t visibleChunkIndicesSize) const =0 +virtual bool isBoundToWorld () const =0 + virtual bool isPending () const =0 virtual TkGroupremoveFromGroup ()=0 @@ -677,6 +679,30 @@ NOTE: Wrapper function over low-level function call, see NvBlastActorGetVisibleC

    Implemented in Nv::Blast::TkActorImpl.

    + +

    + +

    +
    + + + + + + + + +
    virtual bool Nv::Blast::TkActor::isBoundToWorld (  )  const [pure virtual]
    +
    +
    + +

    +Whether or not this actor is bound to the world using a bond with an invalid chunk index to represent the NRF.

    +NOTE: Wrapper function over low-level function call NvBlastActorIsBoundToWorld.

    +

    Returns:
    true iff this actor contains the "world" support graph node, created when a bond contains the UINT32_MAX value for one of their chunkIndices.
    + +

    Implemented in Nv::Blast::TkActorImpl.

    +

    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl-members.html index 95a5172..0e19819 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -66,6 +66,7 @@ getVisibleChunkCount() const overrideNv::Blast::TkActorImpl [virtual] getVisibleChunkIndices(uint32_t *visibleChunkIndices, uint32_t visibleChunkIndicesSize) const overrideNv::Blast::TkActorImpl [virtual] isActive() const Nv::Blast::TkActorImpl + isBoundToWorld() const overrideNv::Blast::TkActorImpl [virtual] isPending() const overrideNv::Blast::TkActorImpl [virtual] operator Nv::Blast::TkActorData() const Nv::Blast::TkActorImpl release() overrideNv::Blast::TkActorImpl [virtual] diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl.html index 8e2b0f2..71d354d 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkActorImpl Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkActorImpl Class Reference @@ -113,6 +113,8 @@ Inheritance diagram for Nv::Blast::TkActorImpl: bool isActive () const +virtual bool isBoundToWorld () const override + virtual bool isPending () const override  operator Nv::Blast::TkActorData () const @@ -929,6 +931,30 @@ NOTE: Wrapper function over low-level function call, see NvBlastActorGetVisibleC TkActorImpl objects are created in an array within a TkFamilyImpl. Actors may become 'inactive' without their memory being freed. If inactive, the actor should be treated as if it has been released.

    Returns:
    the active status of this TkActorImpl.
    + +

    + +

    +
    + + + + + + + + +
    virtual bool Nv::Blast::TkActorImpl::isBoundToWorld (  )  const [override, virtual]
    +
    +
    + +

    +Whether or not this actor is bound to the world using a bond with an invalid chunk index to represent the NRF.

    +NOTE: Wrapper function over low-level function call NvBlastActorIsBoundToWorld.

    +

    Returns:
    true iff this actor contains the "world" support graph node, created when a bond contains the UINT32_MAX value for one of their chunkIndices.
    + +

    Implements Nv::Blast::TkActor.

    +

    @@ -1083,7 +1109,7 @@ Remove this actor from its group, if it is in one.

    - +
    friend class TkWorker [friend] friend class TkWorker [friend]
    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it-members.html index dcb2242..e068348 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html index 1c45114..a16834b 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkActorImpl::TkActorImpl::JointIt Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkActorImpl::TkActorImpl::JointIt Class Reference diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_allocator-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_allocator-members.html deleted file mode 100644 index 7889131..0000000 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_allocator-members.html +++ /dev/null @@ -1,53 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - - - - -
    -

    Nv::Blast::TkAllocator Member List

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

    - - - - -
    allocate(size_t size, const char *file, int line)Nv::Blast::TkAllocator [inline]
    deallocate(void *ptr)Nv::Blast::TkAllocator [inline]
    s_allocatorCallbackNv::Blast::TkAllocator [static]
    TkAllocator(const char *=0)Nv::Blast::TkAllocator [inline]

    - - - - diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_allocator.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_allocator.html deleted file mode 100644 index 1d9de9e..0000000 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_allocator.html +++ /dev/null @@ -1,163 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkAllocator Class Reference - - - - - - - - -
    -

    Nv::Blast::TkAllocator Class Reference

    #include <NvBlastTkAllocator.h> -

    - -

    -List of all members. - - - - - - - - - - - -

    Public Member Functions

    void * allocate (size_t size, const char *file, int line)
    void deallocate (void *ptr)
     TkAllocator (const char *=0)

    Static Public Attributes

    static physx::PxAllocatorCallback * s_allocatorCallback
    -


    Detailed Description

    -An allocator which can be used in PxShared containers.

    Constructor & Destructor Documentation

    - -
    -
    - - - - - - - - - -
    Nv::Blast::TkAllocator::TkAllocator (const char *  = 0  )  [inline]
    -
    -
    - -

    - -

    -

    -


    Member Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void* Nv::Blast::TkAllocator::allocate (size_t  size,
    const char *  file,
    int  line 
    ) [inline]
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void Nv::Blast::TkAllocator::deallocate (void *  ptr  )  [inline]
    -
    -
    - -

    - -

    -

    -


    Member Data Documentation

    - -
    -
    - - - - -
    physx::PxAllocatorCallback* Nv::Blast::TkAllocator::s_allocatorCallback [static]
    -
    -
    - -

    - -

    -

    -


    The documentation for this class was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset-members.html index 93780c8..c5c39d0 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -53,11 +53,10 @@ 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 + userIntDataNv::Blast::TkIdentifiable ~TkObject()Nv::Blast::TkObject [inline, protected, virtual] diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset.html index d26ae78..50c4296 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkAsset Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkAsset Class Reference @@ -41,7 +41,7 @@
    -

    Nv::Blast::TkAsset Class Reference

    #include <NvBlastTkAsset.h> +

    Nv::Blast::TkAsset Class Reference

    #include <NvBlastTkAsset.h>

    Inheritance diagram for Nv::Blast::TkAsset:
    @@ -49,9 +49,8 @@ Inheritance diagram for Nv::Blast::TkAsset:

    -Nv::Blast::TkSerializable -Nv::Blast::TkIdentifiable -Nv::Blast::TkObject +Nv::Blast::TkIdentifiable +Nv::Blast::TkObject @@ -251,7 +250,7 @@ NOTE: Wrapper function over low-level function call, see NvBlastAssetGetSupportG

    -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).

    +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::endProcess() (see TkGroup).

    Returns:
    the number of descriptors for internal joints.
    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset.png b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset.png index 16f9b91..f83d84a 100644 Binary files a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset.png and b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_asset.png differ diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_atomic_queue-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_atomic_queue-members.html deleted file mode 100644 index a1b504a..0000000 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_atomic_queue-members.html +++ /dev/null @@ -1,51 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - - - - -
    -

    Nv::Blast::TkAtomicQueue< T > Member List

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

    - - -
    init(TkWorkerJob *jobs, uint32_t numJobs)Nv::Blast::TkAtomicQueue< T > [inline]
    next()Nv::Blast::TkAtomicQueue< T > [inline]

    - - - - diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_atomic_queue.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_atomic_queue.html deleted file mode 100644 index b68c468..0000000 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_atomic_queue.html +++ /dev/null @@ -1,121 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkAtomicQueue< T > Class Template Reference - - - - - - - - -
    -

    Nv::Blast::TkAtomicQueue< T > Class Template Reference

    #include <NvBlastTkTaskImpl.h> -

    - -

    -List of all members. - - - - - - -

    Public Member Functions

    void init (TkWorkerJob *jobs, uint32_t numJobs)
    T * next ()
    -


    Detailed Description

    -

    template<typename T>
    - class Nv::Blast::TkAtomicQueue< T >

    - -Shared job queue from which TkWorkers atomically fetch the next job.

    Member Function Documentation

    - -
    -
    -
    -template<typename T >
    - - - - - - - - - - - - - - - - - - -
    void Nv::Blast::TkAtomicQueue< T >::init (TkWorkerJob jobs,
    uint32_t  numJobs 
    ) [inline]
    -
    -
    - -

    -Initialize for a new batch of jobs. -

    -

    - -

    -
    -
    -template<typename T >
    - - - - - - - - -
    T* Nv::Blast::TkAtomicQueue< T >::next (  )  [inline]
    -
    -
    - -

    -Fetch a pointer to the next job. Returns nullptr when exhausted. -

    -

    -


    The documentation for this class was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_listener-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_listener-members.html index b39e5cc..1a9767c 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_listener-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_listener-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.html index f674b47..f0be6cf 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_listener.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkEventListener Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkEventListener Class Reference diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_queue-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_queue-members.html index 99b8b33..ac775a9 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_queue-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_queue-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -44,8 +44,8 @@ addListener(TkEventListener &l)Nv::Blast::TkEventQueue [inline] allocData()Nv::Blast::TkEventQueue [inline] dispatch()Nv::Blast::TkEventQueue [inline] - dispatch(const TkArray< TkEvent >::type &events) const Nv::Blast::TkEventQueue [inline] - operator const TkArray< TkEvent >::type &()Nv::Blast::TkEventQueue [inline] + dispatch(const Array< TkEvent >::type &events) const Nv::Blast::TkEventQueue [inline] + operator const Array< TkEvent >::type &()Nv::Blast::TkEventQueue [inline] protect(bool enable)Nv::Blast::TkEventQueue [inline] removeListener(TkEventListener &l)Nv::Blast::TkEventQueue [inline] reserveData(size_t size)Nv::Blast::TkEventQueue [inline] diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_queue.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_queue.html index 7616aed..8d6a729 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_queue.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_event_queue.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkEventQueue Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkEventQueue Class Reference @@ -56,11 +56,11 @@ template<typename T > T * allocData () -void dispatch (const TkArray< TkEvent >::type &events) const +void dispatch (const Array< TkEvent >::type &events) const void dispatch () - operator const TkArray< TkEvent >::type & () + operator const Array< TkEvent >::type & () void protect (bool enable) @@ -174,14 +174,14 @@ template<typename T > Request storage for payload.

    - +

    - + @@ -213,12 +213,12 @@ Proxy function to dispatch events to this queue's listeners. Dispatch the stored events to the registered listeners. After dispatch, all data is invalidated.

    - +

    void Nv::Blast::TkEventQueue::dispatch (const TkArray< TkEvent >::type & const Array< TkEvent >::type &  events  )  const [inline]
    - + diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family-members.html index 2f65b50..74f0ce8 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -52,12 +52,11 @@ - - +
    Nv::Blast::TkEventQueue::operator const TkArray< TkEvent >::type & Nv::Blast::TkEventQueue::operator const Array< TkEvent >::type & (  ) 
    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
    userIntDataNv::Blast::TkIdentifiable
    ~TkObject()Nv::Blast::TkObject [inline, protected, virtual]
    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.html index ab7c5a3..1ffb9eb 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkFamily Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkFamily Class Reference @@ -41,7 +41,7 @@
    -

    Nv::Blast::TkFamily Class Reference

    #include <NvBlastTkFamily.h> +

    Nv::Blast::TkFamily Class Reference

    #include <NvBlastTkFamily.h>

    Inheritance diagram for Nv::Blast::TkFamily:
    @@ -49,9 +49,8 @@ Inheritance diagram for Nv::Blast::TkFamily:

    -Nv::Blast::TkSerializable -Nv::Blast::TkIdentifiable -Nv::Blast::TkObject +Nv::Blast::TkIdentifiable +Nv::Blast::TkObject diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.png b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.png index f1b77ce..2af25a3 100644 Binary files a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.png and b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.png differ diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework-members.html index ec35666..971a3c7 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -45,17 +45,13 @@ 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] + reorderAssetDescChunks(NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap=nullptr, bool keepBondNormalChunkOrder=false) const =0Nv::Blast::TkFramework [pure virtual] ~TkFramework()Nv::Blast::TkFramework [inline, protected, virtual] diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework.html index 636010f..88c5e7e 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkFramework Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkFramework Class Reference @@ -67,19 +67,10 @@ Inheritance diagram for Nv::Blast::TkFramework: 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 @@ -88,7 +79,7 @@ physx::PxAllocatorCallback & virtual void release ()=0 -virtual bool reorderAssetDescChunks (NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap=nullptr) const =0 +virtual bool reorderAssetDescChunks (NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap=nullptr, bool keepBondNormalChunkOrder=false) const =0

    Protected Member Functions

    virtual ~TkFramework () @@ -286,38 +277,6 @@ A joint cannot be created between chunks within the same actor using this method

    Implemented in Nv::Blast::TkFrameworkImpl.

    - -

    - -

    -
    - - - - - - - - - -
    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.
    - -

    Implemented in Nv::Blast::TkFrameworkImpl.

    -

    @@ -388,69 +347,6 @@ Look up an object derived from Nv::Blast::TkFrameworkImpl.

    - -

    - -

    -
    - - - - - - - - -
    virtual physx::PxAllocatorCallback& Nv::Blast::TkFramework::getAllocatorCallback (  )  const [pure virtual]
    -
    -
    - -

    -Access to the allocator callback set by the user. -

    Implemented in Nv::Blast::TkFrameworkImpl.

    - -
    -

    - -

    -
    - - - - - - - - -
    virtual physx::PxErrorCallback& Nv::Blast::TkFramework::getErrorCallback (  )  const [pure virtual]
    -
    -
    - -

    -Access to the error callback set by the user. -

    Implemented in Nv::Blast::TkFrameworkImpl.

    - -
    -

    - -

    -
    - - - - - - - - -
    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). -

    Implemented in Nv::Blast::TkFrameworkImpl.

    -

    @@ -585,7 +481,7 @@ Release this framework and all contained objects. Global singleton is set to NUL

    - +

    @@ -617,7 +513,13 @@ Release this framework and all contained objects. Global singleton is set to NUL - + + + + + + + @@ -634,16 +536,17 @@ This is a convenience wrapper for the low-level NvBlastReorderAssetDescChunks fu This function may modify both the chunkDescs and bondDescs array, since rearranging chunk descriptors requires re-indexing within the bond descriptors.

    Parameters:
    uint32_t *  chunkReorderMap = nullptr  chunkReorderMap = nullptr,
    bool  keepBondNormalChunkOrder = false 
    - + - + - + +
    [in] chunkDescs Array of chunk descriptors of size chunkCount. It will be updated accordingly.
    [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] 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.
    [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.
    [in] keepBondNormalChunkOrder If true, bond normals will be flipped if their chunk index order was reveresed by the reorder map.
    Returns:
    true iff the chunks did not require reordering (chunkReorderMap is the identity map).
    -

    Implemented in Nv::Blast::TkFrameworkImpl.

    +

    Implemented in Nv::Blast::TkFrameworkImpl.

    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework_impl-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework_impl-members.html index 01c4352..fa462b8 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework_impl-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework_impl-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -40,37 +40,27 @@

    Nv::Blast::TkFrameworkImpl Member List

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

    - - - - - - - - - - - + - +
    alloc(size_t size)Nv::Blast::TkFrameworkImpl [static]
    createActor(const TkActorDesc &desc) overrideNv::Blast::TkFrameworkImpl [virtual]
    createAsset(const TkAssetDesc &desc) overrideNv::Blast::TkFrameworkImpl [virtual]
    createAsset(const NvBlastAsset *assetLL, Nv::Blast::TkAssetJointDesc *jointDescs=nullptr, uint32_t jointDescCount=0, bool ownsAsset=false) overrideNv::Blast::TkFrameworkImpl [virtual]
    createGroup(const TkGroupDesc &desc) overrideNv::Blast::TkFrameworkImpl [virtual]
    createJoint(const TkJointDesc &desc) overrideNv::Blast::TkFrameworkImpl [virtual]
    deserialize(physx::general_PxIOStream2::PxFileBuf &stream) overrideNv::Blast::TkFrameworkImpl [virtual]
    ensureAssetExactSupportCoverage(NvBlastChunkDesc *chunkDescs, uint32_t chunkCount) const overrideNv::Blast::TkFrameworkImpl [virtual]
    findObjectByID(const NvBlastID &id) const overrideNv::Blast::TkFrameworkImpl [virtual]
    findObjectByIDInternal(const NvBlastID &id) const Nv::Blast::TkFrameworkImpl
    free(void *mem)Nv::Blast::TkFrameworkImpl [static]
    get()Nv::Blast::TkFrameworkImpl [static]
    getAllocatorCallback() const overrideNv::Blast::TkFrameworkImpl [virtual]
    getAllocatorCallbackInternal() const Nv::Blast::TkFrameworkImpl
    getErrorCallback() const overrideNv::Blast::TkFrameworkImpl [virtual]
    getErrorCallbackInternal() const Nv::Blast::TkFrameworkImpl
    getLogFn() const overrideNv::Blast::TkFrameworkImpl [virtual]
    getObjectCount(const TkType &type) const overrideNv::Blast::TkFrameworkImpl [virtual]
    getObjects(TkIdentifiable **buffer, uint32_t bufferSize, const TkType &type, uint32_t indexStart=0) const overrideNv::Blast::TkFrameworkImpl [virtual]
    getType(TkTypeIndex::Enum typeIndex) const overrideNv::Blast::TkFrameworkImpl [virtual]
    log(int type, const char *msg, const char *file, int line)Nv::Blast::TkFrameworkImpl [static]
    onCreate(TkIdentifiable &object)Nv::Blast::TkFrameworkImpl
    onCreate(TkJointImpl &joint)Nv::Blast::TkFrameworkImpl
    onDestroy(TkIdentifiable &object)Nv::Blast::TkFrameworkImpl
    onDestroy(TkJointImpl &joint)Nv::Blast::TkFrameworkImpl
    onIDChange(TkIdentifiable &object, const NvBlastID &IDPrev, const NvBlastID &IDCurr)Nv::Blast::TkFrameworkImpl
    release() overrideNv::Blast::TkFrameworkImpl [virtual]
    reorderAssetDescChunks(NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap=nullptr) const overrideNv::Blast::TkFrameworkImpl [virtual]
    serializeHeader(const TkSerializable &object, physx::general_PxIOStream2::PxFileBuf &stream)Nv::Blast::TkFrameworkImpl
    reorderAssetDescChunks(NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap=nullptr, bool keepBondNormalChunkOrder=false) const overrideNv::Blast::TkFrameworkImpl [virtual]
    set(TkFrameworkImpl *framework)Nv::Blast::TkFrameworkImpl [static]
    TkFrameworkImpl(const TkFrameworkDesc &desc)Nv::Blast::TkFrameworkImpl
    TkFrameworkImpl()Nv::Blast::TkFrameworkImpl
    ~TkFramework()Nv::Blast::TkFramework [inline, protected, virtual]
    ~TkFrameworkImpl()Nv::Blast::TkFrameworkImpl

    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework_impl.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework_impl.html index f01405a..4f42c55 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework_impl.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_framework_impl.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkFrameworkImpl Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkFrameworkImpl Class Reference @@ -67,25 +67,12 @@ Inheritance diagram for Nv::Blast::TkFrameworkImpl: virtual TkJointcreateJoint (const TkJointDesc &desc) override -virtual TkSerializabledeserialize (physx::general_PxIOStream2::PxFileBuf &stream) override - virtual bool ensureAssetExactSupportCoverage (NvBlastChunkDesc *chunkDescs, uint32_t chunkCount) const override virtual TkIdentifiablefindObjectByID (const NvBlastID &id) const override TkIdentifiablefindObjectByIDInternal (const NvBlastID &id) const -virtual
    -physx::PxAllocatorCallback & getAllocatorCallback () const override - -physx::PxAllocatorCallback & getAllocatorCallbackInternal () const - -virtual physx::PxErrorCallback & getErrorCallback () const override - -physx::PxErrorCallback & getErrorCallbackInternal () const - -virtual NvBlastLog getLogFn () const override - virtual uint32_t getObjectCount (const TkType &type) const override virtual uint32_t getObjects (TkIdentifiable **buffer, uint32_t bufferSize, const TkType &type, uint32_t indexStart=0) const override @@ -104,40 +91,28 @@ physx::PxAllocatorCallback & virtual void release () override -virtual bool reorderAssetDescChunks (NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap=nullptr) const override - -bool serializeHeader (const TkSerializable &object, physx::general_PxIOStream2::PxFileBuf &stream) +virtual bool reorderAssetDescChunks (NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap=nullptr, bool keepBondNormalChunkOrder=false) const override - TkFrameworkImpl (const TkFrameworkDesc &desc) + TkFrameworkImpl ()  ~TkFrameworkImpl ()

    Static Public Member Functions

    -static void * alloc (size_t size) - - A function with the std::malloc signature which returns 16-byte aligned memory.
    -static void free (void *mem) - - A function with the std::free signature which can deallocate memory created by alloc.
    static TkFrameworkImplget () -static void log (int type, const char *msg, const char *file, int line) - - A function with the NvBlastLog signature which can be used in NvBlast low-level function calls.
    static bool set (TkFrameworkImpl *framework)

    Detailed Description

    Implementation of TkFramework

    Constructor & Destructor Documentation

    - +
    - - + @@ -169,28 +144,6 @@ Implementation of


    Member Function Documentation

    -
    -
    -
    -
    Nv::Blast::TkFrameworkImpl::TkFrameworkImpl (const TkFrameworkDesc desc  ) 
    - - - - - - - - -
    static void* Nv::Blast::TkFrameworkImpl::alloc (size_t  size  )  [static]
    -
    -
    - -

    -A function with the std::malloc signature which returns 16-byte aligned memory. -

    - -

    -

    @@ -360,38 +313,6 @@ A joint cannot be created between chunks within the same actor using this method

    Implements Nv::Blast::TkFramework.

    -
    -

    - -

    -
    - - - - - - - - - -
    virtual TkSerializable* Nv::Blast::TkFrameworkImpl::deserialize (physx::general_PxIOStream2::PxFileBuf &  stream  )  [override, 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.
    - -

    Implements Nv::Blast::TkFramework.

    -

    @@ -482,28 +403,6 @@ Look up an object derived from TkIdentifiable object based upon its NvBlastID. - -

    - -

    -
    - - - - - - - - - -
    static void Nv::Blast::TkFrameworkImpl::free (void *  mem  )  [static]
    -
    -
    - -

    -A function with the std::free signature which can deallocate memory created by alloc. -

    -

    @@ -523,107 +422,6 @@ A function with the std::free signature which can deallocate memory created by a

    Retrieve the global singleton. - -

    - -

    -
    - - - - - - - - -
    virtual physx::PxAllocatorCallback& Nv::Blast::TkFrameworkImpl::getAllocatorCallback (  )  const [override, virtual]
    -
    -
    - -

    -Access to the allocator callback set by the user. -

    Implements Nv::Blast::TkFramework.

    - -
    -

    - -

    -
    - - - - - - - - -
    NV_INLINE physx::PxAllocatorCallback & Nv::Blast::TkFrameworkImpl::getAllocatorCallbackInternal (  )  const
    -
    -
    - -

    -Access to the allocator callback set by the user. -

    -

    - -

    -
    - - - - - - - - -
    virtual physx::PxErrorCallback& Nv::Blast::TkFrameworkImpl::getErrorCallback (  )  const [override, virtual]
    -
    -
    - -

    -Access to the error callback set by the user. -

    Implements Nv::Blast::TkFramework.

    - -
    -

    - -

    -
    - - - - - - - - -
    NV_INLINE physx::PxErrorCallback & Nv::Blast::TkFrameworkImpl::getErrorCallbackInternal (  )  const
    -
    -
    - -

    -Access to the error callback set by the user. -

    -

    - -

    -
    - - - - - - - - -
    virtual NvBlastLog Nv::Blast::TkFrameworkImpl::getLogFn (  )  const [override, virtual]
    -
    -
    - -

    -Access to a log function which can be used in Blast low-level calls. This function uses the user-supplied PxErrorCallback (see TkFrameworkDesc). -

    Implements Nv::Blast::TkFramework.

    -

    @@ -735,49 +533,6 @@ To find the type information for a given TkIdentifiable-derived class, use this

    Implements Nv::Blast::TkFramework.

    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    static void Nv::Blast::TkFrameworkImpl::log (int  type,
    const char *  msg,
    const char *  file,
    int  line 
    ) [static]
    -
    -
    - -

    -A function with the NvBlastLog signature which can be used in NvBlast low-level function calls. -

    -

    @@ -916,7 +671,7 @@ Release this framework and all contained objects. Global singleton is set to NUL

    - +

    @@ -948,7 +703,13 @@ Release this framework and all contained objects. Global singleton is set to NUL - + + + + + + + @@ -965,46 +726,18 @@ This is a convenience wrapper for the low-level NvBlastReorderAssetDescChunks fu This function may modify both the chunkDescs and bondDescs array, since rearranging chunk descriptors requires re-indexing within the bond descriptors.

    Parameters:
    uint32_t *  chunkReorderMap = nullptr  chunkReorderMap = nullptr,
    bool  keepBondNormalChunkOrder = false 
    - + - + - + +
    [in] chunkDescs Array of chunk descriptors of size chunkCount. It will be updated accordingly.
    [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] 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.
    [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.
    [in] keepBondNormalChunkOrder If true, bond normals will be flipped if their chunk index order was reveresed by the reorder map.
    Returns:
    true iff the chunks did not require reordering (chunkReorderMap is the identity map).
    -

    Implements Nv::Blast::TkFramework.

    - -
    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    bool Nv::Blast::TkFrameworkImpl::serializeHeader (const TkSerializable object,
    physx::general_PxIOStream2::PxFileBuf &  stream 
    )
    -
    -
    +

    Implements Nv::Blast::TkFramework.

    -

    -Serialize a TkSerializable's standard header data, including its type ID, type version, object ID, and TkObject::userIntData.

    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html index e26caf3..3c793d2 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -40,18 +40,24 @@

    Nv::Blast::TkGroup Member List

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

    + + - + + + - + + +
    acquireWorker()=0Nv::Blast::TkGroup [pure virtual]
    addActor(TkActor &actor)=0Nv::Blast::TkGroup [pure virtual]
    endProcess()=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]
    getWorkerCount() const =0Nv::Blast::TkGroup [pure virtual]
    process()Nv::Blast::TkGroup [virtual]
    release()=0Nv::Blast::TkObject [pure virtual]
    returnWorker(TkGroupWorker *)=0Nv::Blast::TkGroup [pure virtual]
    setID(const NvBlastID &id)=0Nv::Blast::TkIdentifiable [pure virtual]
    sync(bool block=true)=0Nv::Blast::TkGroup [pure virtual]
    setWorkerCount(uint32_t workerCount)=0Nv::Blast::TkGroup [pure virtual]
    startProcess()=0Nv::Blast::TkGroup [pure virtual]
    TkObject()Nv::Blast::TkObject [inline]
    userDataNv::Blast::TkObject
    userIntDataNv::Blast::TkIdentifiable
    ~TkObject()Nv::Blast::TkObject [inline, protected, virtual]

    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group.html index 5177da8..777cd91 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkGroup Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkGroup Class Reference @@ -58,22 +58,54 @@ Inheritance diagram for Nv::Blast::TkGroup: List of all members. + + + + - + + + - + + + + +

    Public Member Functions

    virtual TkGroupWorkeracquireWorker ()=0
    virtual bool addActor (TkActor &actor)=0
    virtual bool endProcess ()=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 uint32_t getWorkerCount () const =0
    virtual void process ()
    virtual bool sync (bool block=true)=0
    virtual void returnWorker (TkGroupWorker *)=0
    virtual void setWorkerCount (uint32_t workerCount)=0
    virtual uint32_t startProcess ()=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

    +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 can be done in multiple threads with the help of TkGroupWorker: Instead of calling the process function, commence the procedure with startProcess which returns the number of jobs to process. Each concurrent thread uses an acquired TkGroupWorker to process the jobs. Over the whole procedure, each job must be processed once and only once. Jobs can be processed in any order. TkGroupWorkers can be returned and acquired later by another task. After processing every job and returning all the workers to the group, endProcess concludes the procedure.


    Member Function Documentation

    + +
    +
    + + + + + + + + +
    virtual TkGroupWorker* Nv::Blast::TkGroup::acquireWorker (  )  [pure virtual]
    +
    +
    + +

    +Acquire one worker to process the group concurrently on a thread. The worker must be returned with returnWorker() before endProcess() is called on its group.

    +

    Returns:
    A worker for this group (at most getWorkerCount) or nullptr if none is available.
    + +
    +

    @@ -99,6 +131,28 @@ Add the actor to this group, if the actor does not currently belong to a group.<
    Returns:
    true if successful, false otherwise.
    +
    +

    + +

    +
    + + + + + + + + +
    virtual bool Nv::Blast::TkGroup::endProcess (  )  [pure virtual]
    +
    +
    + +

    +Unlock this group after all jobs were processed with TkGroupWorker. All workers must have been returned with returnWorker(). 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.

    +Note that groups concurrently dispatching events for the same TkFamily require synchronization in the TkFamily's Listener. However, concurrent use of endProcess is not recommended in this version. It should be called from the main thread.

    +

    Returns:
    true if the group was processing
    +

    @@ -183,7 +237,7 @@ Retrieve an array of pointers (into the user-supplied buffer) to actors.

    -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.

    +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:
    @@ -192,37 +246,54 @@ For profile builds only, request stats of the last successful processing. Inacti

    - +

    [in] stats The struct to be filled in.
    - + - +
    virtual bool Nv::Blast::TkGroup::process virtual uint32_t Nv::Blast::TkGroup::getWorkerCount (  )  [pure virtual] const [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.
    +
    Returns:
    The total amount of workers allocated for this group.
    + +
    +

    + +

    +
    + + + + + + + + +
    NV_INLINE void Nv::Blast::TkGroup::process (  )  [virtual]
    +
    +
    +

    +Helper function to process the group synchronously on a single thread.

    - +

    - + - - + + @@ -231,13 +302,53 @@ Note: The number of threads provided by pxTaskManager must not change over the g

    -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.

    +Return a worker previously acquired with acquireWorker() to this TkGroup.

    Parameters:
    virtual bool Nv::Blast::TkGroup::sync virtual void Nv::Blast::TkGroup::returnWorker (bool  block = true TkGroupWorker  )  [pure virtual]
    - +
    [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.
    [in] The TkGroupWorker previously acquired from this TkGroup.
    -
    Returns:
    true if gather and dispatch work have been performed, false otherwise.
    + +
    +

    + +

    +
    + + + + + + + + + +
    virtual void Nv::Blast::TkGroup::setWorkerCount (uint32_t  workerCount  )  [pure virtual]
    +
    +
    + +

    +Set the expected number of concurrent worker threads that will process this group concurrently. +

    +

    + +

    +
    + + + + + + + + +
    virtual uint32_t Nv::Blast::TkGroup::startProcess (  )  [pure virtual]
    +
    +
    + +

    +Lock this group for processing concurrently with TkGroupWorker. The group is unlocked again with the endProcess() function.

    +

    Returns:
    The number of jobs to process. TkGroupWorker::process must be called once for each jobID from 0 to this number-1. See TkGroup::process for a single threaded example.

    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker-members.html new file mode 100644 index 0000000..6089132 --- /dev/null +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker-members.html @@ -0,0 +1,50 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + +

    + + +
    +

    Nv::Blast::TkGroupWorker Member List

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

    + +
    process(uint32_t jobId)=0Nv::Blast::TkGroupWorker [pure virtual]

    + + + + diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker.html new file mode 100644 index 0000000..6990784 --- /dev/null +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker.html @@ -0,0 +1,97 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkGroupWorker Class Reference + + + + + + + + +
    +

    Nv::Blast::TkGroupWorker Class Reference

    #include <NvBlastTkGroup.h> +

    +

    +Inheritance diagram for Nv::Blast::TkGroupWorker:
    +
    + +

    + +Nv::Blast::final + +
    + +

    +List of all members. + + + + +

    Public Member Functions

    virtual void process (uint32_t jobId)=0
    +


    Detailed Description

    +A worker as provided by TkGroup::acquireWorker(). It manages the necessary memory for parallel processing. The group can be processed concurrently by calling process() from different threads using a different TkGroupWorker each.

    +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.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    virtual void Nv::Blast::TkGroupWorker::process (uint32_t  jobId  )  [pure virtual]
    +
    +
    + +

    +Process a job of this worker's TkGroup.

    +/param[in] jobId a job id in the range (0, TkGroup::startProcess()] +

    Implemented in Nv::Blast::final.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker.png b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker.png new file mode 100644 index 0000000..5cee333 Binary files /dev/null and b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group_worker.png differ diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable-members.html index 3dc1cea..f91ae73 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -46,6 +46,7 @@ setID(const NvBlastID &id)=0Nv::Blast::TkIdentifiable [pure virtual] TkObject()Nv::Blast::TkObject [inline] userDataNv::Blast::TkObject + userIntDataNv::Blast::TkIdentifiable ~TkObject()Nv::Blast::TkObject [inline, protected, virtual] diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.html index fc1dabf..881d321 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkIdentifiable Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkIdentifiable Class Reference @@ -49,11 +49,10 @@ Inheritance diagram for Nv::Blast::TkIdentifiable:

    -Nv::Blast::TkObject -Nv::Blast::TkGroup -Nv::Blast::TkSerializable -Nv::Blast::TkAsset -Nv::Blast::TkFamily +Nv::Blast::TkObject +Nv::Blast::TkAsset +Nv::Blast::TkFamily +Nv::Blast::TkGroup @@ -67,6 +66,9 @@ Inheritance diagram for Nv::Blast::TkIdentifiable: virtual void setID (const NvBlastID &id)=0 +

    Public Attributes

    +uint64_t userIntData +

    Detailed Description

    TkIdentifiable objects have getID and setID methods for individual objects. They also have a type (class) identification.

    Member Function Documentation

    @@ -132,6 +134,22 @@ Access to the static (class) type data for this object.

    Set the ID for this object.

    +


    Member Data Documentation

    + +
    + +
    + +

    +Integer field available to the user which may be serialized. +

    +


    The documentation for this class was generated from the following file: diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.png b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.png index 5fb3675..af8bdf6 100644 Binary files a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.png and b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_identifiable.png differ diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint-members.html index c175e70..466e555 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint.html index 6cbb51e..c7257c4 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkJoint Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkJoint Class Reference diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint_impl-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint_impl-members.html index 1199469..206de5b 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint_impl-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint_impl-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint_impl.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint_impl.html index edd257d..1b5d82b 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint_impl.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_joint_impl.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkJointImpl Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkJointImpl Class Reference diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object-members.html index 7b39902..7849e84 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object.html index d4e6b1b..6c33ac1 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkObject Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkObject Class Reference @@ -49,15 +49,14 @@ Inheritance diagram for Nv::Blast::TkObject:

    -Nv::Blast::TkActor -Nv::Blast::TkIdentifiable -Nv::Blast::TkJoint -Nv::Blast::TkActorImpl -Nv::Blast::TkGroup -Nv::Blast::TkSerializable -Nv::Blast::TkJointImpl -Nv::Blast::TkAsset -Nv::Blast::TkFamily +Nv::Blast::TkActor +Nv::Blast::TkIdentifiable +Nv::Blast::TkJoint +Nv::Blast::TkActorImpl +Nv::Blast::TkAsset +Nv::Blast::TkFamily +Nv::Blast::TkGroup +Nv::Blast::TkJointImpl diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object.png b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object.png index 691c783..a479b17 100644 Binary files a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object.png and b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_object.png differ diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable-members.html deleted file mode 100644 index 724e3b3..0000000 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source 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/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable.html deleted file mode 100644 index d394339..0000000 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable.html +++ /dev/null @@ -1,122 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source 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/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable.png b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable.png deleted file mode 100644 index 3f84d30..0000000 Binary files a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_serializable.png and /dev/null differ diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type-members.html index fb5c430..f3300af 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type.html index 9dc2963..77f7766 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkType Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkType Class Reference diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type_impl-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type_impl-members.html index f45b59f..747d1d4 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type_impl-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_type_impl-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -40,7 +40,6 @@

    Nv::Blast::TkTypeImpl Member List

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

    - @@ -50,7 +49,7 @@ - +
    getDeserializeFn() const Nv::Blast::TkTypeImpl
    getID() const Nv::Blast::TkTypeImpl
    getIndex() const Nv::Blast::TkTypeImpl
    getName() const overrideNv::Blast::TkTypeImpl [inline, virtual]
    indexIsValid() const Nv::Blast::TkTypeImpl
    operator==(const TkType &type) const Nv::Blast::TkType [inline]
    TkFrameworkImpl classNv::Blast::TkTypeImpl [friend]
    TkTypeImpl(const char *typeName, uint32_t typeID, uint32_t version, TkDeserializeFn deserializeFn)Nv::Blast::TkTypeImpl
    TkTypeImpl(const char *typeName, uint32_t typeID, uint32_t version)Nv::Blast::TkTypeImpl

    List of all members. - - @@ -73,7 +71,7 @@ Inheritance diagram for Nv::Blast::TkTypeImpl: - + @@ -81,7 +79,7 @@ Inheritance diagram for Nv::Blast::TkTypeImpl:

    Public Member Functions

    TkDeserializeFn getDeserializeFn () const
    uint32_t getID () const
    uint32_t getIndex () const
    bool indexIsValid () const
     TkTypeImpl (const char *typeName, uint32_t typeID, uint32_t version, TkDeserializeFn deserializeFn)
     TkTypeImpl (const char *typeName, uint32_t typeID, uint32_t version)

    Friends

    class TkFrameworkImpl

    Detailed Description

    Implementation of TkType, storing class information for TkIdentifiable-derived classes.

    Constructor & Destructor Documentation

    - +
    @@ -101,13 +99,7 @@ Implementation of TkTyp - - - - - - - + @@ -123,26 +115,6 @@ Implementation of TkTyp


    Member Function Documentation

    -
    -
    -
    -
    uint32_t  version,
    TkDeserializeFn  deserializeFn  version 
    - - - - - - - -
    NV_INLINE TkDeserializeFn Nv::Blast::TkTypeImpl::getDeserializeFn (  )  const
    -
    -
    - -

    -

    Returns:
    the class's deserialization function.
    - -
    -

    @@ -159,7 +131,7 @@ Implementation of TkTyp

    -Access to a unique identifier for the class (set using the NVBLASTTK_IMPL_DEFINE_IDENTIFIABLE or NVBLASTTK_IMPL_DEFINE_SERIALIZABLE macro).

    +Access to a unique identifier for the class (set using the NVBLASTTK_IMPL_DEFINE_IDENTIFIABLE macro).

    Returns:
    the class's unique identifier.
    @@ -268,7 +240,7 @@ The data format version for this class. When deserializing, this version must ma

    -Access to the data format version for the class (used if it TkSerializable-derived).

    +Access to the data format version for the class.

    Returns:
    the data format version.
    diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_worker-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_worker-members.html deleted file mode 100644 index 6d63d56..0000000 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_worker-members.html +++ /dev/null @@ -1,56 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - -
    - - -
    -

    Nv::Blast::TkWorker Member List

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

    - - - - - - - -
    getName() const Nv::Blast::TkWorker [inline]
    m_bondBufferNv::Blast::TkWorker
    m_chunkBufferNv::Blast::TkWorker
    m_groupNv::Blast::TkWorker
    m_idNv::Blast::TkWorker
    release()Nv::Blast::TkWorker
    run()Nv::Blast::TkWorker

    - - - - diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_worker.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_worker.html deleted file mode 100644 index e946d8f..0000000 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_worker.html +++ /dev/null @@ -1,209 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkWorker Class Reference - - - - - - - - -
    -

    Nv::Blast::TkWorker Class Reference

    #include <NvBlastTkTaskImpl.h> -

    - -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    const char * getName () const
    void release ()
    void run ()

    Public Attributes

    LocalBuffer
    -< NvBlastBondFractureData
    m_bondBuffer
     memory manager for bonds event data
    LocalBuffer
    -< NvBlastChunkFractureData
    m_chunkBuffer
     memory manager for chunk event data
    TkGroupImpl * m_group
     the group owning this worker
    uint32_t m_id
     this worker's id
    -


    Detailed Description

    -Thread worker fracturing and splitting actors sequentially. The list of actual jobs is provided by the group owning this worker.

    Member Function Documentation

    - -
    -
    - - - - - - - - -
    const char* Nv::Blast::TkWorker::getName (  )  const [inline]
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - -
    void Nv::Blast::TkWorker::release (  ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - -
    void Nv::Blast::TkWorker::run (  ) 
    -
    -
    - -

    - -

    -

    -


    Member Data Documentation

    - -
    - -
    - -

    -memory manager for bonds event data -

    - -

    -

    - -

    - -
    - -

    -memory manager for chunk event data -

    - -

    -

    - -

    -
    - - - - -
    TkGroupImpl* Nv::Blast::TkWorker::m_group
    -
    -
    - -

    -the group owning this worker -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::TkWorker::m_id
    -
    -
    - -

    -this worker's id -

    - -

    -

    -


    The documentation for this class was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_triangle_processor-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_triangle_processor-members.html index 92c382b..bb3ea95 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_triangle_processor-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_triangle_processor-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_triangle_processor.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_triangle_processor.html index 950e137..c4588f4 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_triangle_processor.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_triangle_processor.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TriangleProcessor Class Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TriangleProcessor Class Reference diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_triangulator-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_triangulator-members.html new file mode 100644 index 0000000..5054915 --- /dev/null +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_triangulator-members.html @@ -0,0 +1,56 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + +
    +

    Nv::Blast::Triangulator Member List

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

    + + + + + + + +
    getBaseMapping()Nv::Blast::Triangulator [inline]
    getBaseMesh()Nv::Blast::Triangulator [inline]
    getBaseMeshIndexed()Nv::Blast::Triangulator [inline]
    getPositionedMapping()Nv::Blast::Triangulator [inline]
    getWeldedVerticesCount()Nv::Blast::Triangulator [inline]
    reset()Nv::Blast::Triangulator
    triangulate(const Mesh *mesh)Nv::Blast::Triangulator

    + + + + diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_triangulator.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_triangulator.html new file mode 100644 index 0000000..488db97 --- /dev/null +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_triangulator.html @@ -0,0 +1,220 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Triangulator Class Reference + + + + + + + + +
    +

    Nv::Blast::Triangulator Class Reference

    #include <NvBlastExtAuthoringTriangulator.h> +

    + +

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

    Public Member Functions

    std::vector< uint32_t > & getBaseMapping ()
    std::vector< Triangle > & getBaseMesh ()
    std::vector< TriangleIndexed > & getBaseMeshIndexed ()
    std::vector< int32_t > & getPositionedMapping ()
    uint32_t getWeldedVerticesCount ()
    void reset ()
    void triangulate (const Mesh *mesh)
    +


    Detailed Description

    +Tool for doing all post processing steps of authoring.

    Member Function Documentation

    + +
    +
    + + + + + + + + +
    std::vector<uint32_t>& Nv::Blast::Triangulator::getBaseMapping (  )  [inline]
    +
    +
    + +

    +

    Returns:
    Return mapping from vertices of input Mesh to internal vertices buffer. Used for island detection.
    + +
    +

    + +

    +
    + + + + + + + + +
    std::vector<Triangle>& Nv::Blast::Triangulator::getBaseMesh (  )  [inline]
    +
    +
    + +

    +

    Returns:
    Return array of triangles of base mesh.
    + +
    +

    + +

    +
    + + + + + + + + +
    std::vector<TriangleIndexed>& Nv::Blast::Triangulator::getBaseMeshIndexed (  )  [inline]
    +
    +
    + +

    +

    Returns:
    Return array of TriangleIndexed of base mesh. Each TriangleIndexed contains index of corresponding vertex in internal vertex buffer.
    + +
    +

    + +

    +
    + + + + + + + + +
    std::vector<int32_t>& Nv::Blast::Triangulator::getPositionedMapping (  )  [inline]
    +
    +
    + +

    +

    Returns:
    Return mapping from vertices of input Mesh to internal vertices buffer, only positions are accounted. Used for island detection.
    + +
    +

    + +

    +
    + + + + + + + + +
    uint32_t Nv::Blast::Triangulator::getWeldedVerticesCount (  )  [inline]
    +
    +
    + +

    +

    Returns:
    Return internal vertex buffer size. Vertices internally are welded with some threshold.
    + +
    +

    + +

    +
    + + + + + + + + +
    void Nv::Blast::Triangulator::reset (  ) 
    +
    +
    + +

    +Removes all information about mesh triangulation. +

    +

    + +

    +
    + + + + + + + + + +
    void Nv::Blast::Triangulator::triangulate (const Mesh mesh  ) 
    +
    +
    + +

    +Triangulates provided mesh and saves result internally. Uses Ear-clipping algorithm.

    Parameters:
    + + +
    [in] mesh Mesh for triangulation
    +
    + +
    +

    +


    The documentation for this class was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator-members.html index 23a1d34..7a56dc2 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_voronoi_sites_generator-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -40,18 +40,18 @@

    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
    addSite(const physx::PxVec3 &site)=0Nv::Blast::VoronoiSitesGenerator [pure virtual]
    clearStencil()=0Nv::Blast::VoronoiSitesGenerator [pure virtual]
    clusteredSitesGeneration(uint32_t numberOfClusters, uint32_t sitesPerCluster, float clusterRadius)=0Nv::Blast::VoronoiSitesGenerator [pure virtual]
    deleteInSphere(const float radius, const physx::PxVec3 &center, const float eraserProbability=1)=0Nv::Blast::VoronoiSitesGenerator [pure virtual]
    generateInSphere(const uint32_t count, const float radius, const physx::PxVec3 &center)=0Nv::Blast::VoronoiSitesGenerator [pure virtual]
    getVoronoiSites(const physx::PxVec3 *&sites)=0Nv::Blast::VoronoiSitesGenerator [pure virtual]
    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)=0Nv::Blast::VoronoiSitesGenerator [pure virtual]
    release()=0Nv::Blast::VoronoiSitesGenerator [pure virtual]
    setBaseMesh(const Mesh *mesh)=0Nv::Blast::VoronoiSitesGenerator [pure virtual]
    setStencil(const Mesh *stencil)=0Nv::Blast::VoronoiSitesGenerator [pure virtual]
    uniformlyGenerateSitesInMesh(uint32_t numberOfSites)=0Nv::Blast::VoronoiSitesGenerator [pure virtual]
    ~VoronoiSitesGenerator()Nv::Blast::VoronoiSitesGenerator [inline, virtual]

    - +

    - + - + - + @@ -200,7 +177,7 @@ Removes stencil mesh - +
    void Nv::Blast::VoronoiSitesGenerator::clusteredSitesGeneration virtual void Nv::Blast::VoronoiSitesGenerator::clusteredSitesGeneration (const uint32_t uint32_t  numberOfClusters,
    const uint32_t uint32_t  sitesPerCluster,
    ) [pure virtual]
    @@ -215,14 +192,16 @@ Generate sites in clustered fashion
    Parameters:
    +

    Implemented in Nv::Blast::VoronoiSitesGeneratorImpl.

    +

    - +

    - + @@ -242,7 +221,7 @@ Generate sites in clustered fashion
    Parameters:
    - +
    void Nv::Blast::VoronoiSitesGenerator::deleteInSphere virtual void Nv::Blast::VoronoiSitesGenerator::deleteInSphere ( const float  radius,
    ) [pure virtual]
    @@ -257,14 +236,16 @@ Deletes sites inside supplied sphere
    Parameters:
    +

    Implemented in Nv::Blast::VoronoiSitesGeneratorImpl.

    +

    - +

    - + @@ -284,7 +265,7 @@ Deletes sites inside supplied sphere
    Parameters:
    - +
    void Nv::Blast::VoronoiSitesGenerator::generateInSphere virtual void Nv::Blast::VoronoiSitesGenerator::generateInSphere ( const uint32_t  count,
    ) [pure virtual]
    @@ -299,33 +280,44 @@ Generate sites inside sphere
    Parameters:
    +

    Implemented in Nv::Blast::VoronoiSitesGeneratorImpl.

    +

    - +

    - + - + + - +
    std::vector<physx::PxVec3>& Nv::Blast::VoronoiSitesGenerator::getVoronoiSites virtual uint32_t Nv::Blast::VoronoiSitesGenerator::getVoronoiSites ( const physx::PxVec3 *&  sites  )  [pure virtual]

    -Returns reference on vector of generated voronoi sites. +Access to generated voronoi sites.

    Parameters:
    + + +
    [out] Pointer to generated voronoi sites
    +
    +
    Returns:
    Count of generated voronoi sites.
    + +

    Implemented in Nv::Blast::VoronoiSitesGeneratorImpl.

    +

    - +

    - + @@ -369,7 +361,7 @@ Returns reference on vector of generated voronoi sites. - +
    void Nv::Blast::VoronoiSitesGenerator::radialPattern virtual void Nv::Blast::VoronoiSitesGenerator::radialPattern ( const physx::PxVec3 &  center,
    ) [pure virtual]
    @@ -388,19 +380,42 @@ Radial pattern of sites generation
    Parameters:
    +

    Implemented in Nv::Blast::VoronoiSitesGeneratorImpl.

    +

    - +

    - + - - + - + + +
    void Nv::Blast::VoronoiSitesGenerator::setBaseMesh virtual void Nv::Blast::VoronoiSitesGenerator::release (Mesh m  )  [pure virtual]
    +
    +
    + +

    +Release VoronoiSitesGenerator memory +

    Implemented in Nv::Blast::VoronoiSitesGeneratorImpl.

    + +
    +

    + +

    +
    + + + + + + + +
    virtual void Nv::Blast::VoronoiSitesGenerator::setBaseMesh (const Mesh mesh  )  [pure virtual]
    @@ -408,19 +423,21 @@ Radial pattern of sites generation
    Parameters:

    Set base fracture mesh +

    Implemented in Nv::Blast::VoronoiSitesGeneratorImpl.

    +

    - +

    - + - + - +
    void Nv::Blast::VoronoiSitesGenerator::setStencil virtual void Nv::Blast::VoronoiSitesGenerator::setStencil (Meshconst Mesh stencil  )  [pure virtual]
    @@ -433,19 +450,21 @@ Set stencil mesh. With stencil mesh sites are generated only inside both of frac +

    Implemented in Nv::Blast::VoronoiSitesGeneratorImpl.

    +

    - +

    - + - + - +
    void Nv::Blast::VoronoiSitesGenerator::uniformlyGenerateSitesInMesh virtual void Nv::Blast::VoronoiSitesGenerator::uniformlyGenerateSitesInMesh (const uint32_t uint32_t  numberOfSites  )  [pure virtual]
    @@ -458,6 +477,8 @@ Uniformly generate sites inside the mesh
    Parameters:
    +

    Implemented in Nv::Blast::VoronoiSitesGeneratorImpl.

    +


    The documentation for this class was generated from the following file:
    -

    Class Index

    A | B | C | D | E | F | H | I | L | M | N | P | R | S | T | U | V

    +

    Class Index

    A | B | C | D | E | F | H | I | J | L | M | N | O | P | R | S | T | U | V

      A  
    -
    ExtPxActor (Nv::Blast)   
      L  
    -
    NvPackValidation   TkAsset::Reader (Nv::Blast::Serialization)   
    Actor (Nv::Blast)   ExtPxActorDescTemplate (Nv::Blast)   Less (Nv::Blast)   
      P  
    -
    TkAssetDesc (Nv::Blast)   
    Actor::GraphNodeIt (Nv::Blast)   ExtPxAsset (Nv::Blast::Serialization)   LListIt (Nv::Blast)   PerlinNoise (Nv::Blast)   TkAssetJointDesc (Nv::Blast)   
    Actor::VisibleChunkIt (Nv::Blast)   ExtPxAsset (Nv::Blast)   LocalBuffer (Nv::Blast)   PlaneChunkIndexer (Nv::Blast)   TkAssetJointDesc (Nv::Blast::Serialization)   
    ActorSerializationFormat (Nv::Blast)   ExtPxAsset::_capnpPrivate (Nv::Blast::Serialization)   
      M  
    -
    PxActorCreateInfo (Nv::Blast)   TkAssetJointDesc::_capnpPrivate (Nv::Blast::Serialization)   
    ActorSerializationHeader (Nv::Blast)   ExtPxAsset::Builder (Nv::Blast::Serialization)   Mesh (Nv::Blast)   PxConvexMeshGeometry (Nv::Blast::Serialization)   TkAssetJointDesc::Builder (Nv::Blast::Serialization)   
    ApexDestruction (Nv::Blast::ApexImporter)   ExtPxAsset::Pipeline (Nv::Blast::Serialization)   
      N  
    -
    PxConvexMeshGeometry::_capnpPrivate (Nv::Blast::Serialization)   TkAssetJointDesc::Pipeline (Nv::Blast::Serialization)   
    ApexImporterConfig (Nv::Blast::ApexImporter)   ExtPxAsset::Reader (Nv::Blast::Serialization)   NvBlastActor   PxConvexMeshGeometry::Builder (Nv::Blast::Serialization)   TkAssetJointDesc::Reader (Nv::Blast::Serialization)   
    ApexImportTool (Nv::Blast::ApexImporter)   ExtPxAssetDesc (Nv::Blast)   NvBlastActorDesc   PxConvexMeshGeometry::Pipeline (Nv::Blast::Serialization)   TkAtomicQueue (Nv::Blast)   
    ApexReleaser (Nv::Blast::ApexImporter)   ExtPxAssetDesc::ChunkDesc (Nv::Blast)   NvBlastActorSplitEvent   PxConvexMeshGeometry::Reader (Nv::Blast::Serialization)   TkEvent (Nv::Blast)   
    Asset (Nv::Blast)   ExtPxAssetDesc::SubchunkDesc (Nv::Blast)   NvBlastAsset   PxMeshScale (Nv::Blast::Serialization)   TkEventListener (Nv::Blast)   
    Asset (Nv::Blast::Serialization)   ExtPxChunk (Nv::Blast::Serialization)   NvBlastAssetBlockVersionConverter_v0_v1 (Nv::Blast)   PxMeshScale::_capnpPrivate (Nv::Blast::Serialization)   TkEventQueue (Nv::Blast)   
    Asset::_capnpPrivate (Nv::Blast::Serialization)   ExtPxChunk (Nv::Blast)   NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew (Nv::Blast)   PxMeshScale::Builder (Nv::Blast::Serialization)   TkFamily (Nv::Blast)   
    Asset::Builder (Nv::Blast::Serialization)   ExtPxChunk::_capnpPrivate (Nv::Blast::Serialization)   NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev (Nv::Blast)   PxMeshScale::Pipeline (Nv::Blast::Serialization)   TkFractureCommands (Nv::Blast)   
    Asset::ChunkAnnotation (Nv::Blast)   ExtPxChunk::Builder (Nv::Blast::Serialization)   NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph (Nv::Blast)   PxMeshScale::Reader (Nv::Blast::Serialization)   TkFractureEvents (Nv::Blast)   
    Asset::DepthFirstIt (Nv::Blast)   ExtPxChunk::Pipeline (Nv::Blast::Serialization)   NvBlastAssetDataFormat   PxQuat (Nv::Blast::Serialization)   TkFramework (Nv::Blast)   
    Asset::Pipeline (Nv::Blast::Serialization)   ExtPxChunk::Reader (Nv::Blast::Serialization)   NvBlastAssetDesc   PxQuat::_capnpPrivate (Nv::Blast::Serialization)   TkFrameworkDesc (Nv::Blast)   
    Asset::Reader (Nv::Blast::Serialization)   ExtPxFamily (Nv::Blast)   NvBlastBond (Nv::Blast::Serialization)   PxQuat::Builder (Nv::Blast::Serialization)   TkFrameworkImpl (Nv::Blast)   
      B  
    -
    ExtPxFamilyDesc (Nv::Blast)   NvBlastBond   PxQuat::Pipeline (Nv::Blast::Serialization)   TkGroup (Nv::Blast)   
    BBoxBasedAccelerator (Nv::Blast)   ExtPxListener (Nv::Blast)   NvBlastBond::_capnpPrivate (Nv::Blast::Serialization)   PxQuat::Reader (Nv::Blast::Serialization)   TkGroupDesc (Nv::Blast)   
    BinaryBlockConverter (Nv::Blast)   ExtPxManager (Nv::Blast)   NvBlastBond::Builder (Nv::Blast::Serialization)   PxTransform (Nv::Blast::Serialization)   TkGroupStats (Nv::Blast)   
    BinaryBlockConverter::VersionConverter (Nv::Blast)   ExtPxShapeDescTemplate (Nv::Blast)   NvBlastBond::Pipeline (Nv::Blast::Serialization)   PxTransform::_capnpPrivate (Nv::Blast::Serialization)   TkHashMap (Nv::Blast)   
    BlastBondGenerator (Nv::Blast)   ExtPxSpawnSettings (Nv::Blast)   NvBlastBond::Reader (Nv::Blast::Serialization)   PxTransform::Builder (Nv::Blast::Serialization)   TkHashSet (Nv::Blast)   
    BondGenerationConfig (Nv::Blast)   ExtPxSubchunk (Nv::Blast::Serialization)   NvBlastBondDesc   PxTransform::Pipeline (Nv::Blast::Serialization)   TkIdentifiable (Nv::Blast)   
    BooleanConf (Nv::Blast)   ExtPxSubchunk (Nv::Blast)   NvBlastBondFractureData   PxTransform::Reader (Nv::Blast::Serialization)   TkInlineArray (Nv::Blast)   
    BooleanEvaluator (Nv::Blast)   ExtPxSubchunk::_capnpPrivate (Nv::Blast::Serialization)   NvBlastChunk (Nv::Blast::Serialization)   PxVec3 (Nv::Blast::Serialization)   TkJoint (Nv::Blast)   
      C  
    -
    ExtPxSubchunk::Builder (Nv::Blast::Serialization)   NvBlastChunk   PxVec3::_capnpPrivate (Nv::Blast::Serialization)   TkJointData (Nv::Blast)   
    ChunkDepthFirstIt (Nv::Blast)   ExtPxSubchunk::Pipeline (Nv::Blast::Serialization)   NvBlastChunk::_capnpPrivate (Nv::Blast::Serialization)   PxVec3::Builder (Nv::Blast::Serialization)   TkJointDesc (Nv::Blast)   
    ChunkInfo (Nv::Blast)   ExtPxSubchunk::Reader (Nv::Blast::Serialization)   NvBlastChunk::Builder (Nv::Blast::Serialization)   PxVec3::Pipeline (Nv::Blast::Serialization)   TkJointImpl (Nv::Blast)   
    ChunkPostProcessor (Nv::Blast)   ExtSerialization (Nv::Blast)   NvBlastChunk::Pipeline (Nv::Blast::Serialization)   PxVec3::Reader (Nv::Blast::Serialization)   TkJointLink (Nv::Blast)   
    CollisionHull (Nv::Blast)   ExtStressBondCachedData (Nv::Blast)   NvBlastChunk::Reader (Nv::Blast::Serialization)   
      R  
    -
    TkJointUpdateEvent (Nv::Blast)   
    CollisionHull::HullPolygon (Nv::Blast)   ExtStressNodeCachedData (Nv::Blast)   NvBlastChunkDesc   RandomGeneratorBase (Nv::Blast)   TkObject (Nv::Blast)   
    ConvexMeshBuilder (Nv::Blast)   ExtStressSolver (Nv::Blast)   NvBlastChunkFractureData   
      S  
    -
    TkSerializable (Nv::Blast)   
      D  
    -
    ExtStressSolverSettings (Nv::Blast)   NvBlastDamageProgram   ScopedResource (Nv::Blast::ApexImporter)   TkSplitEvent (Nv::Blast)   
    DefaultReleaser (Nv::Blast::ApexImporter)   ExtSync (Nv::Blast)   NvBlastDataBlock   Separation (Nv::Blast)   TkType (Nv::Blast)   
    DLink (Nv::Blast)   ExtSyncEvent (Nv::Blast)   NvBlastDataBlock (Nv::Blast::Serialization)   SharedBlock (Nv::Blast)   TkTypeImpl (Nv::Blast)   
    DList (Nv::Blast)   ExtSyncEventFamilySync (Nv::Blast)   NvBlastDataBlock::_capnpPrivate (Nv::Blast::Serialization)   SharedBuffer (Nv::Blast)   TkTypeIndex (Nv::Blast)   
    DList::It (Nv::Blast)   ExtSyncEventFracture (Nv::Blast)   NvBlastDataBlock::Builder (Nv::Blast::Serialization)   SharedMemory (Nv::Blast)   TkWorker (Nv::Blast)   
    DListIt (Nv::Blast)   ExtSyncEventInstance (Nv::Blast)   NvBlastDataBlock::Pipeline (Nv::Blast::Serialization)   SimplexNoise (Nv::Blast)   TkWorkerJob (Nv::Blast)   
    DummyAccelerator (Nv::Blast)   ExtSyncEventPhysicsSync (Nv::Blast)   NvBlastDataBlock::Reader (Nv::Blast::Serialization)   SlicingConfiguration (Nv::Blast)   Triangle (Nv::Blast)   
      E  
    -
    ExtSyncEventPhysicsSync::ActorData (Nv::Blast)   NvBlastExtMaterial   SpatialAccelerator (Nv::Blast)   TriangleIndexed (Nv::Blast)   
    Edge (Nv::Blast)   ExtSyncEventType (Nv::Blast)   NvBlastExtRadialDamageDesc   SupportGraph (Nv::Blast)   TriangleProcessor (Nv::Blast)   
    EdgeComparator (Nv::Blast)   
      F  
    -
    NvBlastExtShearDamageDesc   
      T  
    -
    TrPrcTriangle (Nv::Blast)   
    EdgeFacetIntersectionData (Nv::Blast)   Facet (Nv::Blast)   NvBlastFamily   TaskSync (Nv::Blast)   TrPrcTriangle2d (Nv::Blast)   
    EdgeToTriangles (Nv::Blast)   FamilyGraph (Nv::Blast)   NvBlastFamilyDataFormat   Time (Nv::Blast)   
      U  
    -
    EdgeWithParent (Nv::Blast)   FamilyHeader (Nv::Blast)   NvBlastFractureBuffers   TkActor (Nv::Blast)   UUID (Nv::Blast::Serialization)   
    ExtAlignedAllocator (Nv::Blast)   final (Nv::Blast)   NvBlastGraphShaderActor   TkActorData (Nv::Blast)   UUID::_capnpPrivate (Nv::Blast::Serialization)   
    ExtAllocator (Nv::Blast)   FixedArray (Nv::Blast)   NvBlastID   TkActorDesc (Nv::Blast)   UUID::Builder (Nv::Blast::Serialization)   
    ExtArray (Nv::Blast)   FixedBitmap (Nv::Blast)   NvBlastMessage   TkActorFlag (Nv::Blast)   UUID::Pipeline (Nv::Blast::Serialization)   
    ExtHashMap (Nv::Blast)   FixedBoolArray (Nv::Blast)   NvBlastProfilerDetail   TkActorImpl (Nv::Blast)   UUID::Reader (Nv::Blast::Serialization)   
    ExtHashSet (Nv::Blast)   FixedPriorityQueue (Nv::Blast)   NvBlastProgramParams   TkActorImpl::JointIt (Nv::Blast)   
      V  
    -
    ExtImpactDamageManager (Nv::Blast)   FractureTool (Nv::Blast)   NvBlastSubgraphShaderActor   TkAllocator (Nv::Blast)   Vec3 (Nv::Blast::VSA)   
    ExtImpactSettings (Nv::Blast)   
      H  
    -
    NvBlastSupportGraph   TkArray (Nv::Blast)   Vec4 (Nv::Blast::VSA)   
    ExtImpulseStressSolver (Nv::Blast)   Hash< NvBlastID > (physx::shdfnd)   NvBlastSupportGraph (Nv::Blast::Serialization)   TkAsset (Nv::Blast::Serialization)   Vertex (Nv::Blast)   
    ExtInlineArray (Nv::Blast)   
      I  
    -
    NvBlastSupportGraph::_capnpPrivate (Nv::Blast::Serialization)   TkAsset (Nv::Blast)   VoronoiSitesGenerator (Nv::Blast)   
    ExtInputStream (Nv::Blast)   IndexDLink (Nv::Blast)   NvBlastSupportGraph::Builder (Nv::Blast::Serialization)   TkAsset::_capnpPrivate (Nv::Blast::Serialization)   VrtComp (Nv::Blast)   
    ExtKJPxInputStream (Nv::Blast)   IndexDList (Nv::Blast)   NvBlastSupportGraph::Pipeline (Nv::Blast::Serialization)   TkAsset::Builder (Nv::Blast::Serialization)   VrtPositionComparator (Nv::Blast)   
    ExtKJPxOutputStream (Nv::Blast)   IntersectionTestingAccelerator (Nv::Blast)   NvBlastSupportGraph::Reader (Nv::Blast::Serialization)   TkAsset::Pipeline (Nv::Blast::Serialization)   VS3D_Halfspace_Set (Nv::Blast::VSA)   
    ExtOutputStream (Nv::Blast)   IteratorBase (Nv::Blast)   NvBlastTimers   

    A | B | C | D | E | F | H | I | L | M | N | P | R | S | T | U | V

    +ExtPxActor (Nv::Blast)   HashSet (Nv::Blast)   NvBlastSupportGraph::Builder (Nv::Blast::Serialization)   TkActor (Nv::Blast)   Actor (Nv::Blast)   ExtPxActorDescTemplate (Nv::Blast)   
      I  
    +NvBlastSupportGraph::Pipeline (Nv::Blast::Serialization)   TkActorData (Nv::Blast)   Actor::GraphNodeIt (Nv::Blast)   ExtPxAsset (Nv::Blast)   IFbxFileReader (Nv::Blast)   NvBlastSupportGraph::Reader (Nv::Blast::Serialization)   TkActorDesc (Nv::Blast)   Actor::VisibleChunkIt (Nv::Blast)   ExtPxAsset (Nv::Blast::Serialization)   IMeshFileReader (Nv::Blast)   NvBlastTimers   TkActorFlag (Nv::Blast)   ActorSerializationFormat (Nv::Blast)   ExtPxAsset::_capnpPrivate (Nv::Blast::Serialization)   IMeshFileWriter (Nv::Blast)   NvcBounds3   TkActorImpl (Nv::Blast)   ActorSerializationHeader (Nv::Blast)   ExtPxAsset::Builder (Nv::Blast::Serialization)   IndexDLink (Nv::Blast)   NvcMat33   TkActorImpl::JointIt (Nv::Blast)   Allocator (Nv::Blast)   ExtPxAsset::Pipeline (Nv::Blast::Serialization)   IndexDList (Nv::Blast)   NvcMat34   TkAsset (Nv::Blast::Serialization)   AllocatorCallback (Nv::Blast)   ExtPxAsset::Reader (Nv::Blast::Serialization)   InlineArray (Nv::Blast)   NvcMat44   TkAsset (Nv::Blast)   ApexDestruction (Nv::Blast::ApexImporter)   ExtPxAssetDesc (Nv::Blast)   IntersectionTestingAccelerator (Nv::Blast)   NvcPlane   TkAsset::_capnpPrivate (Nv::Blast::Serialization)   ApexImporterConfig (Nv::Blast::ApexImporter)   ExtPxAssetDesc::ChunkDesc (Nv::Blast)   IteratorBase (Nv::Blast)   NvcQuat   TkAsset::Builder (Nv::Blast::Serialization)   ApexImportTool (Nv::Blast::ApexImporter)   ExtPxAssetDesc::SubchunkDesc (Nv::Blast)   
      J  
    +NvcTransform   TkAsset::Pipeline (Nv::Blast::Serialization)   ApexReleaser (Nv::Blast::ApexImporter)   ExtPxChunk (Nv::Blast)   JsonCollisionExporter (Nv::Blast)   NvcVec2   TkAsset::Reader (Nv::Blast::Serialization)   Array (Nv::Blast)   ExtPxChunk (Nv::Blast::Serialization)   
      L  
    +NvcVec2i   TkAssetDesc (Nv::Blast)   Asset (Nv::Blast::Serialization)   ExtPxChunk::_capnpPrivate (Nv::Blast::Serialization)   Less (Nv::Blast)   NvcVec3   TkAssetJointDesc (Nv::Blast::Serialization)   Asset (Nv::Blast)   ExtPxChunk::Builder (Nv::Blast::Serialization)   LListIt (Nv::Blast)   NvcVec3i   TkAssetJointDesc (Nv::Blast)   Asset::_capnpPrivate (Nv::Blast::Serialization)   ExtPxChunk::Pipeline (Nv::Blast::Serialization)   LlObjectTypeID (Nv::Blast)   NvcVec4   TkAssetJointDesc::_capnpPrivate (Nv::Blast::Serialization)   Asset::Builder (Nv::Blast::Serialization)   ExtPxChunk::Reader (Nv::Blast::Serialization)   LocalBuffer (Nv::Blast)   NvcVec4i   TkAssetJointDesc::Builder (Nv::Blast::Serialization)   Asset::ChunkAnnotation (Nv::Blast)   ExtPxFamily (Nv::Blast)   
      M  
    +NvPackValidation   TkAssetJointDesc::Pipeline (Nv::Blast::Serialization)   Asset::DepthFirstIt (Nv::Blast)   ExtPxFamilyDesc (Nv::Blast)   Mesh (Nv::Blast)   
      O  
    +TkAssetJointDesc::Reader (Nv::Blast::Serialization)   Asset::Pipeline (Nv::Blast::Serialization)   ExtPxListener (Nv::Blast)   MeshCleaner (Nv::Blast)   ObjFileReader (Nv::Blast)   TkEvent (Nv::Blast)   Asset::Reader (Nv::Blast::Serialization)   ExtPxManager (Nv::Blast)   MeshCleanerImpl (Nv::Blast)   ObjFileWriter (Nv::Blast)   TkEventListener (Nv::Blast)   AuthoringResult (Nv::Blast)   ExtPxObjectTypeID (Nv::Blast)   MeshImpl (Nv::Blast)   
      P  
    +TkEventQueue (Nv::Blast)   
      B  
    +ExtPxShapeDescTemplate (Nv::Blast)   MeshNoiser (Nv::Blast)   PerlinNoise (Nv::Blast)   TkFamily (Nv::Blast)   BBoxBasedAccelerator (Nv::Blast)   ExtPxSpawnSettings (Nv::Blast)   
      N  
    +PlaneChunkIndexer (Nv::Blast)   TkFractureCommands (Nv::Blast)   BlastBondGenerator (Nv::Blast)   ExtPxStressSolver (Nv::Blast)   NvBlastActor   ProfilerCallback (Nv::Blast)   TkFractureEvents (Nv::Blast)   BlastBondGeneratorImpl (Nv::Blast)   ExtPxSubchunk (Nv::Blast)   NvBlastActorDesc   ProfilerDetail (Nv::Blast)   TkFramework (Nv::Blast)   BondGenerationConfig (Nv::Blast)   ExtPxSubchunk (Nv::Blast::Serialization)   NvBlastActorSplitEvent   PxActorCreateInfo (Nv::Blast)   TkFrameworkImpl (Nv::Blast)   BooleanConf (Nv::Blast)   ExtPxSubchunk::_capnpPrivate (Nv::Blast::Serialization)   NvBlastAsset   PxConvexMeshGeometry (Nv::Blast::Serialization)   TkGroup (Nv::Blast)   BooleanEvaluator (Nv::Blast)   ExtPxSubchunk::Builder (Nv::Blast::Serialization)   NvBlastAssetDesc   PxConvexMeshGeometry::_capnpPrivate (Nv::Blast::Serialization)   TkGroupDesc (Nv::Blast)   
      C  
    +ExtPxSubchunk::Pipeline (Nv::Blast::Serialization)   NvBlastBond   PxConvexMeshGeometry::Builder (Nv::Blast::Serialization)   TkGroupStats (Nv::Blast)   ChunkDepthFirstIt (Nv::Blast)   ExtPxSubchunk::Reader (Nv::Blast::Serialization)   NvBlastBond (Nv::Blast::Serialization)   PxConvexMeshGeometry::Pipeline (Nv::Blast::Serialization)   TkGroupWorker (Nv::Blast)   ChunkInfo (Nv::Blast)   ExtSerialization (Nv::Blast)   NvBlastBond::_capnpPrivate (Nv::Blast::Serialization)   PxConvexMeshGeometry::Reader (Nv::Blast::Serialization)   TkIdentifiable (Nv::Blast)   CollisionHull (Nv::Blast)   ExtSerialization::BufferProvider (Nv::Blast)   NvBlastBond::Builder (Nv::Blast::Serialization)   PxMeshScale (Nv::Blast::Serialization)   TkJoint (Nv::Blast)   CollisionHull::HullPolygon (Nv::Blast)   ExtSerialization::EncodingID (Nv::Blast)   NvBlastBond::Pipeline (Nv::Blast::Serialization)   PxMeshScale::_capnpPrivate (Nv::Blast::Serialization)   TkJointData (Nv::Blast)   CollisionHullImpl (Nv::Blast)   ExtSerializationCAPN (Nv::Blast)   NvBlastBond::Reader (Nv::Blast::Serialization)   PxMeshScale::Builder (Nv::Blast::Serialization)   TkJointDesc (Nv::Blast)   ConvexMeshBuilder (Nv::Blast)   ExtSerializationInternal (Nv::Blast)   NvBlastBondDesc   PxMeshScale::Pipeline (Nv::Blast::Serialization)   TkJointImpl (Nv::Blast)   ConvexMeshBuilderImpl (Nv::Blast)   ExtSerializer (Nv::Blast)   NvBlastBondFractureData   PxMeshScale::Reader (Nv::Blast::Serialization)   TkJointLink (Nv::Blast)   
      D  
    +ExtStressSolver (Nv::Blast)   NvBlastChunk   PxQuat (Nv::Blast::Serialization)   TkJointUpdateEvent (Nv::Blast)   DefaultReleaser (Nv::Blast::ApexImporter)   ExtStressSolver::DebugBuffer (Nv::Blast)   NvBlastChunk (Nv::Blast::Serialization)   PxQuat::_capnpPrivate (Nv::Blast::Serialization)   TkObject (Nv::Blast)   DLink (Nv::Blast)   ExtStressSolver::DebugLine (Nv::Blast)   NvBlastChunk::_capnpPrivate (Nv::Blast::Serialization)   PxQuat::Builder (Nv::Blast::Serialization)   TkObjectTypeID (Nv::Blast)   DList (Nv::Blast)   ExtStressSolverSettings (Nv::Blast)   NvBlastChunk::Builder (Nv::Blast::Serialization)   PxQuat::Pipeline (Nv::Blast::Serialization)   TkSplitEvent (Nv::Blast)   DList::It (Nv::Blast)   ExtSync (Nv::Blast)   NvBlastChunk::Pipeline (Nv::Blast::Serialization)   PxQuat::Reader (Nv::Blast::Serialization)   TkType (Nv::Blast)   DListIt (Nv::Blast)   ExtSyncEvent (Nv::Blast)   NvBlastChunk::Reader (Nv::Blast::Serialization)   PxTransform (Nv::Blast::Serialization)   TkTypeImpl (Nv::Blast)   DummyAccelerator (Nv::Blast)   ExtSyncEventFamilySync (Nv::Blast)   NvBlastChunkDesc   PxTransform::_capnpPrivate (Nv::Blast::Serialization)   TkTypeIndex (Nv::Blast)   
      E  
    +ExtSyncEventFracture (Nv::Blast)   NvBlastChunkFractureData   PxTransform::Builder (Nv::Blast::Serialization)   TkWorkerJob (Nv::Blast)   Edge (Nv::Blast)   ExtSyncEventInstance (Nv::Blast)   NvBlastDamageProgram   PxTransform::Pipeline (Nv::Blast::Serialization)   Triangle (Nv::Blast)   EdgeComparator (Nv::Blast)   ExtSyncEventPhysicsSync (Nv::Blast)   NvBlastDataBlock (Nv::Blast::Serialization)   PxTransform::Reader (Nv::Blast::Serialization)   TriangleIndexed (Nv::Blast)   EdgeFacetIntersectionData (Nv::Blast)   ExtSyncEventPhysicsSync::ActorData (Nv::Blast)   NvBlastDataBlock   PxVec3 (Nv::Blast::Serialization)   TriangleProcessor (Nv::Blast)   EdgeToTriangles (Nv::Blast)   ExtSyncEventType (Nv::Blast)   NvBlastDataBlock::_capnpPrivate (Nv::Blast::Serialization)   PxVec3::_capnpPrivate (Nv::Blast::Serialization)   Triangulator (Nv::Blast)   EdgeWithParent (Nv::Blast)   ExtTaskSync (Nv::Blast)   NvBlastDataBlock::Builder (Nv::Blast::Serialization)   PxVec3::Builder (Nv::Blast::Serialization)   TrPrcTriangle (Nv::Blast)   ErrorCallback (Nv::Blast)   
      F  
    +NvBlastDataBlock::Pipeline (Nv::Blast::Serialization)   PxVec3::Pipeline (Nv::Blast::Serialization)   TrPrcTriangle2d (Nv::Blast)   ErrorCode (Nv::Blast)   Facet (Nv::Blast)   NvBlastDataBlock::Reader (Nv::Blast::Serialization)   PxVec3::Reader (Nv::Blast::Serialization)   
      U  
    +ExporterMeshData (Nv::Blast)   FamilyGraph (Nv::Blast)   NvBlastExtAssetUtilsBondDesc   
      R  
    +UUID (Nv::Blast::Serialization)   ExtAtomicCounter (Nv::Blast)   FamilyHeader (Nv::Blast)   NvBlastExtMaterial   RandomGeneratorBase (Nv::Blast)   UUID::_capnpPrivate (Nv::Blast::Serialization)   ExtCustomProfiler (Nv::Blast)   FbxFileReader (Nv::Blast)   NvBlastExtRadialDamageDesc   
      S  
    +UUID::Builder (Nv::Blast::Serialization)   ExtForceMode (Nv::Blast)   FbxFileWriter (Nv::Blast)   NvBlastExtSegmentRadialDamageDesc   ScopedResource (Nv::Blast::ApexImporter)   UUID::Pipeline (Nv::Blast::Serialization)   ExtGroupTaskManager (Nv::Blast)   FbxUtils   NvBlastExtShearDamageDesc   Separation (Nv::Blast)   UUID::Reader (Nv::Blast::Serialization)   ExtGroupTaskManagerImpl (Nv::Blast)   final (Nv::Blast)   NvBlastFamily   SharedBlock (Nv::Blast)   
      V  
    +ExtGroupWorkerTask (Nv::Blast)   FixedArray (Nv::Blast)   NvBlastFractureBuffers   SharedBuffer (Nv::Blast)   Vec3 (Nv::Blast::VSA)   ExtImpactDamageManager (Nv::Blast)   FixedBitmap (Nv::Blast)   NvBlastGraphShaderActor   SharedMemory (Nv::Blast)   Vec4 (Nv::Blast::VSA)   ExtImpactSettings (Nv::Blast)   FixedBoolArray (Nv::Blast)   NvBlastID   SimplexNoise (Nv::Blast)   Vertex (Nv::Blast)   ExtInputStream (Nv::Blast)   FixedPriorityQueue (Nv::Blast)   NvBlastMessage   SlicingConfiguration (Nv::Blast)   VoronoiSitesGenerator (Nv::Blast)   ExtIStream (Nv::Blast)   FractureTool (Nv::Blast)   NvBlastProgramParams   SpatialAccelerator (Nv::Blast)   VoronoiSitesGeneratorImpl (Nv::Blast)   ExtKJPxInputStream (Nv::Blast)   FractureToolImpl (Nv::Blast)   NvBlastSubgraphShaderActor   SupportGraph (Nv::Blast)   VrtComp (Nv::Blast)   ExtKJPxOutputStream (Nv::Blast)   
      H  
    +NvBlastSupportGraph   
      T  
    +VrtPositionComparator (Nv::Blast)   ExtOutputStream (Nv::Blast)   Hash< NvBlastID > (physx::shdfnd)   NvBlastSupportGraph (Nv::Blast::Serialization)   Time (Nv::Blast)   VS3D_Halfspace_Set (Nv::Blast::VSA)   ExtProfileData (Nv::Blast)   HashMap (Nv::Blast)   NvBlastSupportGraph::_capnpPrivate (Nv::Blast::Serialization)   

    A | B | C | D | E | F | H | I | J | L | M | N | O | P | R | S | T | U | V

    File List

    Here is a list of all files with brief descriptions: + @@ -46,6 +47,8 @@ + + @@ -53,30 +56,39 @@ + + + + + + + + + - - - - - - - - + + + + + + + + @@ -84,23 +96,31 @@ - + + - + - - - + + + + + + + - - - + + + + + + @@ -116,13 +136,19 @@ - - + + + + + + + + - + @@ -131,7 +157,6 @@ - @@ -142,11 +167,8 @@ - - - @@ -154,8 +176,6 @@ - - diff --git a/docs/source_docs/files/functions.html b/docs/source_docs/files/functions.html index 96a648f..0e33abd 100644 --- a/docs/source_docs/files/functions.html +++ b/docs/source_docs/files/functions.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -86,150 +86,150 @@ Here is a list of all class members with links to the classes they belong to:

    - : -

    diff --git a/docs/source_docs/files/functions_0x5f.html b/docs/source_docs/files/functions_0x5f.html index 7d46c5d..d72c301 100644 --- a/docs/source_docs/files/functions_0x5f.html +++ b/docs/source_docs/files/functions_0x5f.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members diff --git a/docs/source_docs/files/functions_0x61.html b/docs/source_docs/files/functions_0x61.html index 04857cd..1f1a836 100644 --- a/docs/source_docs/files/functions_0x61.html +++ b/docs/source_docs/files/functions_0x61.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -90,10 +90,12 @@ Here is a list of all class members with links to the classes they belong to: , NvPackValidation
  • acquireSyncBuffer() : Nv::Blast::ExtSync +
  • acquireWorker() +: Nv::Blast::TkGroup
  • Actor() : Nv::Blast::Actor
  • actorDesc -: Nv::Blast::ExtPxFamilyDesc +: Nv::Blast::ExtPxFamilyDesc
  • actorIndex : Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData
  • actors @@ -102,15 +104,22 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::EdgeToTriangles
  • addActor() : Nv::Blast::TkGroup +
  • addAngularVelocity() +: Nv::Blast::ExtStressSolver
  • addEvent() : Nv::Blast::TkEventQueue +
  • addForce() +: Nv::Blast::ExtStressSolver +
  • addGravityForce() +: Nv::Blast::ExtStressSolver
  • addListener() : Nv::Blast::TkFamily , Nv::Blast::TkEventQueue
  • addReference() : Nv::Blast::SharedMemory
  • addSite() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGenerator +, Nv::Blast::VoronoiSitesGeneratorImpl
  • adjacencyPartition : NvBlastSupportGraph , NvBlastGraphShaderActor @@ -129,8 +138,8 @@ Here is a list of all class members with links to the classes they belong to:
  • adoptChunkIndices() : Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder
  • adoptChunks() -: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder -, Nv::Blast::Serialization::Asset::Asset::Builder +: Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder
  • adoptConvexMesh() : Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder
  • adoptGeometry() @@ -160,38 +169,36 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder
  • adoptValue() : Nv::Blast::Serialization::UUID::UUID::Builder -
  • alignedAlloc() -: Nv::Blast::ExtAllocator -
  • alignedAlloc16() -: Nv::Blast::ExtAllocator -
  • alignedFree() -: Nv::Blast::ExtAllocator -
  • alloc() -: Nv::Blast::TkFrameworkImpl +
  • advance() +: Nv::Blast::ExtIStream
  • allocate() -: Nv::Blast::ExtAllocator -, Nv::Blast::ExtAlignedAllocator< A > -, Nv::Blast::TkAllocator +: Nv::Blast::Allocator +, Nv::Blast::AllocatorCallback , Nv::Blast::SharedBlock< T > , Nv::Blast::SharedBuffer< T > , Nv::Blast::LocalBuffer< T > , Nv::Blast::SharedMemory -
  • allocatorCallback -: Nv::Blast::TkFrameworkDesc +
  • Allocator() +: Nv::Blast::Allocator
  • allocData() : Nv::Blast::TkEventQueue
  • angle_variations : Nv::Blast::SlicingConfiguration
  • ApexDestruction() -: Nv::Blast::ApexImporter::ApexDestruction +: Nv::Blast::ApexImporter::ApexDestruction
  • ApexImporterConfig() : Nv::Blast::ApexImporter::ApexImporterConfig
  • ApexImportTool() -: Nv::Blast::ApexImporter::ApexImportTool +: Nv::Blast::ApexImporter::ApexImportTool
  • ApexReleaser() -: Nv::Blast::ApexImporter::ApexReleaser +: Nv::Blast::ApexImporter::ApexReleaser
  • apexSDK() : Nv::Blast::ApexImporter::ApexDestruction +
  • appendMesh() +: Nv::Blast::ObjFileWriter +, Nv::Blast::IMeshFileWriter +, Nv::Blast::FbxFileWriter +, Nv::Blast::ObjFileWriter
  • applyDamage() : Nv::Blast::ExtImpactDamageManager
  • applyFracture() @@ -199,49 +206,59 @@ Here is a list of all class members with links to the classes they belong to: , Nv::Blast::TkActor , Nv::Blast::TkFamily , Nv::Blast::TkActorImpl -
  • applyImpulse() -: Nv::Blast::ExtImpulseStressSolver -, Nv::Blast::ExtStressSolver +, Nv::Blast::FamilyHeader
  • applyNoise() -: Nv::Blast::FractureTool -, Nv::Blast::ChunkPostProcessor +: Nv::Blast::MeshNoiser
  • applySyncBuffer() : Nv::Blast::ExtSync
  • area : NvBlastBond
  • asReader() -: Nv::Blast::Serialization::PxVec3::PxVec3::Builder -, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder -, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder -, Nv::Blast::Serialization::Asset::Asset::Builder -, Nv::Blast::Serialization::PxQuat::PxQuat::Builder +: Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder , Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder -, Nv::Blast::Serialization::TkAsset::TkAsset::Builder +, Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder , Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder +, Nv::Blast::Serialization::PxVec3::PxVec3::Builder +, Nv::Blast::Serialization::PxQuat::PxQuat::Builder , Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder -, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder , Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder -, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder -, Nv::Blast::Serialization::UUID::UUID::Builder , Nv::Blast::Serialization::PxTransform::PxTransform::Builder -
  • asset -: Nv::Blast::TkActorDesc +, Nv::Blast::Serialization::TkAsset::TkAsset::Builder +, Nv::Blast::Serialization::UUID::UUID::Builder +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder +, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder
  • Asset() : Nv::Blast::Serialization::Asset -, Nv::Blast::TkTypeIndex +, Nv::Blast::ExtPxObjectTypeID +
  • asset +: Nv::Blast::ExporterMeshData +
  • Asset +: Nv::Blast::TkObjectTypeID +
  • asset +: Nv::Blast::TkActorDesc +
  • Asset +: Nv::Blast::LlObjectTypeID +
  • asset +: Nv::Blast::AuthoringResult +
  • Asset +: Nv::Blast::TkTypeIndex
  • assetBonds : NvBlastGraphShaderActor
  • assetChunks -: NvBlastSubgraphShaderActor +: NvBlastGraphShaderActor +, NvBlastSubgraphShaderActor
  • AssetDataBlock : NvBlastDataBlock +
  • assetToFractureChunkIdMap +: Nv::Blast::AuthoringResult
  • at() -: Nv::Blast::FixedArray< T > +: Nv::Blast::FixedArray< T >
  • attachPositions -: Nv::Blast::TkJointData -, Nv::Blast::TkJointDesc +: Nv::Blast::TkJointDesc +, Nv::Blast::TkJointData , Nv::Blast::TkAssetJointDesc
  • AVERAGE : Nv::Blast::BondGenerationConfig diff --git a/docs/source_docs/files/functions_0x62.html b/docs/source_docs/files/functions_0x62.html index d4fdba5..91546b7 100644 --- a/docs/source_docs/files/functions_0x62.html +++ b/docs/source_docs/files/functions_0x62.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -88,15 +88,17 @@ Here is a list of all class members with links to the classes they belong to:
  • b : Nv::Blast::Triangle
  • BBoxBasedAccelerator() -: Nv::Blast::BBoxBasedAccelerator -
  • BlastBondGenerator() -: Nv::Blast::BlastBondGenerator +: Nv::Blast::BBoxBasedAccelerator +
  • BlastBondGeneratorImpl() +: Nv::Blast::BlastBondGeneratorImpl
  • bond : NvBlastBondDesc
  • bondCount -: NvBlastAssetDesc +: Nv::Blast::AuthoringResult +, NvBlastAssetDesc
  • bondDescs : NvBlastAssetDesc +, Nv::Blast::AuthoringResult
  • bondFlags : Nv::Blast::TkAssetDesc
  • BondFlags @@ -108,119 +110,118 @@ Here is a list of all class members with links to the classes they belong to: , NvBlastFractureBuffers
  • BondGenMode : Nv::Blast::BondGenerationConfig -
  • bondIndex -: Nv::Blast::ExtStressBondCachedData
  • bondIterationsPerFrame : Nv::Blast::ExtStressSolverSettings
  • BondJointed : Nv::Blast::TkAssetDesc
  • bondMode : Nv::Blast::BondGenerationConfig -
  • bondNormalThreshold -: NvBlastExtMaterial
  • bondsBroken : Nv::Blast::TkFractureEvents
  • bondsDamaged : Nv::Blast::TkFractureEvents
  • bondsFromPrefractured() -: Nv::Blast::BlastBondGenerator -
  • bondTangentialThreshold -: NvBlastExtMaterial +: Nv::Blast::BlastBondGenerator +, Nv::Blast::BlastBondGeneratorImpl
  • BooleanConf() : Nv::Blast::BooleanConf
  • BooleanEvaluator() -: Nv::Blast::BooleanEvaluator +: Nv::Blast::BooleanEvaluator
  • borrowActor() : Nv::Blast::FamilyHeader -
  • brand -: Nv::Blast::Serialization::PxQuat::PxQuat::_capnpPrivate -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::_capnpPrivate -, Nv::Blast::Serialization::PxTransform::PxTransform::_capnpPrivate -, Nv::Blast::Serialization::Asset::Asset::_capnpPrivate -, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::_capnpPrivate -, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::_capnpPrivate -, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::_capnpPrivate -, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::_capnpPrivate -, Nv::Blast::Serialization::UUID::UUID::_capnpPrivate -, Nv::Blast::Serialization::TkAsset::TkAsset::_capnpPrivate -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::_capnpPrivate -, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::_capnpPrivate -, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::_capnpPrivate -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::_capnpPrivate -, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::_capnpPrivate -, Nv::Blast::Serialization::PxVec3::PxVec3::_capnpPrivate +
  • bOutputFBXAscii +: Nv::Blast::FbxFileWriter +
  • brand() +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::_capnpPrivate +, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::_capnpPrivate +, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::_capnpPrivate +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::_capnpPrivate +, Nv::Blast::Serialization::PxQuat::PxQuat::_capnpPrivate +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::_capnpPrivate +, Nv::Blast::Serialization::PxTransform::PxTransform::_capnpPrivate +, Nv::Blast::Serialization::TkAsset::TkAsset::_capnpPrivate +, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::_capnpPrivate +, Nv::Blast::Serialization::PxVec3::PxVec3::_capnpPrivate +, Nv::Blast::Serialization::Asset::Asset::_capnpPrivate +, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::_capnpPrivate +, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::_capnpPrivate +, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::_capnpPrivate +, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::_capnpPrivate +, Nv::Blast::Serialization::UUID::UUID::_capnpPrivate
  • buffers : Nv::Blast::TkFractureCommands , Nv::Blast::TkFractureEvents
  • buildCollisionGeometry() -: Nv::Blast::ConvexMeshBuilder +: Nv::Blast::ConvexMeshBuilder +, Nv::Blast::ConvexMeshBuilderImpl
  • buildConvexHull() : Nv::Blast::TriangleProcessor
  • buildConvexMesh() -: Nv::Blast::ConvexMeshBuilder +: Nv::Blast::ConvexMeshBuilder +, Nv::Blast::ConvexMeshBuilderImpl
  • buildDescFromInternalFracture() -: Nv::Blast::BlastBondGenerator +: Nv::Blast::BlastBondGenerator +, Nv::Blast::BlastBondGeneratorImpl
  • Builder() -: Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder -, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder -, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder -, Nv::Blast::Serialization::UUID::UUID::Builder -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder -, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder -, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder -, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder -, Nv::Blast::Serialization::PxVec3::PxVec3::Builder -, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder -, Nv::Blast::Serialization::PxQuat::PxQuat::Builder -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder -, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder -, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder -, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder -, Nv::Blast::Serialization::PxQuat::PxQuat::Builder +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder , Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder -, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder -, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder -, Nv::Blast::Serialization::PxTransform::PxTransform::Builder -, Nv::Blast::Serialization::UUID::UUID::Builder +, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder , Nv::Blast::Serialization::PxTransform::PxTransform::Builder -, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder -, Nv::Blast::Serialization::PxVec3::PxVec3::Builder -, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder -, Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder +, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder , Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder -, Nv::Blast::Serialization::PxQuat::PxQuat::Builder -, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder +, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder , Nv::Blast::Serialization::UUID::UUID::Builder -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder -, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder +, Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::UUID::UUID::Builder +, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder , Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder -, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder +, Nv::Blast::Serialization::PxVec3::PxVec3::Builder +, Nv::Blast::Serialization::PxTransform::PxTransform::Builder , Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder -, Nv::Blast::Serialization::TkAsset::TkAsset::Builder -, Nv::Blast::Serialization::Asset::Asset::Builder -, Nv::Blast::Serialization::TkAsset::TkAsset::Builder -, Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder +, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder , Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder +, Nv::Blast::Serialization::PxQuat::PxQuat::Builder , Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder +, Nv::Blast::Serialization::PxVec3::PxVec3::Builder , Nv::Blast::Serialization::PxTransform::PxTransform::Builder +, Nv::Blast::Serialization::PxQuat::PxQuat::Builder +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +, Nv::Blast::Serialization::PxQuat::PxQuat::Builder +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder +, Nv::Blast::Serialization::TkAsset::TkAsset::Builder +, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder +, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder +, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder +, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder +, Nv::Blast::Serialization::TkAsset::TkAsset::Builder +, Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::UUID::UUID::Builder +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder +, Nv::Blast::Serialization::PxVec3::PxVec3::Builder +, Nv::Blast::Serialization::TkAsset::TkAsset::Builder +, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder +, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder +, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder
  • Builds -: Nv::Blast::Serialization::PxQuat::PxQuat::Builder -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder -, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder -, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder +: Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder , Nv::Blast::Serialization::TkAsset::TkAsset::Builder -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder -, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder +, Nv::Blast::Serialization::PxTransform::PxTransform::Builder +, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder +, Nv::Blast::Serialization::PxQuat::PxQuat::Builder +, Nv::Blast::Serialization::UUID::UUID::Builder , Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder , Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder , Nv::Blast::Serialization::Asset::Asset::Builder -, Nv::Blast::Serialization::PxTransform::PxTransform::Builder -, Nv::Blast::Serialization::UUID::UUID::Builder -, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder , Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder +, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder , Nv::Blast::Serialization::PxVec3::PxVec3::Builder diff --git a/docs/source_docs/files/functions_0x63.html b/docs/source_docs/files/functions_0x63.html index fec780d..c24c857 100644 --- a/docs/source_docs/files/functions_0x63.html +++ b/docs/source_docs/files/functions_0x63.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -92,12 +92,14 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::BooleanConf
  • canFindRoot() : Nv::Blast::FamilyGraph +
  • CapnProtoBinary +: Nv::Blast::ExtSerialization::ExtSerialization::EncodingID
  • cb : Nv::Blast::BooleanConf
  • centroid -: NvBlastChunkDesc +: NvBlastBond +, NvBlastChunkDesc , NvBlastChunk -, NvBlastBond
  • Changed : Nv::Blast::TkJointUpdateEvent
  • childIndexStop @@ -105,11 +107,13 @@ Here is a list of all class members with links to the classes they belong to:
  • children : Nv::Blast::TkSplitEvent
  • chunkCount -: NvBlastAssetDesc +: Nv::Blast::AuthoringResult +, NvBlastAssetDesc
  • ChunkDepthFirstIt() : Nv::Blast::ChunkDepthFirstIt
  • chunkDescs -: NvBlastAssetDesc +: Nv::Blast::AuthoringResult +, NvBlastAssetDesc
  • chunkFractureCount : NvBlastFractureBuffers
  • chunkFractures @@ -133,79 +137,105 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::TkFractureEvents
  • ci : Nv::Blast::BooleanConf +
  • cleanMesh() +: Nv::Blast::MeshCleaner +, Nv::Blast::MeshCleanerImpl
  • clear() -: Nv::Blast::FixedBoolArray +: Nv::Blast::FixedArray< T > +, Nv::Blast::FixedBitmap +, Nv::Blast::FixedBoolArray , Nv::Blast::FixedPriorityQueue< Element, Comparator > , Nv::Blast::LocalBuffer< T > -, Nv::Blast::FixedArray< T > -, Nv::Blast::FixedBitmap
  • clearStencil() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGenerator +, Nv::Blast::VoronoiSitesGeneratorImpl
  • clone() : Nv::Blast::ExtSyncEvent , Nv::Blast::ExtSyncEventInstance< T, eventType >
  • clusteredSitesGeneration() -: Nv::Blast::VoronoiSitesGenerator -
  • compressive -: NvBlastExtRadialDamageDesc +: Nv::Blast::VoronoiSitesGenerator +, Nv::Blast::VoronoiSitesGeneratorImpl +
  • collisionHull +: Nv::Blast::AuthoringResult +
  • collisionHullOffset +: Nv::Blast::AuthoringResult +
  • color0 +: Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine +
  • color1 +: Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine +
  • column0 +: NvcMat34 +, NvcMat33 +, NvcMat44 +
  • column1 +: NvcMat34 +, NvcMat33 +, NvcMat44 +
  • column2 +: NvcMat34 +, NvcMat33 +, NvcMat44 +
  • column3 +: NvcMat34 +, NvcMat44 +
  • componentIndices +: NvBlastExtAssetUtilsBondDesc
  • contactOffset : Nv::Blast::ExtPxShapeDescTemplate -
  • convert() -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1 -, Nv::Blast::BinaryBlockConverter::BinaryBlockConverter::VersionConverter -
  • convertBinaryBlock() -: Nv::Blast::BinaryBlockConverter -
  • ConvexMeshBuilder() -: Nv::Blast::ConvexMeshBuilder +
  • convertToTriangle() +: Nv::Blast::TriangleIndexed +
  • ConvexMeshBuilderImpl() +: Nv::Blast::ConvexMeshBuilderImpl
  • cooking() : Nv::Blast::ApexImporter::ApexDestruction
  • Count -: Nv::Blast::final -, Nv::Blast::ExtSyncEventType -, Nv::Blast::ActorSerializationFormat +: Nv::Blast::ExtSyncEventType , NvBlastDataBlock -, NvBlastAssetDataFormat -, NvBlastFamilyDataFormat +, Nv::Blast::ActorSerializationFormat
  • create() -: Nv::Blast::ExtPxManager -, Nv::Blast::Asset +: Nv::Blast::TkActorImpl +, Nv::Blast::ExtPxStressSolver +, Nv::Blast::ExtPxManager +, Nv::Blast::ExtPxAsset , Nv::Blast::ExtImpactDamageManager , Nv::Blast::ExtPxAsset +, Nv::Blast::ExtGroupTaskManager +, Nv::Blast::ExtStressSolver , Nv::Blast::Actor -, Nv::Blast::ExtPxAsset -, Nv::Blast::ExtStressSolver +, Nv::Blast::Asset +, Nv::Blast::ExtGroupTaskManager , Nv::Blast::ExtSync -, Nv::Blast::TkActorImpl
  • createActor() -: Nv::Blast::TkFramework -, Nv::Blast::TkFrameworkImpl +: Nv::Blast::TkFrameworkImpl +, Nv::Blast::TkFramework
  • createAsset() -: Nv::Blast::TkFrameworkImpl +: Nv::Blast::TkFramework +, Nv::Blast::TkFrameworkImpl , Nv::Blast::TkFramework -, Nv::Blast::TkFrameworkImpl
  • createBondBetweenMeshes() -: Nv::Blast::BlastBondGenerator +: Nv::Blast::BlastBondGeneratorImpl +, Nv::Blast::BlastBondGenerator +
  • createChunkMesh() +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • createFamily() -: Nv::Blast::final -, Nv::Blast::ExtPxManager +: Nv::Blast::ExtPxManager +, Nv::Blast::final
  • createGroup() -: Nv::Blast::TkFrameworkImpl -, Nv::Blast::TkFramework +: Nv::Blast::TkFramework +, Nv::Blast::TkFrameworkImpl
  • createJoint() : Nv::Blast::TkFramework +, Nv::Blast::TkFrameworkImpl , Nv::Blast::ExtPxManager , Nv::Blast::final -, Nv::Blast::TkFrameworkImpl
  • createNewMesh() : Nv::Blast::BooleanEvaluator
  • createRequiredScratch() : Nv::Blast::Actor , Nv::Blast::Asset
  • Current -: NvBlastAssetDataFormat -, NvBlastFamilyDataFormat -, Nv::Blast::final -, Nv::Blast::ActorSerializationFormat +: Nv::Blast::ActorSerializationFormat diff --git a/docs/source_docs/files/functions_0x64.html b/docs/source_docs/files/functions_0x64.html index ce1d05e..81f48d6 100644 --- a/docs/source_docs/files/functions_0x64.html +++ b/docs/source_docs/files/functions_0x64.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -85,13 +85,18 @@ Here is a list of all class members with links to the classes they belong to:

    - d -

    diff --git a/docs/source_docs/files/functions_0x66.html b/docs/source_docs/files/functions_0x66.html index 9b7fe46..5381136 100644 --- a/docs/source_docs/files/functions_0x66.html +++ b/docs/source_docs/files/functions_0x66.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -86,14 +86,20 @@ Here is a list of all class members with links to the classes they belong to:

    - f -

    diff --git a/docs/source_docs/files/functions_0x67.html b/docs/source_docs/files/functions_0x67.html index 41ef569..83575bf 100644 --- a/docs/source_docs/files/functions_0x67.html +++ b/docs/source_docs/files/functions_0x67.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -89,16 +89,26 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::Actor , Nv::Blast::TkActor , Nv::Blast::TkActorImpl +
  • generateFractureCommands() +: Nv::Blast::ExtStressSolver +
  • generateFractureCommandsPerActor() +: Nv::Blast::ExtStressSolver
  • generateInSphere() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGeneratorImpl +, Nv::Blast::VoronoiSitesGenerator
  • geometry -: Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc +: Nv::Blast::AuthoringResult +, Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc , Nv::Blast::ExtPxSubchunk +
  • geometryOffset +: Nv::Blast::AuthoringResult
  • get() -: Nv::Blast::TkFrameworkImpl -, Nv::Blast::ApexImporter::ScopedResource< Releasable, Releaser > +: Nv::Blast::ApexImporter::ScopedResource< Releasable, Releaser > +, Nv::Blast::TkFrameworkImpl
  • getActorBufferSize() : Nv::Blast::FamilyHeader +
  • getActorByIndex() +: Nv::Blast::FamilyHeader
  • getActorCount() : Nv::Blast::ExtPxFamily , Nv::Blast::final @@ -128,17 +138,12 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader
  • getAdjacentNodeIndices() : Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader -
  • getAllocatorCallback() -: Nv::Blast::TkFramework -, Nv::Blast::TkFrameworkImpl -
  • getAllocatorCallbackInternal() -: Nv::Blast::TkFrameworkImpl
  • getArea() : Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader
  • getAsset() -: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Pipeline +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Pipeline , Nv::Blast::Actor , Nv::Blast::TkActor , Nv::Blast::TkFamily @@ -151,37 +156,53 @@ Here is a list of all class members with links to the classes they belong to:
  • getAttachPositions() : Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Reader
  • getBaseMapping() -: Nv::Blast::ChunkPostProcessor +: Nv::Blast::Triangulator
  • getBaseMesh() -: Nv::Blast::FractureTool -, Nv::Blast::ChunkPostProcessor +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl +, Nv::Blast::Triangulator
  • getBaseMeshIndexed() -: Nv::Blast::ChunkPostProcessor +: Nv::Blast::Triangulator +
  • getBlastFBXAxisSystem() +: FbxUtils +
  • getBlastFBXUnit() +: FbxUtils
  • getBlock() : Nv::Blast::SharedBlock< T >
  • getBondCount() -: Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver -, Nv::Blast::Serialization::Asset::Asset::Reader +: Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::ExtStressSolver , Nv::Blast::Asset , Nv::Blast::TkAsset
  • getBondHealths() -: Nv::Blast::Actor -, Nv::Blast::TkActor +: Nv::Blast::TkActor , Nv::Blast::TkActorImpl +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +, Nv::Blast::Actor +
  • getBondHealthsArray() +: Nv::Blast::final
  • getBonds() : Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Actor , Nv::Blast::TkAsset +
  • getBoneCount() +: Nv::Blast::IFbxFileReader +, Nv::Blast::FbxFileReader +
  • getBoneInfluences() +: Nv::Blast::IFbxFileReader +, Nv::Blast::FbxFileReader
  • getBoundingBox() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl +
  • getBoundingBoxWritable() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getBuffer() : Nv::Blast::ExtKJPxOutputStream
  • getBufferedBaseMeshes() -: Nv::Blast::FractureTool -
  • getBufferedNoiseMeshes() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • getCentroid() : Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader , Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder @@ -189,44 +210,59 @@ Here is a list of all class members with links to the classes they belong to:
  • getChildIndexStop() : Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader
  • getChunkCount() -: Nv::Blast::ExtPxActor +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl +, Nv::Blast::ExtPxActor , Nv::Blast::ExtPxAsset , Nv::Blast::final , Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Serialization::Asset::Asset::Builder , Nv::Blast::TkAsset
  • getChunkDepth() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • getChunkId() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • getChunkIndex() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl +
  • getChunkIndexForNode() +: FbxUtils
  • getChunkIndices() : Nv::Blast::ExtPxActor , Nv::Blast::final , Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader , Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder -
  • getChunkList() -: Nv::Blast::FractureTool -
  • getChunkMesh() -: Nv::Blast::FractureTool +
  • getChunkInfo() +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl +
  • getChunkNodeName() +: FbxUtils
  • getChunks() : Nv::Blast::ExtPxAsset , Nv::Blast::final -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder , Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder , Nv::Blast::Actor , Nv::Blast::TkAsset
  • getChunksArray() -: Nv::Blast::final +: Nv::Blast::final
  • getChunksIdAtDepth() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • getChunkToGraphNodeMap() : Nv::Blast::Serialization::Asset::Asset::Reader +
  • getCollision() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader
  • getCollisionGeometry() -: Nv::Blast::ApexImporter::ApexImportTool +: Nv::Blast::ApexImporter::ApexImportTool +
  • getCollisionGeometryLayerName() +: FbxUtils
  • getContiguousLowerSupportIndex() : Nv::Blast::Asset
  • getConvexMesh() @@ -244,30 +280,44 @@ Here is a list of all class members with links to the classes they belong to: , Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder
  • getDataWritable() : Nv::Blast::TkJointImpl -
  • getDeserializeFn() -: Nv::Blast::TkTypeImpl +
  • getDefaultActorDesc() +: Nv::Blast::ExtPxAsset +, Nv::Blast::final +
  • getDescription() +: Nv::Blast::ExtSerializer
  • getDistance() : Nv::Blast::Separation
  • getEdges() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getEdgesCount() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl , Nv::Blast::FamilyGraph +
  • getEdgesWritable() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getElapsedTicks() : Nv::Blast::Time -
  • getErrorCallback() -: Nv::Blast::TkFramework -, Nv::Blast::TkFrameworkImpl -
  • getErrorCallbackInternal() -: Nv::Blast::TkFrameworkImpl +
  • getEncodingID() +: Nv::Blast::ExtSerializer
  • getEvent() : Nv::Blast::ExtSyncEvent
  • getFacet() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getFacetCount() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getFacetsBuffer() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl +
  • getFacetsBufferWritable() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl +
  • getFacetWritable() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getFamilies() : Nv::Blast::ExtPxManager , Nv::Blast::final @@ -277,8 +327,8 @@ Here is a list of all class members with links to the classes they belong to: , Nv::Blast::TkActor , Nv::Blast::TkActorImpl
  • getFamilyCount() -: Nv::Blast::final -, Nv::Blast::ExtPxManager +: Nv::Blast::ExtPxManager +, Nv::Blast::final
  • getFamilyFromTkFamily() : Nv::Blast::ExtPxManager , Nv::Blast::final @@ -309,7 +359,6 @@ Here is a list of all class members with links to the classes they belong to: , Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder
  • getFrameCount() : Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver
  • getFramework() : Nv::Blast::ExtPxManager , Nv::Blast::final @@ -317,6 +366,14 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Reader , Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder , Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline +
  • getGetChunkActor() +: Nv::Blast::FamilyHeader +
  • getGetChunkActorIndex() +: Nv::Blast::FamilyHeader +
  • getGetNodeActor() +: Nv::Blast::FamilyHeader +
  • getGetNodeActorIndex() +: Nv::Blast::FamilyHeader
  • getGraph() : Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Serialization::Asset::Asset::Builder @@ -351,21 +408,26 @@ Here is a list of all class members with links to the classes they belong to: , Nv::Blast::Serialization::Asset::Asset::Pipeline , Nv::Blast::TkIdentifiable , Nv::Blast::TkTypeImpl +
  • getIdicesCount() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader
  • getIndex() : Nv::Blast::Actor , Nv::Blast::TkActor , Nv::Blast::TkActorImpl , Nv::Blast::TkTypeImpl +
  • getIndexArray() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader
  • getIndexInternal() : Nv::Blast::TkActorImpl
  • getIsStatic() -: Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder -, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Reader -
  • getIterationCount() -: Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver +: Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Reader +, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder
  • getIterationsPerFrame() -: Nv::Blast::ExtStressSolver +: Nv::Blast::ExtStressSolver
  • getJointCount() : Nv::Blast::TkActor , Nv::Blast::TkActorImpl @@ -387,52 +449,68 @@ Here is a list of all class members with links to the classes they belong to: , Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Serialization::Asset::Asset::Builder , Nv::Blast::TkAsset -
  • getLogFn() -: Nv::Blast::TkFramework -, Nv::Blast::TkFrameworkImpl
  • getLowerSupportChunkCount() : Nv::Blast::Asset
  • getLowerSupportChunkHealths() : Nv::Blast::Actor
  • getMaterial() : Nv::Blast::TkFamily +
  • getMaterialCount() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader +
  • getMaterialIds() +: Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader +, Nv::Blast::IMeshFileReader +
  • getMaterialName() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader
  • getMemorySize() : Nv::Blast::Asset +
  • getMesh() +: Nv::Blast::MeshNoiser
  • getMeshFlags() -: Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +: Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader
  • getMeshOverlap() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • getMeshVolume() -: Nv::Blast::Mesh +: Nv::Blast::MeshImpl +, Nv::Blast::Mesh
  • getName() -: Nv::Blast::TkType -, Nv::Blast::TkWorker +: Nv::Blast::ExtGroupWorkerTask +, Nv::Blast::ExtSerializer , Nv::Blast::TkTypeImpl +, Nv::Blast::TkType
  • getNameInternal() : Nv::Blast::TkTypeImpl
  • getNext() : Nv::Blast::DLink
  • getNextFacet() -: Nv::Blast::IntersectionTestingAccelerator -, Nv::Blast::SpatialAccelerator +: Nv::Blast::SpatialAccelerator , Nv::Blast::DummyAccelerator , Nv::Blast::BBoxBasedAccelerator +, Nv::Blast::IntersectionTestingAccelerator
  • getNodeCount() -: Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader -, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder +: Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder +, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader
  • getNodeIndices() -: Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder -, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Reader -
  • getNoisedMesh() -: Nv::Blast::FractureTool -
  • getNoisyMesh() -: Nv::Blast::ChunkPostProcessor +: Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Reader +, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder
  • getNormal() -: Nv::Blast::Triangle -, Nv::Blast::TrPrcTriangle +: Nv::Blast::TrPrcTriangle , Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader , Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder +, Nv::Blast::Triangle +
  • getNormalizedDamage() +: NvBlastExtMaterial +
  • getNormalsArray() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader
  • getNot() : Nv::Blast::EdgeToTriangles
  • getObjectCount() @@ -441,32 +519,40 @@ Here is a list of all class members with links to the classes they belong to:
  • getObjects() : Nv::Blast::TkFramework , Nv::Blast::TkFrameworkImpl +
  • getObjectTypeID() +: Nv::Blast::ExtSerializer
  • getOpposite() : Nv::Blast::TriangleIndexed +
  • getOverstressedBondCount() +: Nv::Blast::ExtStressSolver
  • getP() : Nv::Blast::Serialization::PxTransform::PxTransform::Reader -, Nv::Blast::Serialization::PxTransform::PxTransform::Builder , Nv::Blast::Serialization::PxTransform::PxTransform::Pipeline +, Nv::Blast::Serialization::PxTransform::PxTransform::Builder
  • getParentChunkIndex() : Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader
  • getPayload() : Nv::Blast::TkEvent
  • getPhysics() -: Nv::Blast::final -, Nv::Blast::ExtPxManager +: Nv::Blast::ExtPxManager +, Nv::Blast::final
  • getPhysXActor() : Nv::Blast::ExtPxActor , Nv::Blast::final +
  • getPositionArray() +: Nv::Blast::FbxFileReader +, Nv::Blast::IMeshFileReader +, Nv::Blast::ObjFileReader
  • getPositionedMapping() -: Nv::Blast::ChunkPostProcessor +: Nv::Blast::Triangulator
  • getPrev() : Nv::Blast::DLink
  • getPxActorCount() -: Nv::Blast::ExtPxManager -, Nv::Blast::final +: Nv::Blast::final +, Nv::Blast::ExtPxManager
  • getPxActorDesc() -: Nv::Blast::ExtPxFamily -, Nv::Blast::final +: Nv::Blast::final +, Nv::Blast::ExtPxFamily
  • getPxAsset() : Nv::Blast::ExtPxFamily , Nv::Blast::final @@ -474,30 +560,42 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::final , Nv::Blast::ExtPxFamily
  • getQ() -: Nv::Blast::Serialization::PxTransform::PxTransform::Builder +: Nv::Blast::Serialization::PxTransform::PxTransform::Reader +, Nv::Blast::Serialization::PxTransform::PxTransform::Builder , Nv::Blast::Serialization::PxTransform::PxTransform::Pipeline -, Nv::Blast::Serialization::PxTransform::PxTransform::Reader
  • getRandomValue() : Nv::Blast::RandomGeneratorBase +
  • getRenderGeometryLayerName() +: FbxUtils
  • getRotation() -: Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader +: Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader , Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder
  • getScale() -: Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Pipeline -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline +: Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder , Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Pipeline , Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline +
  • getScene() +: Nv::Blast::FbxFileWriter
  • getSegmentIntersection() : Nv::Blast::TriangleProcessor +
  • getSerializationEncoding() +: Nv::Blast::ExtSerialization
  • getSettings() : Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver
  • getSize() : Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder , Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Reader +
  • getSmoothingGroups() +: Nv::Blast::ObjFileReader +, Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +
  • getSolver() +: Nv::Blast::final +, Nv::Blast::ExtPxStressSolver
  • getSplitMaxActorCount() : Nv::Blast::TkActor , Nv::Blast::TkActorImpl @@ -505,29 +603,31 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::TkGroup
  • getStressErrorAngular() : Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver
  • getStressErrorLinear() : Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver
  • getSubchunkCount() -: Nv::Blast::ExtPxAsset -, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Reader -, Nv::Blast::final +: Nv::Blast::final , Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder +, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Reader +, Nv::Blast::ExtPxAsset
  • getSubchunks() -: Nv::Blast::ExtPxAsset -, Nv::Blast::final +: Nv::Blast::final , Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +, Nv::Blast::ExtPxAsset
  • getSubchunksArray() -: Nv::Blast::final +: Nv::Blast::final
  • getSubchunkShapes() -: Nv::Blast::ExtPxFamily -, Nv::Blast::final +: Nv::Blast::final +, Nv::Blast::ExtPxFamily
  • getSubsupportChunkHealths() : Nv::Blast::FamilyHeader , Nv::Blast::Actor
  • getSubtreeLeafChunkCounts() : Nv::Blast::Serialization::Asset::Asset::Reader +
  • getSupportChunkHealths() +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +
  • getSupportChunkHealthsArray() +: Nv::Blast::final
  • getSyncBufferSize() : Nv::Blast::ExtSync
  • getTail() @@ -536,51 +636,62 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::final , Nv::Blast::ExtPxActor
  • getTkAsset() -: Nv::Blast::ExtPxAsset -, Nv::Blast::final +: Nv::Blast::final +, Nv::Blast::ExtPxAsset
  • getTkFamily() : Nv::Blast::final , Nv::Blast::ExtPxFamily
  • getTransform() -: Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline -, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Reader +: Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Reader , Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder +, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline
  • getTransformation() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • getTriangleIntersection() : Nv::Blast::TriangleProcessor
  • getType() -: Nv::Blast::TkFramework +: Nv::Blast::TkFrameworkImpl +, Nv::Blast::TkFramework , Nv::Blast::TkIdentifiable -, Nv::Blast::TkFrameworkImpl -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder , Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +
  • getUniformInitialBondHealth() +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +
  • getUniformInitialLowerSupportChunkHealth() +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader
  • getUpperSupportChunkCount() : Nv::Blast::Asset
  • getUserData() -: Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader -, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader +: Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader +, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader +
  • getUvArray() +: Nv::Blast::FbxFileReader +, Nv::Blast::IMeshFileReader +, Nv::Blast::ObjFileReader
  • getValue() -: Nv::Blast::Serialization::UUID::UUID::Builder -, Nv::Blast::Serialization::UUID::UUID::Reader +: Nv::Blast::Serialization::UUID::UUID::Reader +, Nv::Blast::Serialization::UUID::UUID::Builder
  • getVersion() -: Nv::Blast::TkType -, Nv::Blast::TkTypeImpl -
  • getVersionFrom() -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1 -, Nv::Blast::BinaryBlockConverter::BinaryBlockConverter::VersionConverter +: Nv::Blast::TkTypeImpl +, Nv::Blast::TkType
  • getVersionInternal() : Nv::Blast::TkTypeImpl -
  • getVersionTo() -: Nv::Blast::BinaryBlockConverter::BinaryBlockConverter::VersionConverter -, Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1
  • getVertices() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getVerticesCount() -: Nv::Blast::Mesh +: Nv::Blast::MeshImpl +, Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::Mesh +, Nv::Blast::ObjFileReader +
  • getVerticesWritable() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getVisibleChunkCount() -: Nv::Blast::Actor -, Nv::Blast::TkActor +: Nv::Blast::TkActor +, Nv::Blast::Actor , Nv::Blast::TkActorImpl
  • getVisibleChunkIndices() : Nv::Blast::TkActorImpl @@ -588,33 +699,34 @@ Here is a list of all class members with links to the classes they belong to:
  • getVolume() : Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader
  • getVoronoiSites() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGeneratorImpl +, Nv::Blast::VoronoiSitesGenerator
  • getW() : Nv::Blast::Serialization::PxQuat::PxQuat::Reader , Nv::Blast::Serialization::PxQuat::PxQuat::Builder
  • getWeldedVerticesCount() -: Nv::Blast::ChunkPostProcessor +: Nv::Blast::Triangulator
  • getWordsCount() : Nv::Blast::FixedBitmap +
  • getWorkerCount() +: Nv::Blast::TkGroup
  • getWrittenBytes() : Nv::Blast::ExtKJPxOutputStream
  • getX() -: Nv::Blast::Serialization::PxQuat::PxQuat::Builder -, Nv::Blast::Serialization::PxQuat::PxQuat::Reader +: Nv::Blast::Serialization::PxVec3::PxVec3::Builder , Nv::Blast::Serialization::PxVec3::PxVec3::Reader -, Nv::Blast::Serialization::PxVec3::PxVec3::Builder +, Nv::Blast::Serialization::PxQuat::PxQuat::Builder +, Nv::Blast::Serialization::PxQuat::PxQuat::Reader
  • getY() -: Nv::Blast::Serialization::PxVec3::PxVec3::Reader +: Nv::Blast::Serialization::PxQuat::PxQuat::Reader , Nv::Blast::Serialization::PxVec3::PxVec3::Builder , Nv::Blast::Serialization::PxQuat::PxQuat::Builder -, Nv::Blast::Serialization::PxQuat::PxQuat::Reader +, Nv::Blast::Serialization::PxVec3::PxVec3::Reader
  • getZ() -: Nv::Blast::Serialization::PxVec3::PxVec3::Builder +: Nv::Blast::Serialization::PxQuat::PxQuat::Builder +, Nv::Blast::Serialization::PxVec3::PxVec3::Builder , Nv::Blast::Serialization::PxQuat::PxQuat::Reader , Nv::Blast::Serialization::PxVec3::PxVec3::Reader -, Nv::Blast::Serialization::PxQuat::PxQuat::Builder -
  • graphChunkThreshold -: NvBlastExtMaterial
  • graphNodeIndexLinks : NvBlastGraphShaderActor
  • GraphNodeIt() @@ -623,10 +735,10 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::ExtStressSolverSettings
  • graphShaderFunction : NvBlastDamageProgram -
  • Group -: Nv::Blast::TkTypeIndex
  • group : Nv::Blast::ExtPxFamilyDesc +
  • Group +: Nv::Blast::TkTypeIndex diff --git a/docs/source_docs/files/functions_0x68.html b/docs/source_docs/files/functions_0x68.html index b965ac3..5e1ca2b 100644 --- a/docs/source_docs/files/functions_0x68.html +++ b/docs/source_docs/files/functions_0x68.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -85,6 +85,8 @@ Here is a list of all class members with links to the classes they belong to:

    - h -

    diff --git a/docs/source_docs/files/functions_0x69.html b/docs/source_docs/files/functions_0x69.html index 7a81b9f..882fd24 100644 --- a/docs/source_docs/files/functions_0x69.html +++ b/docs/source_docs/files/functions_0x69.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -87,6 +87,12 @@ Here is a list of all class members with links to the classes they belong to:

    - i -

    diff --git a/docs/source_docs/files/functions_0x6c.html b/docs/source_docs/files/functions_0x6c.html index 3cb5e70..f0e4251 100644 --- a/docs/source_docs/files/functions_0x6c.html +++ b/docs/source_docs/files/functions_0x6c.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -87,20 +87,28 @@ Here is a list of all class members with links to the classes they belong to:

    - l -

    diff --git a/docs/source_docs/files/functions_0x6d.html b/docs/source_docs/files/functions_0x6d.html index b626eb2..73ffa85 100644 --- a/docs/source_docs/files/functions_0x6d.html +++ b/docs/source_docs/files/functions_0x6d.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -89,12 +89,6 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::FamilyHeader
  • m_adj : Nv::Blast::IndexDLink< IndexType > -
  • m_adjacencyPartitionOffset -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph -
  • m_adjacentBondIndicesOffset -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph -
  • m_adjacentNodeIndicesOffset -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph
  • m_angularVelocity : Nv::Blast::PxActorCreateInfo
  • m_apexDestruction @@ -106,17 +100,13 @@ Here is a list of all class members with links to the classes they belong to:
  • m_assetID : Nv::Blast::FamilyHeader
  • m_bondBuffer -: Nv::Blast::TkWorker +: Nv::Blast::final
  • m_bondCount -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev -, Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew -, Nv::Blast::Asset +: Nv::Blast::Asset
  • m_chunkBuffer -: Nv::Blast::TkWorker +: Nv::Blast::final
  • m_chunkCount : Nv::Blast::Asset -
  • m_chunkIndicesOffset -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph
  • m_Cooking : Nv::Blast::ApexImporter::ApexDestruction
  • m_curr @@ -130,54 +120,43 @@ Here is a list of all class members with links to the classes they belong to:
  • m_eventsMemory : Nv::Blast::SharedMemory
  • m_firstSubsupportChunkIndex -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev -, Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew -, Nv::Blast::Asset +: Nv::Blast::Asset
  • m_formatVersion -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev -, Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew -, Nv::Blast::ActorSerializationHeader +: Nv::Blast::ActorSerializationHeader
  • m_Foundation : Nv::Blast::ApexImporter::ApexDestruction
  • m_graph -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew -, Nv::Blast::Asset -, Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev +: Nv::Blast::Asset
  • m_graphNodeCount : Nv::Blast::ActorSerializationHeader
  • m_group -: Nv::Blast::TkWorker +: Nv::Blast::final
  • m_header : Nv::Blast::Asset
  • m_id -: Nv::Blast::TkWorker +: Nv::Blast::final
  • m_ID -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev -, Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew -, Nv::Blast::Asset +: Nv::Blast::Asset
  • m_index : Nv::Blast::ActorSerializationHeader +
  • m_isBusy +: Nv::Blast::final
  • m_joint : Nv::Blast::TkJointLink
  • m_leafChunkCount -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev -, Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew -, Nv::Blast::ActorSerializationHeader +: Nv::Blast::ActorSerializationHeader , Nv::Blast::Asset
  • m_linearVelocity : Nv::Blast::PxActorCreateInfo
  • m_links : Nv::Blast::LListIt< IndexType > , Nv::Blast::DListIt< IndexType > -
  • m_log -: Nv::Blast::ApexImporter::ApexImportTool
  • m_newActors : Nv::Blast::TkWorkerJob
  • m_newActorsCount : Nv::Blast::TkWorkerJob
  • m_nodeCount -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph -, Nv::Blast::SupportGraph +: Nv::Blast::SupportGraph
  • m_PhysxSDK : Nv::Blast::ApexImporter::ApexDestruction
  • m_runtimePlaceholder @@ -185,14 +164,13 @@ Here is a list of all class members with links to the classes they belong to:
  • m_scale : Nv::Blast::PxActorCreateInfo
  • m_size -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew -, Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev -, Nv::Blast::ActorSerializationHeader +: Nv::Blast::ActorSerializationHeader +
  • m_splitScratch +: Nv::Blast::final +
  • m_tempBuffer +: Nv::Blast::final
  • m_tkActor : Nv::Blast::TkWorkerJob -
  • m_totalChunkCount -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew -, Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev
  • m_transform : Nv::Blast::PxActorCreateInfo
  • m_visibleChunkCount @@ -200,53 +178,75 @@ Here is a list of all class members with links to the classes they belong to:
  • mApex : Nv::Blast::ApexImporter::ApexReleaser
  • material -: NvBlastTimers +: Nv::Blast::ExtPxSpawnSettings +, NvBlastTimers , NvBlastProgramParams -, Nv::Blast::ExtPxSpawnSettings +
  • materialCount +: Nv::Blast::AuthoringResult +
  • materialId +: Nv::Blast::Triangle +, Nv::Blast::TriangleIndexed +, Nv::Blast::Facet +
  • materialNames +: Nv::Blast::AuthoringResult
  • max0 : Nv::Blast::Separation
  • max1 : Nv::Blast::Separation +
  • maxDamageThreshold +: NvBlastExtMaterial +
  • maximum +: NvcBounds3
  • maxRadius -: NvBlastExtRadialDamageDesc +: NvBlastExtShearDamageDesc +, NvBlastExtSegmentRadialDamageDesc +, NvBlastExtRadialDamageDesc
  • mbValid : Nv::Blast::ApexImporter::ApexReleaser
  • mChunkData -: Nv::Blast::FractureTool +: Nv::Blast::FractureToolImpl
  • mChunkIdCounter -: Nv::Blast::FractureTool +: Nv::Blast::FractureToolImpl
  • mChunkPostprocessors -: Nv::Blast::FractureTool +: Nv::Blast::FractureToolImpl
  • MEDIUM -: NvBlastProfilerDetail -
  • Mesh() -: Nv::Blast::Mesh +: Nv::Blast::ProfilerDetail +
  • meshCount +: Nv::Blast::ExporterMeshData
  • meshData : Nv::Blast::ChunkInfo +
  • MeshImpl() +: Nv::Blast::MeshImpl +
  • MeshNoiser() +: Nv::Blast::MeshNoiser
  • min0 : Nv::Blast::Separation
  • min1 : Nv::Blast::Separation +
  • minDamageThreshold +: NvBlastExtMaterial
  • mIndexBase : Nv::Blast::CollisionHull::CollisionHull::HullPolygon +
  • minimum +: NvcBounds3
  • minRadius : NvBlastExtRadialDamageDesc -
  • mLoggingCallback -: Nv::Blast::FractureTool +, NvBlastExtShearDamageDesc +, NvBlastExtSegmentRadialDamageDesc
  • mNbVerts : Nv::Blast::CollisionHull::CollisionHull::HullPolygon
  • MODE_COUNT : Nv::Blast::ApexImporter::ApexImporterConfig
  • mOffset -: Nv::Blast::FractureTool +: Nv::Blast::FractureToolImpl
  • mPlane : Nv::Blast::CollisionHull::CollisionHull::HullPolygon
  • mPlaneIndexerOffset -: Nv::Blast::FractureTool +: Nv::Blast::FractureToolImpl
  • mRemoveIslands -: Nv::Blast::FractureTool +: Nv::Blast::FractureToolImpl
  • mScaleFactor -: Nv::Blast::FractureTool +: Nv::Blast::FractureToolImpl diff --git a/docs/source_docs/files/functions_0x6e.html b/docs/source_docs/files/functions_0x6e.html index adcee3d..742dacc 100644 --- a/docs/source_docs/files/functions_0x6e.html +++ b/docs/source_docs/files/functions_0x6e.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -87,10 +87,13 @@ Here is a list of all class members with links to the classes they belong to:

    - n -

    diff --git a/docs/source_docs/files/functions_0x6f.html b/docs/source_docs/files/functions_0x6f.html index facda0b..f326f41 100644 --- a/docs/source_docs/files/functions_0x6f.html +++ b/docs/source_docs/files/functions_0x6f.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -85,49 +85,53 @@ Here is a list of all class members with links to the classes they belong to:

    - o -

    diff --git a/docs/source_docs/files/functions_0x70.html b/docs/source_docs/files/functions_0x70.html index c38c5a0..985fda9 100644 --- a/docs/source_docs/files/functions_0x70.html +++ b/docs/source_docs/files/functions_0x70.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -87,11 +87,13 @@ Here is a list of all class members with links to the classes they belong to:

    - p -

    diff --git a/docs/source_docs/files/functions_0x71.html b/docs/source_docs/files/functions_0x71.html index c504697..f63a81e 100644 --- a/docs/source_docs/files/functions_0x71.html +++ b/docs/source_docs/files/functions_0x71.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -85,6 +85,8 @@ Here is a list of all class members with links to the classes they belong to:

    - q -

    diff --git a/docs/source_docs/files/functions_0x72.html b/docs/source_docs/files/functions_0x72.html index 540840f..b11d30b 100644 --- a/docs/source_docs/files/functions_0x72.html +++ b/docs/source_docs/files/functions_0x72.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -86,61 +86,57 @@ Here is a list of all class members with links to the classes they belong to:

    - r -

    diff --git a/docs/source_docs/files/functions_0x73.html b/docs/source_docs/files/functions_0x73.html index d21afe1..70dfcc1 100644 --- a/docs/source_docs/files/functions_0x73.html +++ b/docs/source_docs/files/functions_0x73.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -88,13 +88,15 @@ Here is a list of all class members with links to the classes they belong to:
  • s : Nv::Blast::Edge , Nv::Blast::EdgeWithParent -
  • s_allocatorCallback -: Nv::Blast::TkAllocator
  • sample() -: Nv::Blast::PerlinNoise -, Nv::Blast::SimplexNoise +: Nv::Blast::SimplexNoise +, Nv::Blast::PerlinNoise
  • saveAsset() : Nv::Blast::ApexImporter::ApexImportTool +
  • saveToFile() +: Nv::Blast::ObjFileWriter +, Nv::Blast::IMeshFileWriter +, Nv::Blast::FbxFileWriter
  • scene : Nv::Blast::ExtPxSpawnSettings
  • ScopedResource() @@ -103,42 +105,44 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::Time
  • seed() : Nv::Blast::RandomGeneratorBase +
  • serializationBufferSize() +: Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder >
  • serializationRequiredStorage() : Nv::Blast::Actor
  • serialize() : Nv::Blast::Actor -, Nv::Blast::TkSerializable -, Nv::Blast::ExtPxAsset -, Nv::Blast::final -
  • serializeHeader() -: Nv::Blast::TkFrameworkImpl +
  • serializeIntoBuffer() +: Nv::Blast::ExtSerialization +, Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder > +, Nv::Blast::ExtSerializer
  • serializeIntoBuilder() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > -
  • serializeIntoExistingBuffer() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > +: Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder >
  • serializeIntoMessage() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > -
  • serializeIntoNewBuffer() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > +: Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder >
  • serializeIntoStream() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > +: Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder >
  • set() : Nv::Blast::FixedBitmap , Nv::Blast::FixedBoolArray , Nv::Blast::TkFrameworkImpl
  • setActorCountLimit() -: Nv::Blast::final -, Nv::Blast::ExtPxManager +: Nv::Blast::ExtPxManager +, Nv::Blast::final
  • setActors() : Nv::Blast::TkJointImpl +
  • setAllNodesInfoFromLL() +: Nv::Blast::ExtStressSolver
  • setAsset() : Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder
  • setAssetLL() : Nv::Blast::Serialization::TkAsset::TkAsset::Builder
  • setBaseMesh() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGenerator +, Nv::Blast::VoronoiSitesGeneratorImpl
  • setBondCount() : Nv::Blast::Serialization::Asset::Asset::Builder +
  • setBufferProvider() +: Nv::Blast::ExtSerialization
  • setCentroid() : Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder
  • setChunkCount() @@ -146,12 +150,12 @@ Here is a list of all class members with links to the classes they belong to:
  • setChunkIndices() : Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder
  • setChunks() -: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder -, Nv::Blast::Serialization::Asset::Asset::Builder +: Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder
  • setConvexMesh() : Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder
  • setCount() -: Nv::Blast::TaskSync +: Nv::Blast::ExtTaskSync
  • setCreateJointFunction() : Nv::Blast::ExtPxManager , Nv::Blast::final @@ -169,11 +173,14 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder
  • setGraph() : Nv::Blast::Serialization::Asset::Asset::Builder +
  • setGroup() +: Nv::Blast::ExtGroupTaskManager +, Nv::Blast::ExtGroupTaskManagerImpl
  • setHeader() : Nv::Blast::Serialization::Asset::Asset::Builder
  • setID() -: Nv::Blast::Serialization::Asset::Asset::Builder -, Nv::Blast::TkIdentifiable +: Nv::Blast::TkIdentifiable +, Nv::Blast::Serialization::Asset::Asset::Builder
  • setIsStatic() : Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder
  • setJointDescs() @@ -181,19 +188,28 @@ Here is a list of all class members with links to the classes they belong to:
  • setLeafChunkCount() : Nv::Blast::Serialization::Asset::Asset::Builder
  • setMaterial() -: Nv::Blast::TkFamily -, Nv::Blast::ExtPxFamily +: Nv::Blast::ExtPxFamily , Nv::Blast::final +, Nv::Blast::TkFamily +
  • setMaterialId() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl +
  • setMesh() +: Nv::Blast::MeshNoiser
  • setMeshFlags() : Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder
  • setNodeCount() : Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder
  • setNodeIndices() : Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder +
  • setNodeInfo() +: Nv::Blast::ExtStressSolver
  • setNormal() : Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder
  • setP() : Nv::Blast::Serialization::PxTransform::PxTransform::Builder +
  • setPlatformEnabled() +: Nv::Blast::ExtCustomProfiler
  • setPxActorDesc() : Nv::Blast::ExtPxFamily , Nv::Blast::final @@ -203,39 +219,53 @@ Here is a list of all class members with links to the classes they belong to:
  • setQ() : Nv::Blast::Serialization::PxTransform::PxTransform::Builder
  • setRemoveIslands() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • setRotation() : Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder
  • setScale() : Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder , Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder +
  • setSerializationEncoding() +: Nv::Blast::ExtSerialization
  • setSettings() -: Nv::Blast::ExtImpactDamageManager -, Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver +: Nv::Blast::ExtStressSolver +, Nv::Blast::ExtImpactDamageManager
  • setSize() : Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder +
  • setSmoothingGroup() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • setSourceMesh() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • setState() -: Nv::Blast::SpatialAccelerator -, Nv::Blast::DummyAccelerator -, Nv::Blast::BBoxBasedAccelerator -, Nv::Blast::IntersectionTestingAccelerator -, Nv::Blast::BBoxBasedAccelerator -, Nv::Blast::SpatialAccelerator +: Nv::Blast::IntersectionTestingAccelerator +, Nv::Blast::DummyAccelerator +, Nv::Blast::SpatialAccelerator +, Nv::Blast::DummyAccelerator +, Nv::Blast::BBoxBasedAccelerator +, Nv::Blast::IntersectionTestingAccelerator
  • setStencil() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGenerator +, Nv::Blast::VoronoiSitesGeneratorImpl
  • setSubchunkCount() : Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder
  • setTransform() : Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder
  • setType() : Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +
  • setUniformHealth() +: Nv::Blast::ExtPxAsset +, Nv::Blast::final +
  • setup() +: Nv::Blast::ExtGroupWorkerTask
  • setValue() : Nv::Blast::Serialization::UUID::UUID::Builder
  • setW() : Nv::Blast::Serialization::PxQuat::PxQuat::Builder +
  • setWorkerCount() +: Nv::Blast::TkGroup
  • setX() : Nv::Blast::Serialization::PxVec3::PxVec3::Builder , Nv::Blast::Serialization::PxQuat::PxQuat::Builder @@ -243,41 +273,46 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::Serialization::PxVec3::PxVec3::Builder , Nv::Blast::Serialization::PxQuat::PxQuat::Builder
  • setZ() -: Nv::Blast::Serialization::PxQuat::PxQuat::Builder -, Nv::Blast::Serialization::PxVec3::PxVec3::Builder +: Nv::Blast::Serialization::PxVec3::PxVec3::Builder +, Nv::Blast::Serialization::PxQuat::PxQuat::Builder
  • SharedBlock() : Nv::Blast::SharedBlock< T >
  • SharedBuffer() : Nv::Blast::SharedBuffer< T >
  • SharedMemory() : Nv::Blast::SharedMemory -
  • shear -: NvBlastExtShearDamageDesc +
  • shearDamage +: Nv::Blast::ExtImpactSettings
  • SimplexNoise() : Nv::Blast::SimplexNoise
  • simulationFilterData : Nv::Blast::ExtPxShapeDescTemplate -
  • singleChunkThreshold -: NvBlastExtMaterial -
  • size() -: Nv::Blast::FixedArray< T > -, NvBlastDataBlock +
  • size +: NvBlastDataBlock +, Nv::Blast::FixedArray< T > , Nv::Blast::FixedPriorityQueue< Element, Comparator > +
  • skipObject() +: Nv::Blast::ExtSerialization
  • slicing() -: Nv::Blast::FractureTool -
  • SlicingConfiguration() -: Nv::Blast::SlicingConfiguration +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl +
  • smoothingGroup +: Nv::Blast::Triangle +, Nv::Blast::Facet +, Nv::Blast::TriangleIndexed
  • sortToCCW() : Nv::Blast::TriangleProcessor
  • spawn() : Nv::Blast::final , Nv::Blast::ExtPxFamily -
  • Split -: Nv::Blast::TkEvent
  • split() : Nv::Blast::Actor +
  • Split +: Nv::Blast::TkEvent
  • splitRequiredScratch() : Nv::Blast::Actor +
  • startProcess() +: Nv::Blast::TkGroup
  • STRESS_GRAPH : Nv::Blast::ExtStressSolver
  • STRESS_GRAPH_BONDS_IMPULSES @@ -289,14 +324,21 @@ Here is a list of all class members with links to the classes they belong to:
  • stressLinearFactor : Nv::Blast::ExtStressSolverSettings
  • subchunkCount -: Nv::Blast::ExtPxChunk -, Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc +: Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc +, Nv::Blast::ExtPxChunk
  • subchunks : Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc
  • subgraphShaderFunction : NvBlastDamageProgram +
  • submeshCount +: Nv::Blast::ExporterMeshData +
  • submeshNames +: Nv::Blast::ExporterMeshData +
  • submeshOffsets +: Nv::Blast::ExporterMeshData
  • subscribe() -: Nv::Blast::ExtPxFamily +: Nv::Blast::final +, Nv::Blast::ExtPxFamily , Nv::Blast::final , Nv::Blast::ExtPxManager
  • subtype @@ -307,12 +349,12 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::Asset::Asset::ChunkAnnotation
  • Support : Nv::Blast::Asset::Asset::ChunkAnnotation +
  • supportChunkHealths +: NvBlastGraphShaderActor
  • SupportFlag : NvBlastChunkDesc
  • surfaceResolution : Nv::Blast::SlicingConfiguration -
  • sync() -: Nv::Blast::TkGroup
  • syncFamily() : Nv::Blast::ExtSync diff --git a/docs/source_docs/files/functions_0x74.html b/docs/source_docs/files/functions_0x74.html index 2382be4..ac991ec 100644 --- a/docs/source_docs/files/functions_0x74.html +++ b/docs/source_docs/files/functions_0x74.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -85,17 +85,17 @@ Here is a list of all class members with links to the classes they belong to:

    - t -

    diff --git a/docs/source_docs/files/functions_0x75.html b/docs/source_docs/files/functions_0x75.html index 7ff6753..08f395c 100644 --- a/docs/source_docs/files/functions_0x75.html +++ b/docs/source_docs/files/functions_0x75.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -90,20 +90,24 @@ Here is a list of all class members with links to the classes they belong to:
  • uniformInitialLowerSupportChunkHealth : NvBlastActorDesc
  • uniformlyGenerateSitesInMesh() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGeneratorImpl +, Nv::Blast::VoronoiSitesGenerator
  • Unreferenced : Nv::Blast::TkJointUpdateEvent
  • unregisterActor() : Nv::Blast::final
  • unregisterFamily() : Nv::Blast::final +
  • unregisterSerializer() +: Nv::Blast::ExtSerializationInternal
  • unsubscribe() -: Nv::Blast::ExtPxManager +: Nv::Blast::ExtPxFamily +, Nv::Blast::ExtPxManager , Nv::Blast::final -, Nv::Blast::ExtPxFamily
  • update() -: Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver +: Nv::Blast::ExtPxStressSolver +, Nv::Blast::final +, Nv::Blast::ExtStressSolver
  • updateJoint() : Nv::Blast::final
  • updateVisibleChunksFromGraphNodes() @@ -113,29 +117,32 @@ Here is a list of all class members with links to the classes they belong to:
  • UpperSupport : Nv::Blast::Asset::Asset::ChunkAnnotation
  • userData -: Nv::Blast::Facet -, NvBlastChunkDesc -
  • userdata -: NvBlastBondFractureData -
  • userData -: Nv::Blast::ExtPxAsset -, NvBlastChunk -, NvBlastBond +: NvBlastChunk +, Nv::Blast::TkActorData +, Nv::Blast::Triangle +, Nv::Blast::ExtPxAsset
  • userdata : NvBlastChunkFractureData
  • userData : Nv::Blast::TkObject -, Nv::Blast::TkActorData +, Nv::Blast::Facet +
  • userdata +: NvBlastBondFractureData +
  • userData +: NvBlastChunkDesc +, Nv::Blast::TriangleIndexed , Nv::Blast::ExtPxFamily -
  • userInfo -: Nv::Blast::Triangle -, Nv::Blast::TriangleIndexed +, NvBlastBond
  • userIntData -: Nv::Blast::TkSerializable +: Nv::Blast::TkIdentifiable
  • UUID() : Nv::Blast::Serialization::UUID
  • uv : Nv::Blast::Vertex +
  • uvs +: Nv::Blast::ExporterMeshData +
  • uvsCount +: Nv::Blast::ExporterMeshData diff --git a/docs/source_docs/files/functions_0x76.html b/docs/source_docs/files/functions_0x76.html index 7c07806..3a830fa 100644 --- a/docs/source_docs/files/functions_0x76.html +++ b/docs/source_docs/files/functions_0x76.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -89,13 +89,14 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::VSA::Vec4
  • valid() : Nv::Blast::FixedPriorityQueue< Element, Comparator > +
  • VELOCITY +: Nv::Blast::ExtForceMode
  • Version -: NvBlastAssetDataFormat -, NvBlastFamilyDataFormat -, Nv::Blast::final -, Nv::Blast::ActorSerializationFormat -
  • VersionConverterPtr -: Nv::Blast::BinaryBlockConverter +: Nv::Blast::ActorSerializationFormat +
  • VertexToFbx() +: FbxUtils +
  • view() +: Nv::Blast::ExtIStream
  • visibility : NvBlastTimers
  • VisibleChunkIt() @@ -104,9 +105,11 @@ Here is a list of all class members with links to the classes they belong to: : NvBlastChunk , NvBlastChunkDesc
  • voronoiFracturing() -: Nv::Blast::FractureTool -
  • VoronoiSitesGenerator() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::FractureToolImpl +, Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl +
  • VoronoiSitesGeneratorImpl() +: Nv::Blast::VoronoiSitesGeneratorImpl diff --git a/docs/source_docs/files/functions_0x77.html b/docs/source_docs/files/functions_0x77.html index 242ade5..bd9af50 100644 --- a/docs/source_docs/files/functions_0x77.html +++ b/docs/source_docs/files/functions_0x77.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -87,15 +87,24 @@ Here is a list of all class members with links to the classes they belong to:

    - w -

    diff --git a/docs/source_docs/files/functions_0x78.html b/docs/source_docs/files/functions_0x78.html index 62ac69b..259d569 100644 --- a/docs/source_docs/files/functions_0x78.html +++ b/docs/source_docs/files/functions_0x78.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -87,6 +87,13 @@ Here is a list of all class members with links to the classes they belong to:

    - x -

    diff --git a/docs/source_docs/files/functions_0x79.html b/docs/source_docs/files/functions_0x79.html index dfb6be7..5facb20 100644 --- a/docs/source_docs/files/functions_0x79.html +++ b/docs/source_docs/files/functions_0x79.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -87,6 +87,13 @@ Here is a list of all class members with links to the classes they belong to:

    - y -

    diff --git a/docs/source_docs/files/functions_0x7a.html b/docs/source_docs/files/functions_0x7a.html index 713de49..86f766f 100644 --- a/docs/source_docs/files/functions_0x7a.html +++ b/docs/source_docs/files/functions_0x7a.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -87,8 +87,19 @@ Here is a list of all class members with links to the classes they belong to:

    - z -

    diff --git a/docs/source_docs/files/functions_0x7e.html b/docs/source_docs/files/functions_0x7e.html index 35bdd6c..c2120ac 100644 --- a/docs/source_docs/files/functions_0x7e.html +++ b/docs/source_docs/files/functions_0x7e.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -85,14 +85,26 @@ Here is a list of all class members with links to the classes they belong to:

    - ~ -

    diff --git a/docs/source_docs/files/functions_enum.html b/docs/source_docs/files/functions_enum.html index ac32174..cccb806 100644 --- a/docs/source_docs/files/functions_enum.html +++ b/docs/source_docs/files/functions_enum.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Enumerations + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Enumerations @@ -62,20 +62,27 @@
  • Direction : Nv::Blast::DList::DList::It
  • EdgeFlag -: Nv::Blast::ChunkPostProcessor +: Nv::Blast::MeshNoiser
  • Enum : Nv::Blast::TkActorFlag , Nv::Blast::TkTypeIndex , Nv::Blast::Asset::Asset::ChunkAnnotation +, Nv::Blast::ErrorCode +, Nv::Blast::ExtForceMode +, Nv::Blast::TkObjectTypeID +, Nv::Blast::ExtSerialization::ExtSerialization::EncodingID +, Nv::Blast::ExtPxObjectTypeID +, Nv::Blast::LlObjectTypeID , Nv::Blast::ExtSyncEventType
  • FilterDataAttributes : Nv::Blast::ExtPxManager
  • Flags : NvBlastChunkDesc +, Nv::Blast::ExtIStream
  • InterfaceSearchMode : Nv::Blast::ApexImporter::ApexImporterConfig
  • Level -: NvBlastProfilerDetail +: Nv::Blast::ProfilerDetail
  • Subtype : Nv::Blast::TkJointUpdateEvent
  • Type @@ -83,10 +90,7 @@ , Nv::Blast::TkEvent , NvBlastDataBlock
  • Version -: Nv::Blast::final -, Nv::Blast::ActorSerializationFormat -, NvBlastFamilyDataFormat -, NvBlastAssetDataFormat +: Nv::Blast::ActorSerializationFormat diff --git a/docs/source_docs/files/functions_eval.html b/docs/source_docs/files/functions_eval.html index dc6447c..ce89071 100644 --- a/docs/source_docs/files/functions_eval.html +++ b/docs/source_docs/files/functions_eval.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Enumerator + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Enumerator @@ -68,6 +68,7 @@
  • s
  • t
  • u
  • +
  • v
  • w
  • @@ -77,7 +78,10 @@

    - a -

    - c -

    - d -

    - e -

    - f -

    - h -

    - i -

    - j -

    - p -

    - r -

    @@ -228,6 +256,10 @@
  • UpperSupport : Nv::Blast::Asset::Asset::ChunkAnnotation +

    - v -

    - w -

    • Warning : NvBlastMessage diff --git a/docs/source_docs/files/functions_func.html b/docs/source_docs/files/functions_func.html index 0a971e7..6797fb4 100644 --- a/docs/source_docs/files/functions_func.html +++ b/docs/source_docs/files/functions_func.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
    • u
    • v
    • w
    • +
    • z
    • ~
    @@ -81,21 +82,30 @@

    - a -

    @@ -80,48 +81,78 @@

    - b -

    diff --git a/docs/source_docs/files/functions_func_0x63.html b/docs/source_docs/files/functions_func_0x63.html index 6e2f4d2..33645e7 100644 --- a/docs/source_docs/files/functions_func_0x63.html +++ b/docs/source_docs/files/functions_func_0x63.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -83,62 +84,70 @@ : Nv::Blast::FamilyGraph
  • ChunkDepthFirstIt() : Nv::Blast::ChunkDepthFirstIt +
  • cleanMesh() +: Nv::Blast::MeshCleanerImpl +, Nv::Blast::MeshCleaner
  • clear() -: Nv::Blast::FixedBitmap -, Nv::Blast::FixedBoolArray -, Nv::Blast::FixedArray< T > -, Nv::Blast::FixedPriorityQueue< Element, Comparator > +: Nv::Blast::FixedPriorityQueue< Element, Comparator > , Nv::Blast::LocalBuffer< T > +, Nv::Blast::FixedArray< T > +, Nv::Blast::FixedBitmap +, Nv::Blast::FixedBoolArray
  • clearStencil() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGenerator +, Nv::Blast::VoronoiSitesGeneratorImpl
  • clone() : Nv::Blast::ExtSyncEvent , Nv::Blast::ExtSyncEventInstance< T, eventType >
  • clusteredSitesGeneration() -: Nv::Blast::VoronoiSitesGenerator -
  • convert() -: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1 -, Nv::Blast::BinaryBlockConverter::BinaryBlockConverter::VersionConverter -
  • convertBinaryBlock() -: Nv::Blast::BinaryBlockConverter -
  • ConvexMeshBuilder() -: Nv::Blast::ConvexMeshBuilder +: Nv::Blast::VoronoiSitesGenerator +, Nv::Blast::VoronoiSitesGeneratorImpl +
  • convertToTriangle() +: Nv::Blast::TriangleIndexed +
  • ConvexMeshBuilderImpl() +: Nv::Blast::ConvexMeshBuilderImpl
  • cooking() : Nv::Blast::ApexImporter::ApexDestruction
  • create() -: Nv::Blast::ExtImpactDamageManager +: Nv::Blast::TkActorImpl +, Nv::Blast::ExtImpactDamageManager , Nv::Blast::ExtPxAsset , Nv::Blast::ExtPxManager -, Nv::Blast::ExtStressSolver +, Nv::Blast::Asset +, Nv::Blast::ExtPxStressSolver +, Nv::Blast::ExtGroupTaskManager , Nv::Blast::ExtSync +, Nv::Blast::ExtStressSolver , Nv::Blast::Actor -, Nv::Blast::Asset -, Nv::Blast::TkActorImpl
  • createActor() -: Nv::Blast::TkFrameworkImpl -, Nv::Blast::TkFramework +: Nv::Blast::TkFramework +, Nv::Blast::TkFrameworkImpl
  • createAsset() -: Nv::Blast::TkFrameworkImpl -, Nv::Blast::TkFramework +: Nv::Blast::TkFramework , Nv::Blast::TkFrameworkImpl
  • createBondBetweenMeshes() -: Nv::Blast::BlastBondGenerator +: Nv::Blast::BlastBondGeneratorImpl +, Nv::Blast::BlastBondGenerator +, Nv::Blast::BlastBondGeneratorImpl +
  • createChunkMesh() +: Nv::Blast::FractureToolImpl +, Nv::Blast::FractureTool
  • createFamily() -: Nv::Blast::ExtPxManager -, Nv::Blast::final +: Nv::Blast::final +, Nv::Blast::ExtPxManager
  • createGroup() : Nv::Blast::TkFrameworkImpl , Nv::Blast::TkFramework
  • createJoint() : Nv::Blast::TkFrameworkImpl -, Nv::Blast::TkFramework -, Nv::Blast::final , Nv::Blast::ExtPxManager +, Nv::Blast::final +, Nv::Blast::TkFramework
  • createNewMesh() : Nv::Blast::BooleanEvaluator
  • createRequiredScratch() -: Nv::Blast::Actor -, Nv::Blast::Asset +: Nv::Blast::Asset +, Nv::Blast::Actor diff --git a/docs/source_docs/files/functions_func_0x64.html b/docs/source_docs/files/functions_func_0x64.html index 3372d45..d355354 100644 --- a/docs/source_docs/files/functions_func_0x64.html +++ b/docs/source_docs/files/functions_func_0x64.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -87,25 +88,27 @@
  • damageBond() : Nv::Blast::Actor
  • deallocate() -: Nv::Blast::ExtAllocator -, Nv::Blast::ExtAlignedAllocator< A > -, Nv::Blast::TkAllocator +: Nv::Blast::Allocator +, Nv::Blast::AllocatorCallback +
  • DebugLine() +: Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine
  • DefaultReleaser() : Nv::Blast::ApexImporter::DefaultReleaser< T >
  • deleteInSphere() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGenerator +, Nv::Blast::VoronoiSitesGeneratorImpl
  • DepthFirstIt() : Nv::Blast::Asset::Asset::DepthFirstIt
  • deserialize() -: Nv::Blast::ExtPxAsset -, Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > -, Nv::Blast::Actor -, Nv::Blast::TkFramework -, Nv::Blast::TkFrameworkImpl +: Nv::Blast::Actor +
  • deserializeFromBuffer() +: Nv::Blast::ExtSerialization +, Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder > +, Nv::Blast::ExtSerializer
  • deserializeFromStream() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > +: Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder >
  • deserializeFromStreamReader() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > +: Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder >
  • despawn() : Nv::Blast::ExtPxFamily , Nv::Blast::final @@ -115,7 +118,7 @@
  • destructibleModule() : Nv::Blast::ApexImporter::ApexDestruction
  • disownAsset() -: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder
  • disownAssetLL() : Nv::Blast::Serialization::TkAsset::TkAsset::Builder
  • disownConvexMesh() diff --git a/docs/source_docs/files/functions_func_0x65.html b/docs/source_docs/files/functions_func_0x65.html index bc730cf..cbc8cca 100644 --- a/docs/source_docs/files/functions_func_0x65.html +++ b/docs/source_docs/files/functions_func_0x65.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -89,25 +90,33 @@ : Nv::Blast::EdgeWithParent
  • empty() : Nv::Blast::FixedPriorityQueue< Element, Comparator > +
  • endProcess() +: Nv::Blast::TkGroup
  • ensureAssetExactSupportCoverage() : Nv::Blast::TkFramework , Nv::Blast::TkFrameworkImpl
  • ensureExactSupportCoverage() : Nv::Blast::Asset +
  • eof() +: Nv::Blast::ExtIStream
  • equal() : physx::shdfnd::Hash< NvBlastID >
  • eval4D() : Nv::Blast::SimplexNoise -
  • ExtAlignedAllocator() -: Nv::Blast::ExtAlignedAllocator< A > -
  • ExtAllocator() -: Nv::Blast::ExtAllocator +
  • ExtAtomicCounter() +: Nv::Blast::ExtAtomicCounter +
  • ExtCustomProfiler() +: Nv::Blast::ExtCustomProfiler +
  • ExtGroupTaskManagerImpl() +: Nv::Blast::ExtGroupTaskManagerImpl +
  • ExtGroupWorkerTask() +: Nv::Blast::ExtGroupWorkerTask
  • ExtImpactSettings() : Nv::Blast::ExtImpactSettings -
  • ExtImpulseStressSolver() -: Nv::Blast::ExtImpulseStressSolver
  • ExtInputStream() : Nv::Blast::ExtInputStream +
  • ExtIStream() +: Nv::Blast::ExtIStream
  • ExtKJPxInputStream() : Nv::Blast::ExtKJPxInputStream
  • ExtKJPxOutputStream() @@ -119,13 +128,15 @@
  • ExtPxAsset() : Nv::Blast::Serialization::ExtPxAsset
  • ExtPxAssetImpl() -: Nv::Blast::final +: Nv::Blast::final
  • ExtPxChunk() : Nv::Blast::Serialization::ExtPxChunk
  • ExtPxFamilyImpl() : Nv::Blast::final
  • ExtPxManagerImpl() : Nv::Blast::final +
  • ExtPxStressSolverImpl() +: Nv::Blast::final
  • ExtPxSubchunk() : Nv::Blast::Serialization::ExtPxSubchunk
  • ExtStressSolverSettings() @@ -134,6 +145,8 @@ : Nv::Blast::ExtSyncEvent
  • ExtSyncEventInstance() : Nv::Blast::ExtSyncEventInstance< T, eventType > +
  • ExtTaskSync() +: Nv::Blast::ExtTaskSync diff --git a/docs/source_docs/files/functions_func_0x66.html b/docs/source_docs/files/functions_func_0x66.html index 6e4864c..cfcab3f 100644 --- a/docs/source_docs/files/functions_func_0x66.html +++ b/docs/source_docs/files/functions_func_0x66.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -80,21 +81,31 @@

    - f -

    diff --git a/docs/source_docs/files/functions_func_0x67.html b/docs/source_docs/files/functions_func_0x67.html index 4203391..318114c 100644 --- a/docs/source_docs/files/functions_func_0x67.html +++ b/docs/source_docs/files/functions_func_0x67.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -83,18 +84,25 @@ : Nv::Blast::Actor , Nv::Blast::TkActor , Nv::Blast::TkActorImpl +
  • generateFractureCommands() +: Nv::Blast::ExtStressSolver +
  • generateFractureCommandsPerActor() +: Nv::Blast::ExtStressSolver
  • generateInSphere() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGeneratorImpl +, Nv::Blast::VoronoiSitesGenerator
  • get() : Nv::Blast::ApexImporter::ScopedResource< Releasable, Releaser > , Nv::Blast::TkFrameworkImpl
  • getActorBufferSize() : Nv::Blast::FamilyHeader +
  • getActorByIndex() +: Nv::Blast::FamilyHeader
  • getActorCount() -: Nv::Blast::ExtPxFamily +: Nv::Blast::TkGroup +, Nv::Blast::ExtPxFamily , Nv::Blast::final , Nv::Blast::TkFamily -, Nv::Blast::TkGroup
  • getActorCountLimit() : Nv::Blast::ExtPxManager , Nv::Blast::final @@ -119,21 +127,16 @@ : Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader
  • getAdjacentNodeIndices() : Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader -
  • getAllocatorCallback() -: Nv::Blast::TkFramework -, Nv::Blast::TkFrameworkImpl -
  • getAllocatorCallbackInternal() -: Nv::Blast::TkFrameworkImpl
  • getArea() : Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader
  • getAsset() -: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Pipeline +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Pipeline , Nv::Blast::Actor , Nv::Blast::TkActor , Nv::Blast::TkFamily , Nv::Blast::TkActorImpl -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader
  • getAssetLL() : Nv::Blast::Serialization::TkAsset::TkAsset::Reader , Nv::Blast::Serialization::TkAsset::TkAsset::Builder @@ -142,37 +145,53 @@
  • getAttachPositions() : Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Reader
  • getBaseMapping() -: Nv::Blast::ChunkPostProcessor +: Nv::Blast::Triangulator
  • getBaseMesh() -: Nv::Blast::FractureTool -, Nv::Blast::ChunkPostProcessor +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl +, Nv::Blast::Triangulator
  • getBaseMeshIndexed() -: Nv::Blast::ChunkPostProcessor +: Nv::Blast::Triangulator +
  • getBlastFBXAxisSystem() +: FbxUtils +
  • getBlastFBXUnit() +: FbxUtils
  • getBlock() : Nv::Blast::SharedBlock< T >
  • getBondCount() -: Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver -, Nv::Blast::Serialization::Asset::Asset::Reader +: Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::ExtStressSolver , Nv::Blast::Asset , Nv::Blast::TkAsset
  • getBondHealths() -: Nv::Blast::Actor +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +, Nv::Blast::Actor , Nv::Blast::TkActor , Nv::Blast::TkActorImpl +
  • getBondHealthsArray() +: Nv::Blast::final
  • getBonds() -: Nv::Blast::Serialization::Asset::Asset::Reader -, Nv::Blast::Actor +: Nv::Blast::Actor , Nv::Blast::TkAsset +, Nv::Blast::Serialization::Asset::Asset::Reader +
  • getBoneCount() +: Nv::Blast::IFbxFileReader +, Nv::Blast::FbxFileReader +
  • getBoneInfluences() +: Nv::Blast::IFbxFileReader +, Nv::Blast::FbxFileReader
  • getBoundingBox() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl +
  • getBoundingBoxWritable() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getBuffer() : Nv::Blast::ExtKJPxOutputStream
  • getBufferedBaseMeshes() -: Nv::Blast::FractureTool -
  • getBufferedNoiseMeshes() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • getCentroid() : Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader , Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder @@ -180,44 +199,59 @@
  • getChildIndexStop() : Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader
  • getChunkCount() -: Nv::Blast::ExtPxActor +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl +, Nv::Blast::ExtPxActor , Nv::Blast::ExtPxAsset , Nv::Blast::final , Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Serialization::Asset::Asset::Builder , Nv::Blast::TkAsset
  • getChunkDepth() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • getChunkId() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • getChunkIndex() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl +
  • getChunkIndexForNode() +: FbxUtils
  • getChunkIndices() : Nv::Blast::ExtPxActor , Nv::Blast::final , Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader , Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder -
  • getChunkList() -: Nv::Blast::FractureTool -
  • getChunkMesh() -: Nv::Blast::FractureTool +
  • getChunkInfo() +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl +
  • getChunkNodeName() +: FbxUtils
  • getChunks() : Nv::Blast::ExtPxAsset , Nv::Blast::final -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder , Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder , Nv::Blast::Actor , Nv::Blast::TkAsset
  • getChunksArray() -: Nv::Blast::final +: Nv::Blast::final
  • getChunksIdAtDepth() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • getChunkToGraphNodeMap() : Nv::Blast::Serialization::Asset::Asset::Reader +
  • getCollision() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader
  • getCollisionGeometry() -: Nv::Blast::ApexImporter::ApexImportTool +: Nv::Blast::ApexImporter::ApexImportTool +
  • getCollisionGeometryLayerName() +: FbxUtils
  • getContiguousLowerSupportIndex() : Nv::Blast::Asset
  • getConvexMesh() @@ -235,30 +269,44 @@ , Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder
  • getDataWritable() : Nv::Blast::TkJointImpl -
  • getDeserializeFn() -: Nv::Blast::TkTypeImpl +
  • getDefaultActorDesc() +: Nv::Blast::ExtPxAsset +, Nv::Blast::final +
  • getDescription() +: Nv::Blast::ExtSerializer
  • getDistance() : Nv::Blast::Separation
  • getEdges() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getEdgesCount() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl , Nv::Blast::FamilyGraph +
  • getEdgesWritable() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getElapsedTicks() : Nv::Blast::Time -
  • getErrorCallback() -: Nv::Blast::TkFramework -, Nv::Blast::TkFrameworkImpl -
  • getErrorCallbackInternal() -: Nv::Blast::TkFrameworkImpl +
  • getEncodingID() +: Nv::Blast::ExtSerializer
  • getEvent() : Nv::Blast::ExtSyncEvent
  • getFacet() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getFacetCount() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getFacetsBuffer() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl +
  • getFacetsBufferWritable() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl +
  • getFacetWritable() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getFamilies() : Nv::Blast::ExtPxManager , Nv::Blast::final @@ -271,8 +319,8 @@ : Nv::Blast::ExtPxManager , Nv::Blast::final
  • getFamilyFromTkFamily() -: Nv::Blast::final -, Nv::Blast::ExtPxManager +: Nv::Blast::ExtPxManager +, Nv::Blast::final
  • getFamilyGraph() : Nv::Blast::Actor
  • getFamilyHeader() @@ -300,7 +348,6 @@ , Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder
  • getFrameCount() : Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver
  • getFramework() : Nv::Blast::ExtPxManager , Nv::Blast::final @@ -308,6 +355,14 @@ : Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Reader , Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder , Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline +
  • getGetChunkActor() +: Nv::Blast::FamilyHeader +
  • getGetChunkActorIndex() +: Nv::Blast::FamilyHeader +
  • getGetNodeActor() +: Nv::Blast::FamilyHeader +
  • getGetNodeActorIndex() +: Nv::Blast::FamilyHeader
  • getGraph() : Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Serialization::Asset::Asset::Builder @@ -342,21 +397,26 @@ , Nv::Blast::Serialization::Asset::Asset::Pipeline , Nv::Blast::TkIdentifiable , Nv::Blast::TkTypeImpl +
  • getIdicesCount() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader
  • getIndex() : Nv::Blast::Actor , Nv::Blast::TkActor , Nv::Blast::TkActorImpl , Nv::Blast::TkTypeImpl +
  • getIndexArray() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader
  • getIndexInternal() : Nv::Blast::TkActorImpl
  • getIsStatic() : Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Reader , Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder -
  • getIterationCount() -: Nv::Blast::ExtImpulseStressSolver -, Nv::Blast::ExtStressSolver
  • getIterationsPerFrame() -: Nv::Blast::ExtStressSolver +: Nv::Blast::ExtStressSolver
  • getJointCount() : Nv::Blast::TkActor , Nv::Blast::TkActorImpl @@ -365,12 +425,12 @@
  • getJointDescCount() : Nv::Blast::TkAsset
  • getJointDescs() -: Nv::Blast::TkAsset -, Nv::Blast::Serialization::TkAsset::TkAsset::Reader +: Nv::Blast::Serialization::TkAsset::TkAsset::Reader , Nv::Blast::Serialization::TkAsset::TkAsset::Builder +, Nv::Blast::TkAsset
  • getJoints() -: Nv::Blast::TkActor -, Nv::Blast::TkActorImpl +: Nv::Blast::TkActorImpl +, Nv::Blast::TkActor
  • getLastTickCount() : Nv::Blast::Time
  • getLeafChunkCount() @@ -378,66 +438,86 @@ , Nv::Blast::Serialization::Asset::Asset::Builder , Nv::Blast::Actor , Nv::Blast::TkAsset -
  • getLogFn() -: Nv::Blast::TkFramework -, Nv::Blast::TkFrameworkImpl
  • getLowerSupportChunkCount() : Nv::Blast::Asset
  • getLowerSupportChunkHealths() : Nv::Blast::Actor
  • getMaterial() : Nv::Blast::TkFamily +
  • getMaterialCount() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader +
  • getMaterialIds() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader +
  • getMaterialName() +: Nv::Blast::ObjFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::IMeshFileReader
  • getMemorySize() : Nv::Blast::Asset +
  • getMesh() +: Nv::Blast::MeshNoiser
  • getMeshFlags() : Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader , Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder
  • getMeshOverlap() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • getMeshVolume() -: Nv::Blast::Mesh +: Nv::Blast::MeshImpl +, Nv::Blast::Mesh
  • getName() -: Nv::Blast::TkType -, Nv::Blast::TkWorker +: Nv::Blast::ExtGroupWorkerTask +, Nv::Blast::ExtSerializer , Nv::Blast::TkTypeImpl +, Nv::Blast::TkType
  • getNameInternal() : Nv::Blast::TkTypeImpl
  • getNext() : Nv::Blast::DLink
  • getNextFacet() : Nv::Blast::DummyAccelerator -, Nv::Blast::SpatialAccelerator , Nv::Blast::BBoxBasedAccelerator , Nv::Blast::IntersectionTestingAccelerator +, Nv::Blast::SpatialAccelerator
  • getNodeCount() -: Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder -, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader +: Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader +, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder
  • getNodeIndices() : Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Reader , Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder -
  • getNoisedMesh() -: Nv::Blast::FractureTool -
  • getNoisyMesh() -: Nv::Blast::ChunkPostProcessor
  • getNormal() -: Nv::Blast::Triangle -, Nv::Blast::TrPrcTriangle +: Nv::Blast::TrPrcTriangle , Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader , Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder +, Nv::Blast::Triangle +
  • getNormalizedDamage() +: NvBlastExtMaterial +
  • getNormalsArray() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader
  • getNot() : Nv::Blast::EdgeToTriangles
  • getObjectCount() : Nv::Blast::TkFramework , Nv::Blast::TkFrameworkImpl
  • getObjects() -: Nv::Blast::TkFrameworkImpl -, Nv::Blast::TkFramework +: Nv::Blast::TkFramework +, Nv::Blast::TkFrameworkImpl +
  • getObjectTypeID() +: Nv::Blast::ExtSerializer
  • getOpposite() : Nv::Blast::TriangleIndexed +
  • getOverstressedBondCount() +: Nv::Blast::ExtStressSolver
  • getP() : Nv::Blast::Serialization::PxTransform::PxTransform::Reader -, Nv::Blast::Serialization::PxTransform::PxTransform::Pipeline , Nv::Blast::Serialization::PxTransform::PxTransform::Builder +, Nv::Blast::Serialization::PxTransform::PxTransform::Pipeline
  • getParentChunkIndex() : Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader
  • getPayload() @@ -448,77 +528,95 @@
  • getPhysXActor() : Nv::Blast::final , Nv::Blast::ExtPxActor +
  • getPositionArray() +: Nv::Blast::ObjFileReader +, Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader
  • getPositionedMapping() -: Nv::Blast::ChunkPostProcessor +: Nv::Blast::Triangulator
  • getPrev() : Nv::Blast::DLink
  • getPxActorCount() -: Nv::Blast::final -, Nv::Blast::ExtPxManager +: Nv::Blast::ExtPxManager +, Nv::Blast::final
  • getPxActorDesc() -: Nv::Blast::ExtPxFamily -, Nv::Blast::final +: Nv::Blast::final +, Nv::Blast::ExtPxFamily
  • getPxAsset() -: Nv::Blast::ExtPxFamily -, Nv::Blast::final +: Nv::Blast::final +, Nv::Blast::ExtPxFamily
  • getPxShapeDescTemplate() -: Nv::Blast::ExtPxFamily -, Nv::Blast::final +: Nv::Blast::final +, Nv::Blast::ExtPxFamily
  • getQ() -: Nv::Blast::Serialization::PxTransform::PxTransform::Builder +: Nv::Blast::Serialization::PxTransform::PxTransform::Reader +, Nv::Blast::Serialization::PxTransform::PxTransform::Builder , Nv::Blast::Serialization::PxTransform::PxTransform::Pipeline -, Nv::Blast::Serialization::PxTransform::PxTransform::Reader
  • getRandomValue() : Nv::Blast::RandomGeneratorBase +
  • getRenderGeometryLayerName() +: FbxUtils
  • getRotation() : Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader , Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline , Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder
  • getScale() -: Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Pipeline -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader +: Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader , Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Pipeline +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder +
  • getScene() +: Nv::Blast::FbxFileWriter
  • getSegmentIntersection() : Nv::Blast::TriangleProcessor +
  • getSerializationEncoding() +: Nv::Blast::ExtSerialization
  • getSettings() -: Nv::Blast::ExtImpulseStressSolver -, Nv::Blast::ExtStressSolver +: Nv::Blast::ExtStressSolver
  • getSize() -: Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Reader -, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder +: Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder +, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Reader +
  • getSmoothingGroups() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader +
  • getSolver() +: Nv::Blast::ExtPxStressSolver +, Nv::Blast::final
  • getSplitMaxActorCount() : Nv::Blast::TkActorImpl , Nv::Blast::TkActor
  • getStats() : Nv::Blast::TkGroup
  • getStressErrorAngular() -: Nv::Blast::ExtImpulseStressSolver -, Nv::Blast::ExtStressSolver +: Nv::Blast::ExtStressSolver
  • getStressErrorLinear() : Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver
  • getSubchunkCount() : Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Reader +, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder , Nv::Blast::ExtPxAsset , Nv::Blast::final -, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder
  • getSubchunks() -: Nv::Blast::ExtPxAsset +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader , Nv::Blast::final -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +, Nv::Blast::ExtPxAsset
  • getSubchunksArray() -: Nv::Blast::final +: Nv::Blast::final
  • getSubchunkShapes() -: Nv::Blast::ExtPxFamily -, Nv::Blast::final +: Nv::Blast::final +, Nv::Blast::ExtPxFamily
  • getSubsupportChunkHealths() : Nv::Blast::Actor , Nv::Blast::FamilyHeader
  • getSubtreeLeafChunkCounts() : Nv::Blast::Serialization::Asset::Asset::Reader +
  • getSupportChunkHealths() +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +
  • getSupportChunkHealthsArray() +: Nv::Blast::final
  • getSyncBufferSize() : Nv::Blast::ExtSync
  • getTail() @@ -527,83 +625,97 @@ : Nv::Blast::final , Nv::Blast::ExtPxActor
  • getTkAsset() -: Nv::Blast::ExtPxAsset -, Nv::Blast::final +: Nv::Blast::final +, Nv::Blast::ExtPxAsset
  • getTkFamily() : Nv::Blast::final , Nv::Blast::ExtPxFamily
  • getTransform() -: Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline -, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Reader +: Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Reader +, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline , Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder
  • getTransformation() -: Nv::Blast::FractureTool +: Nv::Blast::FractureToolImpl +, Nv::Blast::FractureTool
  • getTriangleIntersection() : Nv::Blast::TriangleProcessor
  • getType() -: Nv::Blast::TkIdentifiable +: Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader , Nv::Blast::TkFramework -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder , Nv::Blast::TkFrameworkImpl -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader +, Nv::Blast::TkIdentifiable +
  • getUniformInitialBondHealth() +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +
  • getUniformInitialLowerSupportChunkHealth() +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader
  • getUpperSupportChunkCount() : Nv::Blast::Asset
  • getUserData() -: Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader -, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader +: Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader +, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader +
  • getUvArray() +: Nv::Blast::FbxFileReader +, Nv::Blast::IMeshFileReader +, Nv::Blast::ObjFileReader
  • getValue() -: Nv::Blast::Serialization::UUID::UUID::Reader -, Nv::Blast::Serialization::UUID::UUID::Builder +: Nv::Blast::Serialization::UUID::UUID::Builder +, Nv::Blast::Serialization::UUID::UUID::Reader
  • getVersion() -: Nv::Blast::TkTypeImpl -, Nv::Blast::TkType -
  • getVersionFrom() -: Nv::Blast::BinaryBlockConverter::BinaryBlockConverter::VersionConverter -, Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1 +: Nv::Blast::TkType +, Nv::Blast::TkTypeImpl
  • getVersionInternal() : Nv::Blast::TkTypeImpl -
  • getVersionTo() -: Nv::Blast::BinaryBlockConverter::BinaryBlockConverter::VersionConverter -, Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1
  • getVertices() -: Nv::Blast::Mesh +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • getVerticesCount() -: Nv::Blast::Mesh +: Nv::Blast::IMeshFileReader +, Nv::Blast::MeshImpl +, Nv::Blast::Mesh +, Nv::Blast::ObjFileReader +, Nv::Blast::FbxFileReader +
  • getVerticesWritable() +: Nv::Blast::MeshImpl +, Nv::Blast::Mesh
  • getVisibleChunkCount() : Nv::Blast::TkActorImpl , Nv::Blast::TkActor , Nv::Blast::Actor
  • getVisibleChunkIndices() -: Nv::Blast::TkActorImpl -, Nv::Blast::TkActor +: Nv::Blast::TkActor +, Nv::Blast::TkActorImpl
  • getVolume() : Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Reader
  • getVoronoiSites() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGeneratorImpl +, Nv::Blast::VoronoiSitesGenerator
  • getW() : Nv::Blast::Serialization::PxQuat::PxQuat::Builder , Nv::Blast::Serialization::PxQuat::PxQuat::Reader
  • getWeldedVerticesCount() -: Nv::Blast::ChunkPostProcessor +: Nv::Blast::Triangulator
  • getWordsCount() : Nv::Blast::FixedBitmap +
  • getWorkerCount() +: Nv::Blast::TkGroup
  • getWrittenBytes() : Nv::Blast::ExtKJPxOutputStream
  • getX() -: Nv::Blast::Serialization::PxQuat::PxQuat::Reader -, Nv::Blast::Serialization::PxVec3::PxVec3::Reader +: Nv::Blast::Serialization::PxVec3::PxVec3::Reader +, Nv::Blast::Serialization::PxQuat::PxQuat::Reader , Nv::Blast::Serialization::PxVec3::PxVec3::Builder , Nv::Blast::Serialization::PxQuat::PxQuat::Builder
  • getY() -: Nv::Blast::Serialization::PxVec3::PxVec3::Builder +: Nv::Blast::Serialization::PxQuat::PxQuat::Builder +, Nv::Blast::Serialization::PxVec3::PxVec3::Builder , Nv::Blast::Serialization::PxVec3::PxVec3::Reader , Nv::Blast::Serialization::PxQuat::PxQuat::Reader -, Nv::Blast::Serialization::PxQuat::PxQuat::Builder
  • getZ() -: Nv::Blast::Serialization::PxVec3::PxVec3::Reader -, Nv::Blast::Serialization::PxQuat::PxQuat::Builder -, Nv::Blast::Serialization::PxVec3::PxVec3::Builder +: Nv::Blast::Serialization::PxVec3::PxVec3::Builder , Nv::Blast::Serialization::PxQuat::PxQuat::Reader +, Nv::Blast::Serialization::PxQuat::PxQuat::Builder +, Nv::Blast::Serialization::PxVec3::PxVec3::Reader
  • GraphNodeIt() : Nv::Blast::Actor::Actor::GraphNodeIt diff --git a/docs/source_docs/files/functions_func_0x68.html b/docs/source_docs/files/functions_func_0x68.html index bfe7255..0601bb2 100644 --- a/docs/source_docs/files/functions_func_0x68.html +++ b/docs/source_docs/files/functions_func_0x68.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -93,6 +94,8 @@ , Nv::Blast::Serialization::TkAsset::TkAsset::Builder
  • hasAttachPositions() : Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Reader +
  • hasBondHealths() +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader
  • hasBonds() : Nv::Blast::Serialization::Asset::Asset::Reader
  • hasCentroid() @@ -103,10 +106,10 @@ : Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Reader , Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder
  • hasChunks() -: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder -, Nv::Blast::Serialization::Asset::Asset::Reader +: Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Serialization::Asset::Asset::Builder , Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder
  • hasChunkToGraphNodeMap() : Nv::Blast::Serialization::Asset::Asset::Reader
  • hasConvexMesh() @@ -124,8 +127,8 @@ : Nv::Blast::Serialization::Asset::Asset::Reader , Nv::Blast::Serialization::Asset::Asset::Builder
  • hasID() -: Nv::Blast::Serialization::Asset::Asset::Reader -, Nv::Blast::Serialization::Asset::Asset::Builder +: Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::Asset::Asset::Reader
  • hasJointDescs() : Nv::Blast::Serialization::TkAsset::TkAsset::Reader , Nv::Blast::Serialization::TkAsset::TkAsset::Builder @@ -133,8 +136,8 @@ : Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Reader , Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder
  • hasNormal() -: Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder -, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader +: Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader +, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder
  • hasP() : Nv::Blast::Serialization::PxTransform::PxTransform::Reader , Nv::Blast::Serialization::PxTransform::PxTransform::Builder @@ -142,23 +145,25 @@ : Nv::Blast::Serialization::PxTransform::PxTransform::Reader , Nv::Blast::Serialization::PxTransform::PxTransform::Builder
  • hasRotation() -: Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader +: Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder
  • hasScale() -: Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader +: Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder , Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Reader -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Reader
  • hasSubchunks() : Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader
  • hasSubtreeLeafChunkCounts() : Nv::Blast::Serialization::Asset::Asset::Reader +
  • hasSupportChunkHealths() +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Reader
  • hasTransform() -: Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Reader -, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder +: Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder +, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Reader
  • hasValue() -: Nv::Blast::Serialization::UUID::UUID::Reader -, Nv::Blast::Serialization::UUID::UUID::Builder +: Nv::Blast::Serialization::UUID::UUID::Builder +, Nv::Blast::Serialization::UUID::UUID::Reader diff --git a/docs/source_docs/files/functions_func_0x69.html b/docs/source_docs/files/functions_func_0x69.html index ee7e278..6e45aee 100644 --- a/docs/source_docs/files/functions_func_0x69.html +++ b/docs/source_docs/files/functions_func_0x69.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -83,10 +84,8 @@ : Nv::Blast::ApexImporter::ApexImportTool
  • indexIsValid() : Nv::Blast::TkTypeImpl -
  • init() -: Nv::Blast::TkAtomicQueue< T >
  • initAsset() -: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder +: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder
  • initAssetLL() : Nv::Blast::Serialization::TkAsset::TkAsset::Builder
  • initCentroid() @@ -94,8 +93,8 @@
  • initChunkIndices() : Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder
  • initChunks() -: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder -, Nv::Blast::Serialization::Asset::Asset::Builder +: Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder
  • initConvexMesh() : Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder
  • initGeometry() @@ -105,10 +104,10 @@
  • initHeader() : Nv::Blast::Serialization::Asset::Asset::Builder
  • initialize() -: Nv::Blast::ApexImporter::ApexImportTool -, Nv::Blast::ApexImporter::ApexDestruction +: Nv::Blast::ApexImporter::ApexDestruction , Nv::Blast::FamilyGraph , Nv::Blast::LocalBuffer< T > +, Nv::Blast::final , Nv::Blast::ApexImporter::ApexImportTool
  • initID() : Nv::Blast::Serialization::Asset::Asset::Builder @@ -142,42 +141,60 @@
  • insertTail() : Nv::Blast::DList
  • IntersectionTestingAccelerator() -: Nv::Blast::IntersectionTestingAccelerator +: Nv::Blast::IntersectionTestingAccelerator
  • isActive() : Nv::Blast::Actor , Nv::Blast::TkActorImpl
  • isActorActive() : Nv::Blast::FamilyHeader +
  • isBoundToWorld() +: Nv::Blast::Actor +, Nv::Blast::TkActor +, Nv::Blast::TkActorImpl +
  • isCollisionLoaded() +: Nv::Blast::IMeshFileReader +, Nv::Blast::FbxFileReader +, Nv::Blast::ObjFileReader
  • isContainEdge() : Nv::Blast::TriangleIndexed
  • isDone() -: Nv::Blast::TaskSync +: Nv::Blast::ExtTaskSync
  • isEmpty() : Nv::Blast::DList
  • islandDetectionAndRemoving() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl +
  • isMeshContainOpenEdges() +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • isPending() -: Nv::Blast::TkActorImpl -, Nv::Blast::TkActor +: Nv::Blast::TkActor +, Nv::Blast::TkActorImpl
  • isPointContainedInMesh() -: Nv::Blast::BooleanEvaluator +: Nv::Blast::BooleanEvaluator
  • isPointInside() : Nv::Blast::TriangleProcessor
  • isPxUserDataUsed() : Nv::Blast::final , Nv::Blast::ExtPxManager +
  • isReadOnly() +: Nv::Blast::ExtSerializer
  • isSingleSupportChunk() : Nv::Blast::Actor
  • isSolitary() : Nv::Blast::IndexDList< IndexType > , Nv::Blast::DList +
  • isSplitRequired() +: Nv::Blast::Actor
  • isSubSupportChunk() : Nv::Blast::Actor
  • isUsed() : Nv::Blast::SharedMemory
  • isValid() -: Nv::Blast::ApexImporter::ApexDestruction -, Nv::Blast::Mesh +: Nv::Blast::ExtAtomicCounter +, Nv::Blast::MeshImpl +, Nv::Blast::ApexImporter::ApexDestruction +, Nv::Blast::Mesh , Nv::Blast::ApexImporter::ApexImportTool
  • It() : Nv::Blast::DList::DList::It diff --git a/docs/source_docs/files/functions_func_0x6a.html b/docs/source_docs/files/functions_func_0x6a.html index c136a0e..9077ad9 100644 --- a/docs/source_docs/files/functions_func_0x6a.html +++ b/docs/source_docs/files/functions_func_0x6a.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -81,6 +82,8 @@

    - j -

    diff --git a/docs/source_docs/files/functions_func_0x6c.html b/docs/source_docs/files/functions_func_0x6c.html index c4d3edd..a0acdf8 100644 --- a/docs/source_docs/files/functions_func_0x6c.html +++ b/docs/source_docs/files/functions_func_0x6c.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -79,14 +80,18 @@  

    - l -

    diff --git a/docs/source_docs/files/functions_func_0x6d.html b/docs/source_docs/files/functions_func_0x6d.html index c3234f1..fa25b00 100644 --- a/docs/source_docs/files/functions_func_0x6d.html +++ b/docs/source_docs/files/functions_func_0x6d.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -79,8 +80,10 @@  

    - m -

    diff --git a/docs/source_docs/files/functions_func_0x6e.html b/docs/source_docs/files/functions_func_0x6e.html index f563d5f..9463e5f 100644 --- a/docs/source_docs/files/functions_func_0x6e.html +++ b/docs/source_docs/files/functions_func_0x6e.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -80,47 +81,49 @@

    - n -

    diff --git a/docs/source_docs/files/functions_func_0x6f.html b/docs/source_docs/files/functions_func_0x6f.html index 7b08896..d2c89f8 100644 --- a/docs/source_docs/files/functions_func_0x6f.html +++ b/docs/source_docs/files/functions_func_0x6f.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -79,12 +80,16 @@  

    - o -

    diff --git a/docs/source_docs/files/functions_func_0x70.html b/docs/source_docs/files/functions_func_0x70.html index 2436daf..0ad652d 100644 --- a/docs/source_docs/files/functions_func_0x70.html +++ b/docs/source_docs/files/functions_func_0x70.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -87,45 +88,40 @@ : Nv::Blast::Actor
  • peekElapsedTicks() : Nv::Blast::Time +
  • peekHeader() +: Nv::Blast::ExtSerialization
  • performBoolean() -: Nv::Blast::BooleanEvaluator +: Nv::Blast::BooleanEvaluator
  • performFastCutting() -: Nv::Blast::BooleanEvaluator +: Nv::Blast::BooleanEvaluator
  • PerlinNoise() : Nv::Blast::PerlinNoise
  • physxSDK() : Nv::Blast::ApexImporter::ApexDestruction
  • Pipeline() -: Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Pipeline -, Nv::Blast::Serialization::Asset::Asset::Pipeline -, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Pipeline -, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline -, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Pipeline -, Nv::Blast::Serialization::UUID::UUID::Pipeline -, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Pipeline -, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline -, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Pipeline +: Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Pipeline +, Nv::Blast::Serialization::PxQuat::PxQuat::Pipeline , Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Pipeline +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline , Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Pipeline -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Pipeline +, Nv::Blast::Serialization::PxTransform::PxTransform::Pipeline , Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Pipeline -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Pipeline +, Nv::Blast::Serialization::TkAsset::TkAsset::Pipeline +, Nv::Blast::Serialization::PxVec3::PxVec3::Pipeline +, Nv::Blast::Serialization::TkAsset::TkAsset::Pipeline +, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Pipeline +, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Pipeline , Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Pipeline , Nv::Blast::Serialization::UUID::UUID::Pipeline , Nv::Blast::Serialization::Asset::Asset::Pipeline -, Nv::Blast::Serialization::PxTransform::PxTransform::Pipeline -, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Pipeline -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline -, Nv::Blast::Serialization::PxQuat::PxQuat::Pipeline -, Nv::Blast::Serialization::TkAsset::TkAsset::Pipeline -, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Pipeline -, Nv::Blast::Serialization::PxVec3::PxVec3::Pipeline -, Nv::Blast::Serialization::TkAsset::TkAsset::Pipeline -, Nv::Blast::Serialization::PxVec3::PxVec3::Pipeline -, Nv::Blast::Serialization::PxQuat::PxQuat::Pipeline , Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Pipeline -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Pipeline +, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Pipeline +, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline +, Nv::Blast::Serialization::Asset::Asset::Pipeline , Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Pipeline +, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Pipeline +, Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Pipeline +, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Pipeline
  • PlaneChunkIndexer() : Nv::Blast::PlaneChunkIndexer
  • pop() @@ -136,7 +132,11 @@ : Nv::Blast::ExtPxFamily , Nv::Blast::final
  • process() -: Nv::Blast::TkGroup +: Nv::Blast::TkGroupWorker +, Nv::Blast::TkGroup +, Nv::Blast::ExtGroupTaskManager +, Nv::Blast::final +, Nv::Blast::ExtGroupTaskManagerImpl
  • protect() : Nv::Blast::TkEventQueue
  • push() @@ -151,8 +151,12 @@ : Nv::Blast::Serialization::PxQuat
  • PxTransform() : Nv::Blast::Serialization::PxTransform +
  • PxVec2ToFbx() +: FbxUtils
  • PxVec3() : Nv::Blast::Serialization::PxVec3 +
  • PxVec3ToFbx() +: FbxUtils diff --git a/docs/source_docs/files/functions_func_0x72.html b/docs/source_docs/files/functions_func_0x72.html index fdf287b..4c4d9eb 100644 --- a/docs/source_docs/files/functions_func_0x72.html +++ b/docs/source_docs/files/functions_func_0x72.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -80,44 +81,47 @@

    - r -

    diff --git a/docs/source_docs/files/functions_func_0x73.html b/docs/source_docs/files/functions_func_0x73.html index 9038af4..3740c0b 100644 --- a/docs/source_docs/files/functions_func_0x73.html +++ b/docs/source_docs/files/functions_func_0x73.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -84,31 +85,32 @@ , Nv::Blast::SimplexNoise
  • saveAsset() : Nv::Blast::ApexImporter::ApexImportTool +
  • saveToFile() +: Nv::Blast::IMeshFileWriter +, Nv::Blast::FbxFileWriter +, Nv::Blast::ObjFileWriter
  • ScopedResource() -: Nv::Blast::ApexImporter::ScopedResource< Releasable, Releaser > +: Nv::Blast::ApexImporter::ScopedResource< Releasable, Releaser >
  • seconds() : Nv::Blast::Time
  • seed() : Nv::Blast::RandomGeneratorBase +
  • serializationBufferSize() +: Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder >
  • serializationRequiredStorage() : Nv::Blast::Actor
  • serialize() -: Nv::Blast::ExtPxAsset -, Nv::Blast::final -, Nv::Blast::Actor -, Nv::Blast::TkSerializable -
  • serializeHeader() -: Nv::Blast::TkFrameworkImpl +: Nv::Blast::Actor +
  • serializeIntoBuffer() +: Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder > +, Nv::Blast::ExtSerializer +, Nv::Blast::ExtSerialization
  • serializeIntoBuilder() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > -
  • serializeIntoExistingBuffer() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > +: Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder >
  • serializeIntoMessage() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > -
  • serializeIntoNewBuffer() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > +: Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder >
  • serializeIntoStream() -: Nv::Blast::ExtSerialization< TAsset, TSerializationReader, TSerializationBuilder > +: Nv::Blast::ExtSerializationCAPN< TObject, TSerializationReader, TSerializationBuilder >
  • set() : Nv::Blast::FixedBitmap , Nv::Blast::FixedBoolArray @@ -118,14 +120,19 @@ , Nv::Blast::final
  • setActors() : Nv::Blast::TkJointImpl +
  • setAllNodesInfoFromLL() +: Nv::Blast::ExtStressSolver
  • setAsset() : Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder
  • setAssetLL() : Nv::Blast::Serialization::TkAsset::TkAsset::Builder
  • setBaseMesh() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGenerator +, Nv::Blast::VoronoiSitesGeneratorImpl
  • setBondCount() : Nv::Blast::Serialization::Asset::Asset::Builder +
  • setBufferProvider() +: Nv::Blast::ExtSerialization
  • setCentroid() : Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder
  • setChunkCount() @@ -133,12 +140,12 @@
  • setChunkIndices() : Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder
  • setChunks() -: Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder -, Nv::Blast::Serialization::Asset::Asset::Builder +: Nv::Blast::Serialization::Asset::Asset::Builder +, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder
  • setConvexMesh() : Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder
  • setCount() -: Nv::Blast::TaskSync +: Nv::Blast::ExtTaskSync
  • setCreateJointFunction() : Nv::Blast::ExtPxManager , Nv::Blast::final @@ -156,6 +163,9 @@ : Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder
  • setGraph() : Nv::Blast::Serialization::Asset::Asset::Builder +
  • setGroup() +: Nv::Blast::ExtGroupTaskManager +, Nv::Blast::ExtGroupTaskManagerImpl
  • setHeader() : Nv::Blast::Serialization::Asset::Asset::Builder
  • setID() @@ -171,16 +181,25 @@ : Nv::Blast::ExtPxFamily , Nv::Blast::final , Nv::Blast::TkFamily +
  • setMaterialId() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl +
  • setMesh() +: Nv::Blast::MeshNoiser
  • setMeshFlags() : Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder
  • setNodeCount() : Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder
  • setNodeIndices() -: Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder +: Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder +
  • setNodeInfo() +: Nv::Blast::ExtStressSolver
  • setNormal() : Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder
  • setP() : Nv::Blast::Serialization::PxTransform::PxTransform::Builder +
  • setPlatformEnabled() +: Nv::Blast::ExtCustomProfiler
  • setPxActorDesc() : Nv::Blast::ExtPxFamily , Nv::Blast::final @@ -190,45 +209,60 @@
  • setQ() : Nv::Blast::Serialization::PxTransform::PxTransform::Builder
  • setRemoveIslands() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • setRotation() : Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder
  • setScale() -: Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +: Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder +
  • setSerializationEncoding() +: Nv::Blast::ExtSerialization
  • setSettings() -: Nv::Blast::ExtImpactDamageManager -, Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpulseStressSolver +: Nv::Blast::ExtStressSolver +, Nv::Blast::ExtImpactDamageManager
  • setSize() : Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder +
  • setSmoothingGroup() +: Nv::Blast::Mesh +, Nv::Blast::MeshImpl
  • setSourceMesh() -: Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::FractureToolImpl
  • setState() -: Nv::Blast::DummyAccelerator -, Nv::Blast::BBoxBasedAccelerator -, Nv::Blast::SpatialAccelerator -, Nv::Blast::DummyAccelerator -, Nv::Blast::BBoxBasedAccelerator -, Nv::Blast::IntersectionTestingAccelerator +: Nv::Blast::BBoxBasedAccelerator +, Nv::Blast::SpatialAccelerator +, Nv::Blast::DummyAccelerator +, Nv::Blast::IntersectionTestingAccelerator +, Nv::Blast::DummyAccelerator +, Nv::Blast::SpatialAccelerator +, Nv::Blast::IntersectionTestingAccelerator
  • setStencil() -: Nv::Blast::VoronoiSitesGenerator +: Nv::Blast::VoronoiSitesGeneratorImpl +, Nv::Blast::VoronoiSitesGenerator
  • setSubchunkCount() : Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder
  • setTransform() : Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder
  • setType() : Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder +
  • setUniformHealth() +: Nv::Blast::ExtPxAsset +, Nv::Blast::final +
  • setup() +: Nv::Blast::ExtGroupWorkerTask
  • setValue() : Nv::Blast::Serialization::UUID::UUID::Builder
  • setW() : Nv::Blast::Serialization::PxQuat::PxQuat::Builder +
  • setWorkerCount() +: Nv::Blast::TkGroup
  • setX() -: Nv::Blast::Serialization::PxQuat::PxQuat::Builder -, Nv::Blast::Serialization::PxVec3::PxVec3::Builder +: Nv::Blast::Serialization::PxVec3::PxVec3::Builder +, Nv::Blast::Serialization::PxQuat::PxQuat::Builder
  • setY() -: Nv::Blast::Serialization::PxVec3::PxVec3::Builder -, Nv::Blast::Serialization::PxQuat::PxQuat::Builder +: Nv::Blast::Serialization::PxQuat::PxQuat::Builder +, Nv::Blast::Serialization::PxVec3::PxVec3::Builder
  • setZ() : Nv::Blast::Serialization::PxQuat::PxQuat::Builder , Nv::Blast::Serialization::PxVec3::PxVec3::Builder @@ -241,28 +275,29 @@
  • SimplexNoise() : Nv::Blast::SimplexNoise
  • size() -: Nv::Blast::FixedArray< T > -, Nv::Blast::FixedPriorityQueue< Element, Comparator > +: Nv::Blast::FixedPriorityQueue< Element, Comparator > +, Nv::Blast::FixedArray< T > +
  • skipObject() +: Nv::Blast::ExtSerialization
  • slicing() -: Nv::Blast::FractureTool -
  • SlicingConfiguration() -: Nv::Blast::SlicingConfiguration +: Nv::Blast::FractureToolImpl +, Nv::Blast::FractureTool
  • sortToCCW() : Nv::Blast::TriangleProcessor
  • spawn() -: Nv::Blast::ExtPxFamily -, Nv::Blast::final +: Nv::Blast::final +, Nv::Blast::ExtPxFamily
  • split() : Nv::Blast::Actor
  • splitRequiredScratch() : Nv::Blast::Actor +
  • startProcess() +: Nv::Blast::TkGroup
  • subscribe() : Nv::Blast::final , Nv::Blast::ExtPxManager -, Nv::Blast::final , Nv::Blast::ExtPxFamily -
  • sync() -: Nv::Blast::TkGroup +, Nv::Blast::final
  • syncFamily() : Nv::Blast::ExtSync diff --git a/docs/source_docs/files/functions_func_0x74.html b/docs/source_docs/files/functions_func_0x74.html index 449fbb9..274b9b6 100644 --- a/docs/source_docs/files/functions_func_0x74.html +++ b/docs/source_docs/files/functions_func_0x74.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -79,15 +80,13 @@  

    - t -

    @@ -80,18 +81,22 @@

    - u -

    @@ -81,12 +82,19 @@

    - v -

    diff --git a/docs/source_docs/files/functions_func_0x77.html b/docs/source_docs/files/functions_func_0x77.html index 79b9a22..4393bd7 100644 --- a/docs/source_docs/files/functions_func_0x77.html +++ b/docs/source_docs/files/functions_func_0x77.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -80,10 +81,14 @@

    - w -

    diff --git a/docs/source_docs/files/functions_func_0x7a.html b/docs/source_docs/files/functions_func_0x7a.html new file mode 100644 index 0000000..d142e70 --- /dev/null +++ b/docs/source_docs/files/functions_func_0x7a.html @@ -0,0 +1,96 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions + + + + + + + + + + + + + diff --git a/docs/source_docs/files/functions_func_0x7e.html b/docs/source_docs/files/functions_func_0x7e.html index db46cf6..c8bcd4d 100644 --- a/docs/source_docs/files/functions_func_0x7e.html +++ b/docs/source_docs/files/functions_func_0x7e.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Functions @@ -71,6 +71,7 @@
  • u
  • v
  • w
  • +
  • z
  • ~
  • @@ -79,14 +80,26 @@  

    - ~ -

    diff --git a/docs/source_docs/files/functions_rela.html b/docs/source_docs/files/functions_rela.html index 25ca8c9..17b502c 100644 --- a/docs/source_docs/files/functions_rela.html +++ b/docs/source_docs/files/functions_rela.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Related Functions + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Related Functions @@ -54,6 +54,7 @@
  • d
  • e
  • f
  • +
  • o
  • t
  • u
  • @@ -64,150 +65,150 @@

    - : -

    - d -

    +

    - o -

    - t -

    • TkActorImpl : Nv::Blast::TkJointImpl diff --git a/docs/source_docs/files/functions_type.html b/docs/source_docs/files/functions_type.html index 30af700..a70867e 100644 --- a/docs/source_docs/files/functions_type.html +++ b/docs/source_docs/files/functions_type.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Typedefs + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Typedefs @@ -54,7 +54,6 @@
    • p
    • r
    • t
    • -
    • v
    @@ -63,79 +62,71 @@

    - b -

    - p -

    - r -

    - t -

    -

    - v -

    diff --git a/docs/source_docs/files/functions_vars.html b/docs/source_docs/files/functions_vars.html index 6f9d124..adc1f69 100644 --- a/docs/source_docs/files/functions_vars.html +++ b/docs/source_docs/files/functions_vars.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables diff --git a/docs/source_docs/files/functions_vars_0x61.html b/docs/source_docs/files/functions_vars_0x61.html index 406fc14..ac3da51 100644 --- a/docs/source_docs/files/functions_vars_0x61.html +++ b/docs/source_docs/files/functions_vars_0x61.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -87,7 +87,7 @@ : Nv::Blast::Triangle , NvPackValidation
  • actorDesc -: Nv::Blast::ExtPxFamilyDesc +: Nv::Blast::ExtPxFamilyDesc
  • actorIndex : Nv::Blast::ExtSyncEventPhysicsSync::ExtSyncEventPhysicsSync::ActorData
  • actors @@ -101,22 +101,25 @@
  • adjacentNodeIndices : NvBlastSupportGraph , NvBlastGraphShaderActor -
  • allocatorCallback -: Nv::Blast::TkFrameworkDesc
  • angle_variations : Nv::Blast::SlicingConfiguration
  • area : NvBlastBond
  • asset : Nv::Blast::TkActorDesc +, Nv::Blast::ExporterMeshData +, Nv::Blast::AuthoringResult
  • assetBonds : NvBlastGraphShaderActor
  • assetChunks : NvBlastSubgraphShaderActor +, NvBlastGraphShaderActor +
  • assetToFractureChunkIdMap +: Nv::Blast::AuthoringResult
  • attachPositions : Nv::Blast::TkJointData -, Nv::Blast::TkJointDesc , Nv::Blast::TkAssetJointDesc +, Nv::Blast::TkJointDesc diff --git a/docs/source_docs/files/functions_vars_0x62.html b/docs/source_docs/files/functions_vars_0x62.html index 5266274..15515a9 100644 --- a/docs/source_docs/files/functions_vars_0x62.html +++ b/docs/source_docs/files/functions_vars_0x62.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -89,46 +89,27 @@ : NvBlastBondDesc
  • bondCount : NvBlastAssetDesc +, Nv::Blast::AuthoringResult
  • bondDescs -: NvBlastAssetDesc +: Nv::Blast::AuthoringResult +, NvBlastAssetDesc
  • bondFlags : Nv::Blast::TkAssetDesc
  • bondFractureCount : NvBlastFractureBuffers
  • bondFractures -: NvBlastFractureBuffers -, Nv::Blast::ExtSyncEventFracture -
  • bondIndex -: Nv::Blast::ExtStressBondCachedData +: Nv::Blast::ExtSyncEventFracture +, NvBlastFractureBuffers
  • bondIterationsPerFrame : Nv::Blast::ExtStressSolverSettings
  • bondMode : Nv::Blast::BondGenerationConfig -
  • bondNormalThreshold -: NvBlastExtMaterial
  • bondsBroken : Nv::Blast::TkFractureEvents
  • bondsDamaged : Nv::Blast::TkFractureEvents -
  • bondTangentialThreshold -: NvBlastExtMaterial -
  • brand -: Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::_capnpPrivate -, Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::_capnpPrivate -, Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::_capnpPrivate -, Nv::Blast::Serialization::TkAsset::TkAsset::_capnpPrivate -, Nv::Blast::Serialization::PxVec3::PxVec3::_capnpPrivate -, Nv::Blast::Serialization::NvBlastBond::NvBlastBond::_capnpPrivate -, Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::_capnpPrivate -, Nv::Blast::Serialization::PxMeshScale::PxMeshScale::_capnpPrivate -, Nv::Blast::Serialization::Asset::Asset::_capnpPrivate -, Nv::Blast::Serialization::UUID::UUID::_capnpPrivate -, Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::_capnpPrivate -, Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::_capnpPrivate -, Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::_capnpPrivate -, Nv::Blast::Serialization::PxQuat::PxQuat::_capnpPrivate -, Nv::Blast::Serialization::PxTransform::PxTransform::_capnpPrivate -, Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::_capnpPrivate +
  • bOutputFBXAscii +: Nv::Blast::FbxFileWriter
  • buffers : Nv::Blast::TkFractureEvents , Nv::Blast::TkFractureCommands diff --git a/docs/source_docs/files/functions_vars_0x63.html b/docs/source_docs/files/functions_vars_0x63.html index ae8fcab..78dba06 100644 --- a/docs/source_docs/files/functions_vars_0x63.html +++ b/docs/source_docs/files/functions_vars_0x63.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -99,34 +99,59 @@
  • children : Nv::Blast::TkSplitEvent
  • chunkCount -: NvBlastAssetDesc +: Nv::Blast::AuthoringResult +, NvBlastAssetDesc
  • chunkDescs -: NvBlastAssetDesc +: Nv::Blast::AuthoringResult +, NvBlastAssetDesc
  • chunkFractureCount : NvBlastFractureBuffers
  • chunkFractures -: Nv::Blast::ExtSyncEventFracture -, NvBlastFractureBuffers +: NvBlastFractureBuffers +, Nv::Blast::ExtSyncEventFracture
  • chunkId -: Nv::Blast::ChunkInfo -, Nv::Blast::PlaneChunkIndexer +: Nv::Blast::PlaneChunkIndexer +, Nv::Blast::ChunkInfo
  • chunkIndex : NvBlastChunkFractureData , NvBlastSubgraphShaderActor
  • chunkIndices -: NvBlastGraphShaderActor -, NvBlastSupportGraph +: NvBlastSupportGraph , NvBlastBondDesc -, Nv::Blast::TkJointData +, NvBlastGraphShaderActor , Nv::Blast::TkJointDesc +, Nv::Blast::TkJointData
  • chunksBroken : Nv::Blast::TkFractureEvents
  • chunksDamaged : Nv::Blast::TkFractureEvents
  • ci : Nv::Blast::BooleanConf -
  • compressive -: NvBlastExtRadialDamageDesc +
  • collisionHull +: Nv::Blast::AuthoringResult +
  • collisionHullOffset +: Nv::Blast::AuthoringResult +
  • color0 +: Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine +
  • color1 +: Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine +
  • column0 +: NvcMat34 +, NvcMat33 +, NvcMat44 +
  • column1 +: NvcMat44 +, NvcMat34 +, NvcMat33 +
  • column2 +: NvcMat44 +, NvcMat34 +, NvcMat33 +
  • column3 +: NvcMat44 +, NvcMat34 +
  • componentIndices +: NvBlastExtAssetUtilsBondDesc
  • contactOffset : Nv::Blast::ExtPxShapeDescTemplate diff --git a/docs/source_docs/files/functions_vars_0x64.html b/docs/source_docs/files/functions_vars_0x64.html index b18cb87..ef69a18 100644 --- a/docs/source_docs/files/functions_vars_0x64.html +++ b/docs/source_docs/files/functions_vars_0x64.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -83,8 +83,14 @@  

    - d -

    diff --git a/docs/source_docs/files/functions_vars_0x67.html b/docs/source_docs/files/functions_vars_0x67.html index 69f9a78..5cd9484 100644 --- a/docs/source_docs/files/functions_vars_0x67.html +++ b/docs/source_docs/files/functions_vars_0x67.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -84,10 +84,11 @@

    - g -

    diff --git a/docs/source_docs/files/functions_vars_0x6e.html b/docs/source_docs/files/functions_vars_0x6e.html index f4c8dc6..c14956e 100644 --- a/docs/source_docs/files/functions_vars_0x6e.html +++ b/docs/source_docs/files/functions_vars_0x6e.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -85,6 +85,9 @@

    - n -

    diff --git a/docs/source_docs/files/functions_vars_0x6f.html b/docs/source_docs/files/functions_vars_0x6f.html index 08f968e..6969103 100644 --- a/docs/source_docs/files/functions_vars_0x6f.html +++ b/docs/source_docs/files/functions_vars_0x6f.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables diff --git a/docs/source_docs/files/functions_vars_0x70.html b/docs/source_docs/files/functions_vars_0x70.html index c2474ff..8384d0e 100644 --- a/docs/source_docs/files/functions_vars_0x70.html +++ b/docs/source_docs/files/functions_vars_0x70.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -85,9 +85,10 @@

    - p -

    diff --git a/docs/source_docs/files/functions_vars_0x71.html b/docs/source_docs/files/functions_vars_0x71.html index 5b74db4..574d19d 100644 --- a/docs/source_docs/files/functions_vars_0x71.html +++ b/docs/source_docs/files/functions_vars_0x71.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -83,6 +83,8 @@  

    - q -

    diff --git a/docs/source_docs/files/functions_vars_0x72.html b/docs/source_docs/files/functions_vars_0x72.html index ec58a84..dc6499f 100644 --- a/docs/source_docs/files/functions_vars_0x72.html +++ b/docs/source_docs/files/functions_vars_0x72.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables diff --git a/docs/source_docs/files/functions_vars_0x73.html b/docs/source_docs/files/functions_vars_0x73.html index 899e586..7caa719 100644 --- a/docs/source_docs/files/functions_vars_0x73.html +++ b/docs/source_docs/files/functions_vars_0x73.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -86,18 +86,18 @@
  • s : Nv::Blast::Edge , Nv::Blast::EdgeWithParent -
  • s_allocatorCallback -: Nv::Blast::TkAllocator
  • scene : Nv::Blast::ExtPxSpawnSettings -
  • shear -: NvBlastExtShearDamageDesc +
  • shearDamage +: Nv::Blast::ExtImpactSettings
  • simulationFilterData : Nv::Blast::ExtPxShapeDescTemplate -
  • singleChunkThreshold -: NvBlastExtMaterial
  • size : NvBlastDataBlock +
  • smoothingGroup +: Nv::Blast::TriangleIndexed +, Nv::Blast::Facet +, Nv::Blast::Triangle
  • stressAngularFactor : Nv::Blast::ExtStressSolverSettings
  • stressLinearFactor @@ -109,8 +109,16 @@ : Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc
  • subgraphShaderFunction : NvBlastDamageProgram +
  • submeshCount +: Nv::Blast::ExporterMeshData +
  • submeshNames +: Nv::Blast::ExporterMeshData +
  • submeshOffsets +: Nv::Blast::ExporterMeshData
  • subtype : Nv::Blast::TkJointUpdateEvent +
  • supportChunkHealths +: NvBlastGraphShaderActor
  • surfaceResolution : Nv::Blast::SlicingConfiguration diff --git a/docs/source_docs/files/functions_vars_0x74.html b/docs/source_docs/files/functions_vars_0x74.html index fed3e25..44e8a7c 100644 --- a/docs/source_docs/files/functions_vars_0x74.html +++ b/docs/source_docs/files/functions_vars_0x74.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -83,18 +83,20 @@  

    - t -

    diff --git a/docs/source_docs/files/functions_vars_0x76.html b/docs/source_docs/files/functions_vars_0x76.html index 9a5cf5a..4f4082c 100644 --- a/docs/source_docs/files/functions_vars_0x76.html +++ b/docs/source_docs/files/functions_vars_0x76.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables diff --git a/docs/source_docs/files/functions_vars_0x77.html b/docs/source_docs/files/functions_vars_0x77.html index 8951a1e..05722c3 100644 --- a/docs/source_docs/files/functions_vars_0x77.html +++ b/docs/source_docs/files/functions_vars_0x77.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -85,6 +85,11 @@

    - w -

    diff --git a/docs/source_docs/files/functions_vars_0x78.html b/docs/source_docs/files/functions_vars_0x78.html index 2b272d2..123bf12 100644 --- a/docs/source_docs/files/functions_vars_0x78.html +++ b/docs/source_docs/files/functions_vars_0x78.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -85,6 +85,13 @@

    - x -

    diff --git a/docs/source_docs/files/functions_vars_0x79.html b/docs/source_docs/files/functions_vars_0x79.html index a8f1757..628b44e 100644 --- a/docs/source_docs/files/functions_vars_0x79.html +++ b/docs/source_docs/files/functions_vars_0x79.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -85,6 +85,13 @@

    - y -

    diff --git a/docs/source_docs/files/functions_vars_0x7a.html b/docs/source_docs/files/functions_vars_0x7a.html index cfba328..5f51cab 100644 --- a/docs/source_docs/files/functions_vars_0x7a.html +++ b/docs/source_docs/files/functions_vars_0x7a.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - Variables + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members - Variables @@ -85,6 +85,11 @@

    - z -

    diff --git a/docs/source_docs/files/globals.html b/docs/source_docs/files/globals.html index 481382a..4148a58 100644 --- a/docs/source_docs/files/globals.html +++ b/docs/source_docs/files/globals.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -39,7 +39,6 @@ @@ -49,11 +48,12 @@
  • _
  • b
  • d
  • -
  • g
  • +
  • e
  • m
  • n
  • p
  • s
  • +
  • v
  • diff --git a/docs/source_docs/files/globals_0x62.html b/docs/source_docs/files/globals_0x62.html index 0aa3b2b..55a0915 100644 --- a/docs/source_docs/files/globals_0x62.html +++ b/docs/source_docs/files/globals_0x62.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -39,7 +39,6 @@ @@ -49,11 +48,12 @@
  • _
  • b
  • d
  • -
  • g
  • +
  • e
  • m
  • n
  • p
  • s
  • +
  • v
  • @@ -63,6 +63,16 @@ Here is a list of all file members with links to the files they belong to:

    - b -

    diff --git a/docs/source_docs/files/globals_0x64.html b/docs/source_docs/files/globals_0x64.html index 7377949..e2c4cec 100644 --- a/docs/source_docs/files/globals_0x64.html +++ b/docs/source_docs/files/globals_0x64.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -39,7 +39,6 @@ @@ -49,11 +48,12 @@
  • _
  • b
  • d
  • -
  • g
  • +
  • e
  • m
  • n
  • p
  • s
  • +
  • v
  • @@ -61,22 +61,8 @@ Here is a list of all file members with links to the files they belong to:

    - d -

    diff --git a/docs/source_docs/files/globals_0x65.html b/docs/source_docs/files/globals_0x65.html new file mode 100644 index 0000000..dff6d79 --- /dev/null +++ b/docs/source_docs/files/globals_0x65.html @@ -0,0 +1,77 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members + + + + + + + + +
    +Here is a list of all file members with links to the files they belong to: +

    +

    - e -

    +
    + + + + diff --git a/docs/source_docs/files/globals_0x67.html b/docs/source_docs/files/globals_0x67.html deleted file mode 100644 index 28c288e..0000000 --- a/docs/source_docs/files/globals_0x67.html +++ /dev/null @@ -1,75 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members - - - - - - - - -
    -Here is a list of all file members with links to the files they belong to: -

    -

    - g -

    -
    - - - - diff --git a/docs/source_docs/files/globals_0x6d.html b/docs/source_docs/files/globals_0x6d.html index 8ac2b68..399a3a6 100644 --- a/docs/source_docs/files/globals_0x6d.html +++ b/docs/source_docs/files/globals_0x6d.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -39,7 +39,6 @@ @@ -49,11 +48,12 @@
  • _
  • b
  • d
  • -
  • g
  • +
  • e
  • m
  • n
  • p
  • s
  • +
  • v
  • @@ -61,6 +61,8 @@ Here is a list of all file members with links to the files they belong to:

    - m -

    diff --git a/docs/source_docs/files/globals_0x6e.html b/docs/source_docs/files/globals_0x6e.html index 6fed7f1..b4701a8 100644 --- a/docs/source_docs/files/globals_0x6e.html +++ b/docs/source_docs/files/globals_0x6e.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -39,7 +39,6 @@ @@ -49,11 +48,12 @@
  • _
  • b
  • d
  • -
  • g
  • +
  • e
  • m
  • n
  • p
  • s
  • +
  • v
  • @@ -277,10 +277,14 @@ Here is a list of all file members with links to the files they belong to: : NvPreprocessor.h
  • NV_XBOXONE : NvPreprocessor.h +
  • NVBLAST_ALLOC +: NvBlastGlobals.h +
  • NVBLAST_ALLOC_NAMED +: NvBlastGlobals.h
  • NVBLAST_ALWAYS_ASSERT : NvBlastAssert.h
  • NVBLAST_ALWAYS_ASSERT_MESSAGE -: NvBlastAssert.h +: NvBlastAssert.h
  • NVBLAST_API : NvBlastPreprocessor.h
  • NVBLAST_ASSERT @@ -288,23 +292,37 @@ Here is a list of all file members with links to the files they belong to:
  • NVBLAST_ASSERT_WITH_MESSAGE : NvBlastAssert.h
  • NVBLAST_CHECK -: NvBlastPreprocessorInternal.h -
  • NVBLAST_CHECK_PARAMS -: NvBlastPreprocessorInternal.h +: NvBlastGlobals.h +
  • NVBLAST_CHECK_DEBUG +: NvBlastGlobals.h +
  • NVBLAST_CHECK_ERROR +: NvBlastGlobals.h +
  • NVBLAST_CHECK_INFO +: NvBlastGlobals.h +
  • NVBLAST_CHECK_WARNING +: NvBlastGlobals.h +
  • NVBLAST_DELETE +: NvBlastGlobals.h +
  • NVBLAST_FOURCC +: NvBlastGlobals.h +
  • NVBLAST_FREE +: NvBlastGlobals.h +
  • NVBLAST_LOG +: NvBlastGlobals.h
  • NVBLAST_LOG_DEBUG -: NvBlastPreprocessor.h +: NvBlastGlobals.h
  • NVBLAST_LOG_ERROR -: NvBlastPreprocessor.h +: NvBlastGlobals.h
  • NVBLAST_LOG_INFO -: NvBlastPreprocessor.h +: NvBlastGlobals.h
  • NVBLAST_LOG_WARNING -: NvBlastPreprocessor.h +: NvBlastGlobals.h +
  • NVBLAST_NEW +: NvBlastGlobals.h
  • NvBlastActorApplyFracture() : NvBlast.h
  • NvBlastActorCanFracture() : NvBlast.h -
  • NvBlastActorClosestChunk() -: NvBlastActor.h
  • NvBlastActorDeactivate() : NvBlast.h
  • NvBlastActorGenerateFracture() @@ -329,6 +347,10 @@ Here is a list of all file members with links to the files they belong to: : NvBlast.h
  • NvBlastActorGetVisibleChunkIndices() : NvBlast.h +
  • NvBlastActorIsBoundToWorld() +: NvBlast.h +
  • NvBlastActorIsSplitRequired() +: NvBlast.h
  • NvBlastActorSerialize() : NvBlast.h
  • NvBlastActorSplit() @@ -336,9 +358,9 @@ Here is a list of all file members with links to the files they belong to:
  • NvBlastAllocaAligned16 : NvBlastMemory.h
  • NvBlastApplyAssetDescChunkReorderMap() -: NvBlast.h -
  • NvBlastApplyAssetDescChunkReorderMapInplace() -: NvBlast.h +: NvBlast.h +
  • NvBlastApplyAssetDescChunkReorderMapInPlace() +: NvBlast.h
  • NvBlastAssertHandler() : NvBlastAssert.h
  • NvBlastAssetCreateFamily() @@ -367,6 +389,8 @@ Here is a list of all file members with links to the files they belong to: : NvBlast.h
  • NvBlastAssetGetSize() : NvBlast.h +
  • NvBlastAssetGetSupportChunkCount() +: NvBlast.h
  • NvBlastAssetGetSupportGraph() : NvBlast.h
  • NvBlastAssetSetID() @@ -387,46 +411,70 @@ Here is a list of all file members with links to the files they belong to: : NvBlastMemory.h
  • NvBlastEnsureAssetExactSupportCoverage() : NvBlast.h -
  • NVBLASTEXT_CHECK -: NvBlastExtDefs.h -
  • NVBLASTEXT_CHECK_DEBUG -: NvBlastExtDefs.h -
  • NVBLASTEXT_CHECK_ERROR -: NvBlastExtDefs.h -
  • NVBLASTEXT_CHECK_INFO -: NvBlastExtDefs.h -
  • NVBLASTEXT_CHECK_WARNING -: NvBlastExtDefs.h -
  • NVBLASTEXT_DELETE -: NvBlastExtDefs.h
  • NVBLASTEXT_FOURCC -: NvBlastExtDefs.h -
  • NVBLASTEXT_LOG_DEBUG -: NvBlastExtDefs.h -
  • NVBLASTEXT_LOG_ERROR -: NvBlastExtDefs.h -
  • NVBLASTEXT_LOG_INFO -: NvBlastExtDefs.h -
  • NVBLASTEXT_LOG_WARNING -: NvBlastExtDefs.h -
  • NVBLASTEXT_NEW -: NvBlastExtDefs.h -
  • NvBlastExtAlloc -: NvBlastExtGlobals.h +: NvBlastExtPxAssetImpl.h +
  • NvBlastExtAssetTransformInPlace() +: NvBlastExtAssetUtils.h +
  • NvBlastExtAssetUtilsAddWorldBonds() +: NvBlastExtAssetUtils.h +
  • NvBlastExtAssetUtilsMergeAssets() +: NvBlastExtAssetUtils.h +
  • NvBlastExtAuthoringCreateBondGenerator() +: NvBlastExtAuthoring.h +
  • NvBlastExtAuthoringCreateConvexMeshBuilder() +: NvBlastExtAuthoring.h +
  • NvBlastExtAuthoringCreateFractureTool() +: NvBlastExtAuthoring.h +
  • NvBlastExtAuthoringCreateMesh() +: NvBlastExtAuthoring.h +
  • NvBlastExtAuthoringCreateMeshCleaner() +: NvBlastExtAuthoring.h +
  • NvBlastExtAuthoringCreateVoronoiSitesGenerator() +: NvBlastExtAuthoring.h +
  • NvBlastExtAuthoringProcessFracture() +: NvBlastExtAuthoring.h
  • NvBlastExtCutterGraphShader() : NvBlastExtDamageShaders.h
  • NvBlastExtCutterSubgraphShader() : NvBlastExtDamageShaders.h
  • NvBlastExtDamageActorRadialFalloff() : NvBlastExtDamageShaders.h +
  • NvBlastExtExporterCreateFbxFileReader() +: NvBlastExtExporter.h +
  • NvBlastExtExporterCreateFbxFileWriter() +: NvBlastExtExporter.h +
  • NvBlastExtExporterCreateObjFileReader() +: NvBlastExtExporter.h +
  • NvBlastExtExporterCreateObjFileWriter() +: NvBlastExtExporter.h
  • NvBlastExtFalloffGraphShader() : NvBlastExtDamageShaders.h
  • NvBlastExtFalloffSubgraphShader() : NvBlastExtDamageShaders.h +
  • NvBlastExtLlSerializerLoadSet() +: NvBlastExtLlSerialization.h +
  • NvBlastExtPxSerializerLoadSet() +: NvBlastExtPxSerialization.h +
  • NvBlastExtSegmentFalloffGraphShader() +: NvBlastExtDamageShaders.h +
  • NvBlastExtSegmentFalloffSubgraphShader() +: NvBlastExtDamageShaders.h +
  • NvBlastExtSerializationCreate() +: NvBlastExtSerialization.h +
  • NvBlastExtSerializationSerializeAssetIntoBuffer() +: NvBlastExtLlSerialization.h +
  • NvBlastExtSerializationSerializeExtPxAssetIntoBuffer() +: NvBlastExtPxSerialization.h +
  • NvBlastExtSerializationSerializeFamilyIntoBuffer() +: NvBlastExtLlSerialization.h +
  • NvBlastExtSerializationSerializeTkAssetIntoBuffer() +: NvBlastExtTkSerialization.h
  • NvBlastExtShearGraphShader() : NvBlastExtDamageShaders.h
  • NvBlastExtShearSubgraphShader() : NvBlastExtDamageShaders.h +
  • NvBlastExtTkSerializerLoadSet() +: NvBlastExtTkSerialization.h
  • NvBlastFamilyCreateFirstActor() : NvBlast.h
  • NvBlastFamilyDeserializeActor() @@ -435,6 +483,8 @@ Here is a list of all file members with links to the files they belong to: : NvBlast.h
  • NvBlastFamilyGetActors() : NvBlast.h +
  • NvBlastFamilyGetAsset() +: NvBlast.h
  • NvBlastFamilyGetAssetID() : NvBlast.h
  • NvBlastFamilyGetChunkActor() @@ -451,66 +501,56 @@ Here is a list of all file members with links to the files they belong to: : NvBlast.h
  • NvBlastGetAssetMemorySize() : NvBlast.h +
  • NvBlastGetPxAllocatorCallback() +: NvBlastPxCallbacks.h +
  • NvBlastGetPxErrorCallback() +: NvBlastPxCallbacks.h
  • NvBlastGetRequiredScratchForCreateAsset() : NvBlast.h +
  • NvBlastGlobalGetAllocatorCallback() +: NvBlastGlobals.h +
  • NvBlastGlobalGetErrorCallback() +: NvBlastGlobals.h +
  • NvBlastGlobalSetAllocatorCallback() +: NvBlastGlobals.h +
  • NvBlastGlobalSetErrorCallback() +: NvBlastGlobals.h
  • NvBlastGraphShaderFunction : NvBlastTypes.h +
  • NVBLASTLL_CHECK +: NvBlastPreprocessorInternal.h +
  • NVBLASTLL_CHECK_PARAMS +: NvBlastPreprocessorInternal.h +
  • NVBLASTLL_LOG_DEBUG +: NvBlastPreprocessorInternal.h +
  • NVBLASTLL_LOG_ERROR +: NvBlastPreprocessorInternal.h +
  • NVBLASTLL_LOG_INFO +: NvBlastPreprocessorInternal.h +
  • NVBLASTLL_LOG_WARNING +: NvBlastPreprocessorInternal.h
  • NvBlastLog : NvBlastTypes.h -
  • NvBlastProfilerEnablePlatform() -: NvBlastProfiler.h
  • NvBlastProfilerSetCallback() -: NvBlastProfiler.h +: NvBlastProfiler.h
  • NvBlastProfilerSetDetail() -: NvBlastProfiler.h +: NvBlastProfiler.h
  • NvBlastReorderAssetDescChunks() -: NvBlast.h +: NvBlast.h
  • NvBlastSubgraphShaderFunction : NvBlastTypes.h
  • NvBlastTicksToSeconds() : NvBlast.h
  • NvBlastTimersReset() : NvBlast.h -
  • NVBLASTTK_ALLOC -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_CHECK -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_CHECK_DEBUG -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_CHECK_ERROR -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_CHECK_INFO -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_CHECK_WARNING -: NvBlastTkFrameworkImpl.h
  • NVBLASTTK_DEFINE_TYPE_IDENTIFIABLE : NvBlastTkCommon.h -
  • NVBLASTTK_DEFINE_TYPE_SERIALIZABLE -: NvBlastTkCommon.h -
  • NVBLASTTK_DELETE -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_FOURCC -: NvBlastTkCommon.h -
  • NVBLASTTK_FREE -: NvBlastTkFrameworkImpl.h
  • NVBLASTTK_IMPL_DECLARE : NvBlastTkCommon.h
  • NVBLASTTK_IMPL_DEFINE_IDENTIFIABLE : NvBlastTkCommon.h -
  • NVBLASTTK_IMPL_DEFINE_SERIALIZABLE -: NvBlastTkCommon.h -
  • NVBLASTTK_LOG_DEBUG -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_LOG_ERROR -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_LOG_INFO -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_LOG_WARNING -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_NEW -: NvBlastTkFrameworkImpl.h
  • NvBlastTkFrameworkCreate() -: NvBlastTkFramework.h +: NvBlastTkFramework.h
  • NvBlastTkFrameworkGet() : NvBlastTkFramework.h diff --git a/docs/source_docs/files/globals_0x70.html b/docs/source_docs/files/globals_0x70.html index f677745..0dc1beb 100644 --- a/docs/source_docs/files/globals_0x70.html +++ b/docs/source_docs/files/globals_0x70.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -39,7 +39,6 @@ @@ -49,11 +48,12 @@
  • _
  • b
  • d
  • -
  • g
  • +
  • e
  • m
  • n
  • p
  • s
  • +
  • v
  • @@ -61,18 +61,12 @@ Here is a list of all file members with links to the files they belong to:

    - p -

    diff --git a/docs/source_docs/files/globals_0x73.html b/docs/source_docs/files/globals_0x73.html index bc03adc..1977d0c 100644 --- a/docs/source_docs/files/globals_0x73.html +++ b/docs/source_docs/files/globals_0x73.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -39,7 +39,6 @@ @@ -49,11 +48,12 @@
  • _
  • b
  • d
  • -
  • g
  • +
  • e
  • m
  • n
  • p
  • s
  • +
  • v
  • @@ -61,30 +61,10 @@ Here is a list of all file members with links to the files they belong to:

    - s -

    diff --git a/docs/source_docs/files/globals_0x76.html b/docs/source_docs/files/globals_0x76.html new file mode 100644 index 0000000..a4aa274 --- /dev/null +++ b/docs/source_docs/files/globals_0x76.html @@ -0,0 +1,73 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members + + + + + + + + +
    +Here is a list of all file members with links to the files they belong to: +

    +

    - v -

    +
    + + + + diff --git a/docs/source_docs/files/globals_defs.html b/docs/source_docs/files/globals_defs.html index ff4a4d4..e92408a 100644 --- a/docs/source_docs/files/globals_defs.html +++ b/docs/source_docs/files/globals_defs.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -39,7 +39,6 @@ @@ -49,9 +48,12 @@
  • _
  • b
  • d
  • +
  • e
  • m
  • n
  • p
  • +
  • s
  • +
  • v
  • @@ -65,14 +67,32 @@

    - b -

    - d -

    +

    - e -

    - m -

    @@ -291,10 +311,14 @@ : NvPreprocessor.h
  • NV_XBOXONE : NvPreprocessor.h +
  • NVBLAST_ALLOC +: NvBlastGlobals.h +
  • NVBLAST_ALLOC_NAMED +: NvBlastGlobals.h
  • NVBLAST_ALWAYS_ASSERT : NvBlastAssert.h
  • NVBLAST_ALWAYS_ASSERT_MESSAGE -: NvBlastAssert.h +: NvBlastAssert.h
  • NVBLAST_API : NvBlastPreprocessor.h
  • NVBLAST_ASSERT @@ -302,17 +326,33 @@
  • NVBLAST_ASSERT_WITH_MESSAGE : NvBlastAssert.h
  • NVBLAST_CHECK -: NvBlastPreprocessorInternal.h -
  • NVBLAST_CHECK_PARAMS -: NvBlastPreprocessorInternal.h +: NvBlastGlobals.h +
  • NVBLAST_CHECK_DEBUG +: NvBlastGlobals.h +
  • NVBLAST_CHECK_ERROR +: NvBlastGlobals.h +
  • NVBLAST_CHECK_INFO +: NvBlastGlobals.h +
  • NVBLAST_CHECK_WARNING +: NvBlastGlobals.h +
  • NVBLAST_DELETE +: NvBlastGlobals.h +
  • NVBLAST_FOURCC +: NvBlastGlobals.h +
  • NVBLAST_FREE +: NvBlastGlobals.h +
  • NVBLAST_LOG +: NvBlastGlobals.h
  • NVBLAST_LOG_DEBUG -: NvBlastPreprocessor.h +: NvBlastGlobals.h
  • NVBLAST_LOG_ERROR -: NvBlastPreprocessor.h +: NvBlastGlobals.h
  • NVBLAST_LOG_INFO -: NvBlastPreprocessor.h +: NvBlastGlobals.h
  • NVBLAST_LOG_WARNING -: NvBlastPreprocessor.h +: NvBlastGlobals.h +
  • NVBLAST_NEW +: NvBlastGlobals.h
  • NvBlastAllocaAligned16 : NvBlastMemory.h
  • NvBlastBlockArrayData @@ -325,83 +365,41 @@ : NvBlastMemory.h
  • NvBlastCreateOffsetStart : NvBlastMemory.h -
  • NVBLASTEXT_CHECK -: NvBlastExtDefs.h -
  • NVBLASTEXT_CHECK_DEBUG -: NvBlastExtDefs.h -
  • NVBLASTEXT_CHECK_ERROR -: NvBlastExtDefs.h -
  • NVBLASTEXT_CHECK_INFO -: NvBlastExtDefs.h -
  • NVBLASTEXT_CHECK_WARNING -: NvBlastExtDefs.h -
  • NVBLASTEXT_DELETE -: NvBlastExtDefs.h
  • NVBLASTEXT_FOURCC -: NvBlastExtDefs.h -
  • NVBLASTEXT_LOG_DEBUG -: NvBlastExtDefs.h -
  • NVBLASTEXT_LOG_ERROR -: NvBlastExtDefs.h -
  • NVBLASTEXT_LOG_INFO -: NvBlastExtDefs.h -
  • NVBLASTEXT_LOG_WARNING -: NvBlastExtDefs.h -
  • NVBLASTEXT_NEW -: NvBlastExtDefs.h -
  • NVBLASTTK_ALLOC -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_CHECK -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_CHECK_DEBUG -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_CHECK_ERROR -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_CHECK_INFO -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_CHECK_WARNING -: NvBlastTkFrameworkImpl.h +: NvBlastExtPxAssetImpl.h +
  • NVBLASTLL_CHECK +: NvBlastPreprocessorInternal.h +
  • NVBLASTLL_CHECK_PARAMS +: NvBlastPreprocessorInternal.h +
  • NVBLASTLL_LOG_DEBUG +: NvBlastPreprocessorInternal.h +
  • NVBLASTLL_LOG_ERROR +: NvBlastPreprocessorInternal.h +
  • NVBLASTLL_LOG_INFO +: NvBlastPreprocessorInternal.h +
  • NVBLASTLL_LOG_WARNING +: NvBlastPreprocessorInternal.h
  • NVBLASTTK_DEFINE_TYPE_IDENTIFIABLE : NvBlastTkCommon.h -
  • NVBLASTTK_DEFINE_TYPE_SERIALIZABLE -: NvBlastTkCommon.h -
  • NVBLASTTK_DELETE -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_FOURCC -: NvBlastTkCommon.h -
  • NVBLASTTK_FREE -: NvBlastTkFrameworkImpl.h
  • NVBLASTTK_IMPL_DECLARE : NvBlastTkCommon.h
  • NVBLASTTK_IMPL_DEFINE_IDENTIFIABLE : NvBlastTkCommon.h -
  • NVBLASTTK_IMPL_DEFINE_SERIALIZABLE -: NvBlastTkCommon.h -
  • NVBLASTTK_LOG_DEBUG -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_LOG_ERROR -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_LOG_INFO -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_LOG_WARNING -: NvBlastTkFrameworkImpl.h -
  • NVBLASTTK_NEW -: NvBlastTkFrameworkImpl.h

    - p -

    +

    - s -

    +

    - v -

     

    -

    - d -

    - n -

    -

    - s -

    diff --git a/docs/source_docs/files/globals_type.html b/docs/source_docs/files/globals_type.html index 3cc2b8f..166bef8 100644 --- a/docs/source_docs/files/globals_type.html +++ b/docs/source_docs/files/globals_type.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -39,7 +39,6 @@ @@ -49,8 +48,6 @@  

    +
  • Nv::Blast::TkObjectTypeID
  • Nv::Blast::TkSplitEvent
  • Nv::Blast::TkType
  • Nv::Blast::TkTypeIndex -
  • Nv::Blast::TkWorker
  • Nv::Blast::TkWorkerJob
  • Nv::Blast::Triangle
  • Nv::Blast::TriangleIndexed
  • Nv::Blast::TriangleProcessor +
  • Nv::Blast::Triangulator
  • Nv::Blast::TrPrcTriangle
  • Nv::Blast::TrPrcTriangle2d
  • Nv::Blast::Serialization::UUID @@ -392,6 +455,9 @@
  • Nv::Blast::VSA::Vec4
  • Nv::Blast::Vertex
  • Nv::Blast::VoronoiSitesGenerator +
  • Nv::Blast::VrtComp
  • Nv::Blast::VrtPositionComparator
  • Nv::Blast::VSA::VS3D_Halfspace_Set diff --git a/docs/source_docs/files/index.html b/docs/source_docs/files/index.html index ad8a917..38a7fd2 100644 --- a/docs/source_docs/files/index.html +++ b/docs/source_docs/files/index.html @@ -1,6 +1,6 @@ -NVIDIA(R) Blast(R) SDK 1.0 Source Reference +NVIDIA(R) Blast(R) SDK 1.1 Source Reference diff --git a/docs/source_docs/files/main.html b/docs/source_docs/files/main.html index 2a545bf..513f5f8 100644 --- a/docs/source_docs/files/main.html +++ b/docs/source_docs/files/main.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Main Page + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Main Page @@ -31,7 +31,7 @@
    -

    NVIDIA(R) Blast(R) SDK 1.0 Source Reference Documentation

    +

    NVIDIA(R) Blast(R) SDK 1.1 Source Reference Documentation

    diff --git a/docs/source_docs/files/modules.html b/docs/source_docs/files/modules.html index 446f684..431fd51 100644 --- a/docs/source_docs/files/modules.html +++ b/docs/source_docs/files/modules.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Module Index + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Module Index diff --git a/docs/source_docs/files/namespace_nv.html b/docs/source_docs/files/namespace_nv.html index a669ac5..d19f65d 100644 --- a/docs/source_docs/files/namespace_nv.html +++ b/docs/source_docs/files/namespace_nv.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv Namespace Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv Namespace Reference @@ -37,6 +37,16 @@
  • sdk/common/NvBlastArray.h [code]
    sdk/common/NvBlastAssert.h [code]
    sdk/common/NvBlastAtomic.h [code]
    sdk/common/NvBlastDLink.h [code]
    sdk/common/NvBlastFixedBoolArray.h [code]
    sdk/common/NvBlastFixedPriorityQueue.h [code]
    sdk/common/NvBlastGeometry.h [code]
    sdk/common/NvBlastHashMap.h [code]
    sdk/common/NvBlastHashSet.h [code]
    sdk/common/NvBlastIncludeWindows.h [code]
    sdk/common/NvBlastIndexFns.h [code]
    sdk/common/NvBlastIteratorBase.h [code]
    sdk/common/NvBlastMemory.h [code]
    sdk/common/NvBlastPreprocessorInternal.h [code]
    sdk/common/NvBlastTime.h [code]
    sdk/extensions/assetutils/include/NvBlastExtAssetUtils.h [code]
    sdk/extensions/authoring/include/NvBlastExtAuthoring.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/NvBlastExtAuthoringMeshCleaner.h [code]
    sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h [code]
    sdk/extensions/authoring/source/NvBlastExtApexSharedParts.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringAccelerator.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringBooleanTool.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringCollisionBuilderImpl.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringInternalCommon.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringMeshCleanerImpl.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringMeshImpl.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringMeshNoiser.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringPerlinNoise.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringTriangulator.h [code]
    sdk/extensions/authoring/source/NvBlastExtAuthoringVSA.h [code]
    sdk/extensions/authoring/source/NvBlastExtTriangleProcessor.h [code]
    sdk/extensions/common/source/NvBlastExtAllocator.h [code]
    sdk/extensions/common/source/NvBlastExtArray.h [code]
    sdk/extensions/common/source/NvBlastExtDefs.h [code]
    sdk/extensions/common/source/NvBlastExtHashMap.h [code]
    sdk/extensions/common/source/NvBlastExtHashSet.h [code]
    sdk/extensions/converter/include/NvBlastExtDataConverter.h [code]
    sdk/extensions/converter/source/conversion/NvBlastExtAssetBlockVersionConverter_v0_v1.h [code]
    sdk/extensions/converter/source/conversion/NvBlastExtBinaryBlockConverter.h [code]
    sdk/extensions/exporter/include/NvBlastExtExporter.h [code]
    sdk/extensions/exporter/include/NvBlastExtExporterJsonCollision.h [code]
    sdk/extensions/exporter/source/NvBlastExtExporterFbxReader.h [code]
    sdk/extensions/exporter/source/NvBlastExtExporterFbxUtils.h [code]
    sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.h [code]
    sdk/extensions/exporter/source/NvBlastExtExporterObjReader.h [code]
    sdk/extensions/exporter/source/NvBlastExtExporterObjWriter.h [code]
    sdk/extensions/import/include/NvBlastExtApexImportTool.h [code]
    sdk/extensions/import/source/NvBlastExtApexDestruction.h [code]
    sdk/extensions/import/source/NvBlastExtScopedResource.h [code]
    sdk/extensions/physx/include/NvBlastExtCustomProfiler.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/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/NvBlastExtPxStressSolver.h [code]
    sdk/extensions/physx/include/NvBlastExtPxTask.h [code]
    sdk/extensions/physx/include/NvBlastExtSync.h [code]
    sdk/extensions/physx/source/physics/NvBlastExtImpulseStressSolver.h [code]
    sdk/extensions/physx/include/NvBlastPxCallbacks.h [code]
    sdk/extensions/physx/source/physics/NvBlastExtPxActorImpl.h [code]
    sdk/extensions/physx/source/physics/NvBlastExtPxAssetImpl.h [code]
    sdk/extensions/physx/source/physics/NvBlastExtPxFamilyImpl.h [code]
    sdk/extensions/physx/source/physics/NvBlastExtPxManagerImpl.h [code]
    sdk/extensions/serialization/include/NvBlastExtSerializationInterface.h [code]
    sdk/extensions/serialization/include/NvBlastExtSerializationLLInterface.h [code]
    sdk/extensions/serialization/source/NvBlastExtGlobals.h [code]
    sdk/extensions/physx/source/physics/NvBlastExtPxStressSolverImpl.h [code]
    sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.h [code]
    sdk/extensions/serialization/include/NvBlastExtLlSerialization.h [code]
    sdk/extensions/serialization/include/NvBlastExtPxSerialization.h [code]
    sdk/extensions/serialization/include/NvBlastExtSerialization.h [code]
    sdk/extensions/serialization/include/NvBlastExtTkSerialization.h [code]
    sdk/extensions/serialization/source/NvBlastExtInputStream.h [code]
    sdk/extensions/serialization/source/NvBlastExtKJPxInputStream.h [code]
    sdk/extensions/serialization/source/NvBlastExtKJPxOutputStream.h [code]
    sdk/extensions/serialization/source/NvBlastExtLlSerializerCAPN.h [code]
    sdk/extensions/serialization/source/NvBlastExtOutputStream.h [code]
    sdk/extensions/serialization/source/NvBlastExtSerialization.h [code]
    sdk/extensions/serialization/source/NvBlastExtSerializationImpl.h [code]
    sdk/extensions/serialization/source/NvBlastExtSerializationLLImpl.h [code]
    sdk/extensions/serialization/source/NvBlastExtPxSerializerCAPN.h [code]
    sdk/extensions/serialization/source/NvBlastExtPxSerializerRAW.h [code]
    sdk/extensions/serialization/source/NvBlastExtSerializationCAPN.h [code]
    sdk/extensions/serialization/source/NvBlastExtSerializationInternal.h [code]
    sdk/extensions/serialization/source/NvBlastExtTkSerializerCAPN.h [code]
    sdk/extensions/serialization/source/NvBlastExtTkSerializerRAW.h [code]
    sdk/extensions/serialization/source/DTO/AssetDTO.h [code]
    sdk/extensions/serialization/source/DTO/DTOMacros.h [code]
    sdk/extensions/serialization/source/DTO/ExtPxAssetDTO.h [code]
    sdk/extensions/serialization/source/DTO/PxVec3DTO.h [code]
    sdk/extensions/serialization/source/DTO/TkAssetDTO.h [code]
    sdk/extensions/serialization/source/DTO/TkAssetJointDescDTO.h [code]
    sdk/extensions/serialization/source/generated/NvBlastExtSerialization.capn.h [code]
    sdk/extensions/serialization/source/generated/NvBlastExtSerializationLL.capn.h [code]
    sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h [code]
    sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h [code]
    sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h [code]
    sdk/extensions/shaders/include/NvBlastExtDamageShaders.h [code]
    sdk/extensions/stress/include/NvBlastExtStressSolver.h [code]
    sdk/globals/include/NvBlastAllocator.h [code]
    sdk/globals/include/NvBlastGlobals.h [code]
    sdk/globals/include/NvBlastProfiler.h [code]
    sdk/globals/source/NvBlastProfilerInternal.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/lowlevel/include/NvCTypes.h [code]
    sdk/lowlevel/include/NvPreprocessor.h [code]
    sdk/lowlevel/source/NvBlastActor.h [code]
    sdk/lowlevel/source/NvBlastActorSerializationBlock.h [code]
    sdk/lowlevel/source/NvBlastFamily.h [code]
    sdk/lowlevel/source/NvBlastFamilyGraph.h [code]
    sdk/lowlevel/source/NvBlastSupportGraph.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/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]
    sdk/toolkit/source/NvBlastTkActorImpl.h [code]
    sdk/toolkit/source/NvBlastTkAllocator.h [code]
    sdk/toolkit/source/NvBlastTkArray.h [code]
    sdk/toolkit/source/NvBlastTkAssetImpl.h [code]
    sdk/toolkit/source/NvBlastTkCommon.h [code]
    sdk/toolkit/source/NvBlastTkEventQueue.h [code]
    sdk/toolkit/source/NvBlastTkFrameworkImpl.h [code]
    sdk/toolkit/source/NvBlastTkGroupImpl.h [code]
    sdk/toolkit/source/NvBlastTkGUID.h [code]
    sdk/toolkit/source/NvBlastTkHashMap.h [code]
    sdk/toolkit/source/NvBlastTkHashSet.h [code]
    sdk/toolkit/source/NvBlastTkJointImpl.h [code]
    sdk/toolkit/source/NvBlastTkTaskImpl.h [code]
    sdk/toolkit/source/NvBlastTkTypeImpl.h [code]
    namespace  Blast
    +

    Detailed Description

    +FractureTool has requirements to input meshes to fracture them successfully: 1) Mesh should be closed (watertight) 2) There should not be self-intersections and open-edges. Mesh cleaner input is closed mesh with self-intersections and open-edges (only in the interior). It tries to track outer hull to make input mesh solid and meet requierements of FractureTool. If mesh contained some internal cavities they will be removed.

    +Blast serialization support for the ExtPhysX extension. Contains serializers which can be used by the ExtSerialization manager.

    +Blast High-level serialization support. Contains serializers which can be used by the ExtSerialization manager.

    +Specializations of ExtSerializationCAPN for Blast LL

    +Specializations of ExtSerializationCAPN for BlastExtPx

    +Specializations of ExtSerializationCAPN for BlastTk

    +Raw serialization function declarations for BlastTk

    +This file contains AllocatorCallback wrappers compatible with PxShared containers. +

    -

    - -

    - -
    - -

    - -

    -

    - -

    -
    - - - - -
    typedef TkSerializable*(* Nv::Blast::TkDeserializeFn)(physx::general_PxIOStream2::PxFileBuf &, const NvBlastID &id)
    -
    -
    - -

    -


    Enumeration Type Documentation

    @@ -693,51 +719,6 @@ Returns the aligned value.

    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    NVBLAST_API 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.
    -

    @@ -807,6 +788,70 @@ 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. + +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    ExtPxAsset* Nv::Blast::deserializeExtPxAsset (ExtIStream &  stream,
    TkFramework &  framework,
    physx::PxPhysics &  physics 
    )
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    TkAsset* Nv::Blast::deserializeTkAsset (ExtIStream &  stream,
    TkFramework &  framework 
    )
    +
    +
    + +

    +

    @@ -862,17 +907,28 @@ Note, if an index (i + indexBase) is not present in the data then, lookup[i+1] = Enumerates chunk indices in a subtree with root given by chunkIndex, in breadth-first order. Will not traverse chunks with index at or beyond chunkIndexLimit. Returns the number of indices written to the chunkIndex array

    - +

    +
    +template<typename Factory , size_t N>
    - + - - - + + + + + + + + + + + +
    NV_INLINE float Nv::Blast::fade size_t Nv::Blast::ExtSerializationLoadSet (float  t  ) Nv::Blast::ExtSerializationInternal serialization,
    Factory(&)  factories[N] 
    ) [inline]
    @@ -882,50 +938,17 @@ Enumerates chunk indices in a subtree with root given by chunkIndex, in breadth-

    - +

    - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - -
    NV_FORCE_INLINE uint32_t Nv::Blast::findNodeByPosition NV_INLINE float Nv::Blast::fade (const float  point[4],
    const uint32_t  graphNodesCount,
    const uint32_t *  graphNodeIndices,
    const NvBlastSupportGraph graph,
    const NvBlastBond bonds,
    const float *  bondHealths 
    float  t  )  )
    @@ -935,12 +958,12 @@ Enumerates chunk indices in a subtree with root given by chunkIndex, in breadth-

    - +

    - + @@ -949,13 +972,13 @@ Enumerates chunk indices in a subtree with root given by chunkIndex, in breadth- - + - + @@ -985,7 +1008,13 @@ Enumerates chunk indices in a subtree with root given by chunkIndex, in breadth- - + + + + + + + @@ -997,15 +1026,30 @@ Enumerates chunk indices in a subtree with root given by chunkIndex, in breadth-

    +Find the closest node to point in the graph. Uses primarily distance to bond centroids. Slower compared to chunk based lookup but may yield better accuracy in some cases. Bond normals are expected to be directed from the lower to higher node index. Cannot be used for graph actors with only the world chunk in the graph.

    +

    Parameters:
    +
    NV_FORCE_INLINE uint32_t Nv::Blast::findNodeByPosition NV_FORCE_INLINE uint32_t Nv::Blast::findClosestNode ( const float  point[4], const uint32_t  graphNodesCount, firstGraphNodeIndex,
    const uint32_t *  graphNodeIndices, familyGraphNodeIndexLinks,
    const float *  bondHealths  bondHealths,
    const uint32_t *  chunkIndices 
    + + + + + + + + + +
    [in] point the point to test against
    [in] firstGraphNodeIndex the entry point for familyGraphNodeIndexLinks
    [in] familyGraphNodeIndexLinks the list index links of the actor's graph
    [in] adjacencyPartition the actor's SupportGraph adjacency partition
    [in] adjacentNodeIndices the actor's SupportGraph adjacent node indices
    [in] adjacentBondIndices the actor's SupportGraph adjacent bond indices
    [in] assetBonds the actor's asset bonds
    [in] bondHealths the actor's bond healths
    [in] chunkIndices maps node index to chunk index in SupportGraph
    + +
    Returns:
    the index of the node closest to point

    - +

    - + @@ -1044,13 +1088,31 @@ Enumerates chunk indices in a subtree with root given by chunkIndex, in breadth- - + - + + + + + + + + + + + + + + + + + + + @@ -1062,6 +1124,23 @@ Enumerates chunk indices in a subtree with root given by chunkIndex, in breadth-

    +Find the closest node to point in the graph. Uses primarily distance to chunk centroids. Bond normals are expected to be directed from the lower to higher node index. Cannot be used for graph actors with only the world chunk in the graph.

    +

    Parameters:
    +
    NV_FORCE_INLINE uint32_t Nv::Blast::findNodeByPositionLinked NV_FORCE_INLINE uint32_t Nv::Blast::findClosestNode ( const float  point[4], const NvBlastBond bonds, assetBonds,
    const float *  bondHealths  bondHealths,
    const NvBlastChunk assetChunks,
    const float *  supportChunkHealths,
    const uint32_t *  chunkIndices 
    + + + + + + + + + + + +
    [in] point the point to test against
    [in] firstGraphNodeIndex the entry point for familyGraphNodeIndexLinks
    [in] familyGraphNodeIndexLinks the list index links of the actor's graph
    [in] adjacencyPartition the actor's SupportGraph adjacency partition
    [in] adjacentNodeIndices the actor's SupportGraph adjacent node indices
    [in] adjacentBondIndices the actor's SupportGraph adjacent bond indices
    [in] assetBonds the actor's asset bonds
    [in] bondHealths the actor's bond healths
    [in] assetChunks the actor's asset chunks
    [in] supportChunkHealths the actor's graph chunks healths
    [in] chunkIndices maps node index to chunk index in SupportGraph
    + +
    Returns:
    the index of the node closest to point

    @@ -1476,14 +1555,20 @@ Computes point projected on given axis aligned plane, this method is polygon-win Computes best direction to project points.

    - +

    - + + + + + + + @@ -1507,7 +1592,13 @@ Computes best direction to project points. - + + + + + + + @@ -1774,6 +1865,48 @@ Test for invalid index (max representable integer).

    + +

    + +

    +
    +
    bool Nv::Blast::importerHullsInProximityApexFree (const std::vector< physx::PxVec3 > & uint32_t  hull0Count,
    const physx::PxVec3 *  hull0,
    const std::vector< physx::PxVec3 > & uint32_t  hull1Count,
    const physx::PxVec3 *  hull1,
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NV_INLINE void Nv::Blast::logLL (int  type,
    const char *  msg,
    const char *  file,
    int  line 
    )
    +
    +
    + +

    +Logging wrapper compatible with NvBlastLog.

    See also:
    NvBlastLog.
    +Pass this function to LowLevel function calls in order to get logging into global ErrorCallback.

    @@ -1848,8 +1981,6 @@ Atomically set the processing state. This function checks for the current state

    Returns:
    true if the new state could be set, false otherwise
    Get the group-family shared memory for the specified family. To be used when the memory is expected to already exist.

    -< the task manager used to dispatch workers

    -< tracks the number of worker threads

    < number of actors in this group

    < memory sharable by actors in the same family in this group

    < chunk data for damage/fracture

    @@ -1858,9 +1989,7 @@ Get the group-family shared memory for the specified family. To be used when the < initial memory block for event data

    < split scratch memory

    < true while workers are processing

    -< keeps track of finished workers

    < this group's workers

    -< shared job queue for workers

    < this group's process jobs

    < accumulated group's worker stats @@ -1884,11 +2013,7 @@ Get the group-family shared memory for the specified family. To be used when the

    -Enum which keeps track of the serialized data format.

    -Initial version

    -The number of serialized formats.

    -The current version. This should always be Count-1

    -< The chunk indices within the TkFamily joined by the joint. This chunks will be a supports chunks. +< The chunk indices within the TkFamily objects joined by the joint. These chunks will be support chunks.

    @@ -1910,10 +2035,6 @@ The current version. This should always be Count-1

    Implementation of TkAsset

    -Enum which keeps track of the serialized data format.

    -Initial version

    -The number of serialized formats.

    -The current version. This should always be Count-1

    Factory create method. This method creates a low-level asset and stores a reference to it.

    Parameters:
    @@ -1974,6 +2095,37 @@ Utility to add a joint descriptor between the indexed chunks. The two chunks mus

    + +

    + +

    +
    +
    +template<typename T >
    +
    + + + + + + + + + + + + + + + + + +
    NV_INLINE ExtIStream& Nv::Blast::operator>> (ExtIStream &  s,
    T &  x 
    ) [inline]
    + +
    + +

    +

    diff --git a/docs/source_docs/files/namespace_nv_1_1_blast_1_1_apex_importer.html b/docs/source_docs/files/namespace_nv_1_1_blast_1_1_apex_importer.html index 225b884..1fd8a64 100644 --- a/docs/source_docs/files/namespace_nv_1_1_blast_1_1_apex_importer.html +++ b/docs/source_docs/files/namespace_nv_1_1_blast_1_1_apex_importer.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ApexImporter Namespace Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ApexImporter Namespace Reference diff --git a/docs/source_docs/files/namespace_nv_1_1_blast_1_1_boolean_configurations.html b/docs/source_docs/files/namespace_nv_1_1_blast_1_1_boolean_configurations.html index 89ab408..64e461c 100644 --- a/docs/source_docs/files/namespace_nv_1_1_blast_1_1_boolean_configurations.html +++ b/docs/source_docs/files/namespace_nv_1_1_blast_1_1_boolean_configurations.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::BooleanConfigurations Namespace Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::BooleanConfigurations Namespace Reference diff --git a/docs/source_docs/files/namespace_nv_1_1_blast_1_1_serialization.html b/docs/source_docs/files/namespace_nv_1_1_blast_1_1_serialization.html index 17045bd..be9e00a 100644 --- a/docs/source_docs/files/namespace_nv_1_1_blast_1_1_serialization.html +++ b/docs/source_docs/files/namespace_nv_1_1_blast_1_1_serialization.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::Serialization Namespace Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Serialization Namespace Reference diff --git a/docs/source_docs/files/namespace_nv_1_1_blast_1_1_v_s_a.html b/docs/source_docs/files/namespace_nv_1_1_blast_1_1_v_s_a.html index ceaf690..46df455 100644 --- a/docs/source_docs/files/namespace_nv_1_1_blast_1_1_v_s_a.html +++ b/docs/source_docs/files/namespace_nv_1_1_blast_1_1_v_s_a.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::VSA Namespace Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::VSA Namespace Reference diff --git a/docs/source_docs/files/namespace_nv_1_1_blast_1_1_vec_math.html b/docs/source_docs/files/namespace_nv_1_1_blast_1_1_vec_math.html index 6dd5ee5..02dda19 100644 --- a/docs/source_docs/files/namespace_nv_1_1_blast_1_1_vec_math.html +++ b/docs/source_docs/files/namespace_nv_1_1_blast_1_1_vec_math.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::VecMath Namespace Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::VecMath Namespace Reference @@ -40,10 +40,14 @@ NV_INLINE void add (const float a[3], float b[3]) +NV_INLINE float dist (const float a[3], const 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 float length (const float a[3]) + NV_INLINE void mul (float a[3], float multiplier) NV_INLINE float normal (const float a[3], float r[3]) @@ -114,6 +118,35 @@

    + +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    NV_INLINE float Nv::Blast::VecMath::dist (const float  a[3],
    const float  b[3] 
    )
    +
    +
    + +

    +

    @@ -172,6 +205,26 @@

    + +

    + +

    +
    + + + + + + + + + +
    NV_INLINE float Nv::Blast::VecMath::length (const float  a[3]  ) 
    +
    +
    + +

    +

    diff --git a/docs/source_docs/files/namespacecapnp.html b/docs/source_docs/files/namespacecapnp.html index 76506f9..6254b1a 100644 --- a/docs/source_docs/files/namespacecapnp.html +++ b/docs/source_docs/files/namespacecapnp.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: capnp Namespace Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: capnp Namespace Reference diff --git a/docs/source_docs/files/namespacecapnp_1_1schemas.html b/docs/source_docs/files/namespacecapnp_1_1schemas.html index 5dfba9a..66ec0e6 100644 --- a/docs/source_docs/files/namespacecapnp_1_1schemas.html +++ b/docs/source_docs/files/namespacecapnp_1_1schemas.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: capnp::schemas Namespace Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: capnp::schemas Namespace Reference @@ -36,15 +36,15 @@

    capnp::schemas Namespace Reference

    - @@ -53,54 +53,54 @@ } + + - + - + - + - + - + - + - - - + - + - + - + - + - + - + - + - + - + - + - +

    Enumerations

    enum  Type_aad821ad53084079 {
    -  E_S_P_H_E_R_E, -E_P_L_A_N_E, -E_C_A_P_S_U_L_E, -E_B_O_X, +
    enum  Type_b197145e18e8b82a {
    +  E_S_P_H_E_R_E, +E_P_L_A_N_E, +E_C_A_P_S_U_L_E, +E_B_O_X,
    -  E_C_O_N_V_E_X_M_E_S_H, -E_T_R_I_A_N_G_L_E_M_E_S_H, -E_H_E_I_G_H_T_F_I_E_L_D +  E_C_O_N_V_E_X_M_E_S_H, +E_T_R_I_A_N_G_L_E_M_E_S_H, +E_H_E_I_G_H_T_F_I_E_L_D
    }

    Functions

     CAPNP_DECLARE_ENUM (Type, b197145e18e8b82a)
     CAPNP_DECLARE_ENUM (Type, b292bd608606f041)
     CAPNP_DECLARE_ENUM (Type, aad821ad53084079)
     CAPNP_DECLARE_SCHEMA (ed817d93facd8e00)
     CAPNP_DECLARE_SCHEMA (bfd00835cc19bf3a)
     CAPNP_DECLARE_SCHEMA (b7dbad810488a897)
     CAPNP_DECLARE_SCHEMA (f018cbfcaacb3a55)
     CAPNP_DECLARE_SCHEMA (ffd67c4b7067dde6)
     CAPNP_DECLARE_SCHEMA (c43da43c95eada67)
     CAPNP_DECLARE_SCHEMA (fe3844eab62f741c)
     CAPNP_DECLARE_SCHEMA (92818c664a7b1aba)
     CAPNP_DECLARE_SCHEMA (d9e85646bf529a45)
     CAPNP_DECLARE_SCHEMA (b292bd608606f041)
     CAPNP_DECLARE_SCHEMA (aea6c3ede69b9227)
     CAPNP_DECLARE_SCHEMA (d5e1a9fb31b1350d)
     CAPNP_DECLARE_SCHEMA (ce4f8468c36f427d)
     CAPNP_DECLARE_SCHEMA (b197145e18e8b82a)
     CAPNP_DECLARE_SCHEMA (cffe243168b0f81e)
     CAPNP_DECLARE_SCHEMA (adae9deb89212865)
     CAPNP_DECLARE_SCHEMA (83e96fbaf139b59f)
     CAPNP_DECLARE_SCHEMA (864211458400770e)
     CAPNP_DECLARE_SCHEMA (fedbc7dbed4677a2)
     CAPNP_DECLARE_SCHEMA (920ebb03da744765)
     CAPNP_DECLARE_SCHEMA (ed817d93facd8e00)
     CAPNP_DECLARE_SCHEMA (e67e9b52a4f4c5dc)
     CAPNP_DECLARE_SCHEMA (b7dbad810488a897)
     CAPNP_DECLARE_SCHEMA (bfd00835cc19bf3a)
     CAPNP_DECLARE_SCHEMA (aad821ad53084079)
     CAPNP_DECLARE_SCHEMA (f018cbfcaacb3a55)
     CAPNP_DECLARE_SCHEMA (bd079edc42d55900)
     CAPNP_DECLARE_SCHEMA (c43da43c95eada67)
     CAPNP_DECLARE_SCHEMA (bf95ed8cf9bb51fd)
     CAPNP_DECLARE_SCHEMA (92818c664a7b1aba)
     CAPNP_DECLARE_SCHEMA (a9ac3bab82f6eea3)
     CAPNP_DECLARE_SCHEMA (b292bd608606f041)
     CAPNP_DECLARE_SCHEMA (a6f4861618f79df0)
     CAPNP_DECLARE_SCHEMA (d5e1a9fb31b1350d)
     CAPNP_DECLARE_SCHEMA (ffd67c4b7067dde6)
     CAPNP_DECLARE_SCHEMA (ce4f8468c36f427d)

    Enumeration Type Documentation

    - +
    @@ -109,19 +109,19 @@

    Enumerator:
    - - - - - - -
    E_S_P_H_E_R_E  +
    E_S_P_H_E_R_E 
    E_P_L_A_N_E  +
    E_P_L_A_N_E 
    E_C_A_P_S_U_L_E  +
    E_C_A_P_S_U_L_E 
    E_B_O_X  +
    E_B_O_X 
    E_C_O_N_V_E_X_M_E_S_H  +
    E_C_O_N_V_E_X_M_E_S_H 
    E_T_R_I_A_N_G_L_E_M_E_S_H  +
    E_T_R_I_A_N_G_L_E_M_E_S_H 
    E_H_E_I_G_H_T_F_I_E_L_D  +
    E_H_E_I_G_H_T_F_I_E_L_D 
    @@ -152,7 +152,7 @@


    Function Documentation

    - +
    @@ -165,7 +165,7 @@ - + @@ -181,7 +181,7 @@

    - +

    b292bd608606f041 b197145e18e8b82a   
    @@ -194,7 +194,7 @@ - + @@ -210,14 +210,14 @@

    - +

    aad821ad53084079 b292bd608606f041   
    - + @@ -230,14 +230,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (bfd00835cc19bf3a ed817d93facd8e00   ) 
    - + @@ -250,14 +250,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (f018cbfcaacb3a55 b7dbad810488a897   ) 
    - + @@ -270,14 +270,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (c43da43c95eada67 ffd67c4b7067dde6   ) 
    - + @@ -290,14 +290,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (92818c664a7b1aba fe3844eab62f741c   ) 
    - + @@ -310,14 +310,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (b292bd608606f041 d9e85646bf529a45   ) 
    - + @@ -330,14 +330,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (d5e1a9fb31b1350d aea6c3ede69b9227   ) 
    - + @@ -350,14 +350,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (ce4f8468c36f427d b197145e18e8b82a   ) 
    - + @@ -370,14 +370,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (cffe243168b0f81e adae9deb89212865   ) 
    - + @@ -390,14 +390,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (83e96fbaf139b59f 864211458400770e   ) 
    - + @@ -410,14 +410,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (fedbc7dbed4677a2 920ebb03da744765   ) 
    - + @@ -430,14 +430,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (ed817d93facd8e00 e67e9b52a4f4c5dc   ) 
    - + @@ -450,14 +450,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (b7dbad810488a897 bfd00835cc19bf3a   ) 
    - + @@ -470,14 +470,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (aad821ad53084079 f018cbfcaacb3a55   ) 
    - + @@ -490,14 +490,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (bd079edc42d55900 c43da43c95eada67   ) 
    - + @@ -510,14 +510,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (bf95ed8cf9bb51fd 92818c664a7b1aba   ) 
    - + @@ -530,14 +530,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (a9ac3bab82f6eea3 b292bd608606f041   ) 
    - + @@ -550,14 +550,14 @@

    - +

    capnp::schemas::CAPNP_DECLARE_SCHEMA (a6f4861618f79df0 d5e1a9fb31b1350d   ) 
    - + diff --git a/docs/source_docs/files/namespacefbxsdk.html b/docs/source_docs/files/namespacefbxsdk.html new file mode 100644 index 0000000..817bd93 --- /dev/null +++ b/docs/source_docs/files/namespacefbxsdk.html @@ -0,0 +1,43 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: fbxsdk Namespace Reference + + + + + + + + +
    +

    fbxsdk Namespace Reference

    capnp::schemas::CAPNP_DECLARE_SCHEMA (ffd67c4b7067dde6 ce4f8468c36f427d   ) 
    + +
    +
    + + + + diff --git a/docs/source_docs/files/namespacemembers.html b/docs/source_docs/files/namespacemembers.html index 18974bf..638d613 100644 --- a/docs/source_docs/files/namespacemembers.html +++ b/docs/source_docs/files/namespacemembers.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -94,15 +94,19 @@ Here is a list of all namespace members with links to the namespace documentatio

    - c -

    - d -

    - e -

    - f -

    @@ -166,7 +170,7 @@ Here is a list of all namespace members with links to the namespace documentatio

    - i -

    • importerHullsInProximityApexFree() -: Nv::Blast +: Nv::Blast
    • index_of_max_frac() : Nv::Blast::VSA
    • index_of_max_sgn_sq() @@ -189,8 +193,12 @@ Here is a list of all namespace members with links to the namespace documentatio : Nv::Blast

    - l -

    - m -

    • mul() @@ -213,6 +221,8 @@ Here is a list of all namespace members with links to the namespace documentatio : Nv::Blast::VSA
    • operator+=() : Nv::Blast +
    • operator>>() +: Nv::Blast
    • operator^() : Nv::Blast::VSA
    • operator|() @@ -247,10 +257,6 @@ Here is a list of all namespace members with links to the namespace documentatio : Nv::Blast::VecMath

    - t -

    diff --git a/docs/source_docs/files/namespacemembers_enum.html b/docs/source_docs/files/namespacemembers_enum.html index 177da2a..77ad764 100644 --- a/docs/source_docs/files/namespacemembers_enum.html +++ b/docs/source_docs/files/namespacemembers_enum.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -45,8 +45,8 @@ diff --git a/docs/source_docs/files/namespacemembers_eval.html b/docs/source_docs/files/namespacemembers_eval.html index 51802ba..789ac7e 100644 --- a/docs/source_docs/files/namespacemembers_eval.html +++ b/docs/source_docs/files/namespacemembers_eval.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -46,19 +46,19 @@
  • ASSET_DATA_BLOCK : capnp::schemas
  • E_B_O_X -: capnp::schemas +: capnp::schemas
  • E_C_A_P_S_U_L_E -: capnp::schemas +: capnp::schemas
  • E_C_O_N_V_E_X_M_E_S_H -: capnp::schemas +: capnp::schemas
  • E_H_E_I_G_H_T_F_I_E_L_D -: capnp::schemas +: capnp::schemas
  • E_P_L_A_N_E -: capnp::schemas +: capnp::schemas
  • E_S_P_H_E_R_E -: capnp::schemas +: capnp::schemas
  • E_T_R_I_A_N_G_L_E_M_E_S_H -: capnp::schemas +: capnp::schemas
  • INSTANCE_DATA_BLOCK : capnp::schemas
  • OPPOSITE_WINDING diff --git a/docs/source_docs/files/namespacemembers_func.html b/docs/source_docs/files/namespacemembers_func.html index 1ef3d23..9dd38ed 100644 --- a/docs/source_docs/files/namespacemembers_func.html +++ b/docs/source_docs/files/namespacemembers_func.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -86,15 +86,19 @@

    - c -

    - d -

    - f -

    @@ -140,7 +144,7 @@

    - i -

    - l -

    - m -

    • mul() @@ -181,6 +189,8 @@ : Nv::Blast::VSA
    • operator+=() : Nv::Blast +
    • operator>>() +: Nv::Blast
    • operator^() : Nv::Blast::VSA
    • operator|() diff --git a/docs/source_docs/files/namespacemembers_type.html b/docs/source_docs/files/namespacemembers_type.html index 2d0d04e..9019049 100644 --- a/docs/source_docs/files/namespacemembers_type.html +++ b/docs/source_docs/files/namespacemembers_type.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Class Members + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Class Members @@ -55,10 +55,6 @@ : Nv::Blast
    • real : Nv::Blast::VSA -
    • TkAtomicJobQueue -: Nv::Blast -
    • TkDeserializeFn -: Nv::Blast
  • diff --git a/docs/source_docs/files/namespacenvidia.html b/docs/source_docs/files/namespacenvidia.html index 237a5bb..df9e05f 100644 --- a/docs/source_docs/files/namespacenvidia.html +++ b/docs/source_docs/files/namespacenvidia.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: nvidia Namespace Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: nvidia Namespace Reference diff --git a/docs/source_docs/files/namespacenvidia_1_1apex.html b/docs/source_docs/files/namespacenvidia_1_1apex.html index 43f208e..38d4eba 100644 --- a/docs/source_docs/files/namespacenvidia_1_1apex.html +++ b/docs/source_docs/files/namespacenvidia_1_1apex.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: nvidia::apex Namespace Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: nvidia::apex Namespace Reference diff --git a/docs/source_docs/files/namespacephysx.html b/docs/source_docs/files/namespacephysx.html index f05e1ce..477458c 100644 --- a/docs/source_docs/files/namespacephysx.html +++ b/docs/source_docs/files/namespacephysx.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: physx Namespace Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: physx Namespace Reference @@ -39,6 +39,9 @@ namespace  shdfnd +

    Detailed Description

    +Raw serialization function declarations for BlastExtPx +

    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_array.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_array.html new file mode 100644 index 0000000..84ebd7c --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_array.html @@ -0,0 +1,85 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Array< T > Struct Template Reference + + + + + + + + +
    +

    Nv::Blast::Array< T > Struct Template Reference

    #include <NvBlastArray.h> +

    + +

    +List of all members. + + + + +

    Public Types

    typedef physx::shdfnd::Array
    +< T, Allocator
    type
    +


    Detailed Description

    +

    template<class T>
    + struct Nv::Blast::Array< T >

    + +Wrapped PxShared Array that uses NvBlastGlobals AllocatorCalllback.

    Member Typedef Documentation

    + +
    +
    +
    +template<class T>
    + + + + +
    typedef physx::shdfnd::Array<T, Allocator> Nv::Blast::Array< T >::type
    +
    +
    + +

    + +

    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation-members.html index 4ab0de5..7f79feb 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html index faa687b..8cbcb18 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::Asset::Asset::ChunkAnnotation Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Asset::Asset::ChunkAnnotation Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_authoring_result-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_authoring_result-members.html new file mode 100644 index 0000000..82fd3d0 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_authoring_result-members.html @@ -0,0 +1,66 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + + + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_authoring_result.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_authoring_result.html new file mode 100644 index 0000000..6833a21 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_authoring_result.html @@ -0,0 +1,366 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::AuthoringResult Struct Reference + + + + + + + + +
    +

    Nv::Blast::AuthoringResult Struct Reference

    #include <NvBlastExtAuthoringTypes.h> +

    + +

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

    Public Member Functions

    virtual void release ()=0
    virtual void releaseCollisionHulls ()=0
    virtual ~AuthoringResult ()

    Public Attributes

    NvBlastAssetasset
    uint32_t * assetToFractureChunkIdMap
    uint32_t bondCount
    NvBlastBondDescbondDescs
    uint32_t chunkCount
    NvBlastChunkDescchunkDescs
    CollisionHull ** collisionHull
    uint32_t * collisionHullOffset
    Trianglegeometry
    uint32_t * geometryOffset
    uint32_t materialCount
    char ** materialNames
    struct ExtPxChunkphysicsChunks
    struct ExtPxSubchunkphysicsSubchunks
    +


    Detailed Description

    +Authoring results. Which contains NvBlastAsset, render and collision meshes

    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + +
    virtual Nv::Blast::AuthoringResult::~AuthoringResult (  )  [inline, virtual]
    +
    +
    + +

    + +

    +

    +


    Member Function Documentation

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

    +Free all data and AuthoringResult +

    +

    + +

    +
    + + + + + + + + +
    virtual void Nv::Blast::AuthoringResult::releaseCollisionHulls (  )  [pure virtual]
    +
    +
    + +

    +Free collision hulls data +

    +

    +


    Member Data Documentation

    + +

    + +

    + +
    + +

    +assetToFractureChunkIdMap used for getting internal FractureChunkId with FractureTool::getChunkId. FractureChunkId = FractureTool.getChunkId(aResult.assetToFractureChunkIdMap(AssetChunkId); +

    +

    + +

    + +
    + +

    + +

    +

    + +

    + +

    + +
    + +

    + +

    +

    + +

    + +

    + +

    + +
    + +

    +Collision hull offsets. Contains chunkCount + 1 element. First collision hull for i-th chunk: aResult.collisionHull[aResult.collisionHullOffset[i]] aResult.collisionHullOffset[chunkCount+1] is total number of collision hulls in collisionHull +

    +

    + +

    + +

    + +
    + +

    +Offsets for render mesh geometry. Contains chunkCount + 1 element. First triangle for i-th chunk: aResult.geometry[aResult.geometryOffset[i]] aResult.geometryOffset[chunkCount+1] is total number of triangles in geometry +

    +

    + +

    + +
    + +

    +Size of array of material names. +

    +

    + +

    + +
    + +

    +Array of material names. +

    +

    + +

    + +
    + +

    +Array of chunk physics parameters. Contains chunkCount elements +

    +

    + +

    + +
    + +

    +Array of phisics subchunks (convex mesh) descriptors. Use collisionHullOffset for accessing elements. +

    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config-members.html index dd9ce1d..75886d5 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config.html index 33576d6..6edbacc 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_bond_generation_config.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::BondGenerationConfig Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::BondGenerationConfig Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_boolean_conf-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_boolean_conf-members.html index 8fbe9eb..af3ac10 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_boolean_conf-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_boolean_conf-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_boolean_conf.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_boolean_conf.html index 498c3f9..8281784 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_boolean_conf.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_boolean_conf.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::BooleanConf Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::BooleanConf Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html index 1b504c1..8f75627 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html index dcefb88..d29bf06 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ChunkInfo Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ChunkInfo Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_collision_hull.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_collision_hull.html index afba4bf..6d38c06 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_collision_hull.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_collision_hull.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::CollisionHull Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::CollisionHull Struct Reference @@ -41,8 +41,17 @@
    -

    Nv::Blast::CollisionHull Struct Reference

    #include <NvBlastExtAuthoringCollisionBuilder.h> +

    Nv::Blast::CollisionHull Struct Reference

    #include <NvBlastExtAuthoringTypes.h>

    +

    +Inheritance diagram for Nv::Blast::CollisionHull:
    +
    + +

    + +Nv::Blast::CollisionHullImpl + +
    @@ -51,7 +60,7 @@

    Classes


    Detailed Description

    Collision hull geometry format.
    The documentation for this struct was generated from the following file: +
  • sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h
  • -

    Nv::Blast::CollisionHull::CollisionHull::HullPolygon Struct Reference

    #include <NvBlastExtAuthoringCollisionBuilder.h> +

    Nv::Blast::CollisionHull::CollisionHull::HullPolygon Struct Reference

    #include <NvBlastExtAuthoringTypes.h>

    @@ -103,7 +103,7 @@ Collision hull polygon format.


    Member Data Documentation


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h
    -

    Nv::Blast::EdgeToTriangles Struct Reference

    #include <NvBlastExtAuthoringTriangulator.h> +

    Nv::Blast::EdgeToTriangles Struct Reference

    #include <NvBlastExtAuthoringMeshNoiser.h>

    @@ -185,7 +185,7 @@ Replaces mapping from one triangle to another.


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/authoring/source/NvBlastExtAuthoringMeshNoiser.h


    Member Data Documentation

    + +
    + +
    + +

    +penetration attenuation ([0..1], where 1 means damage attenuates linearly from 0 to max penetration depth). +

    + +

    +

    @@ -115,24 +147,75 @@ custom damage function, can be nullptr, default internal one will be used in tha

    -data to be passed in custom damage function +data to be passed in custom damage function.

    - +

    -global fragility factor +max damage to be applied (if impulse is >= impulseMaxThreshold). +

    + +

    +

    + +

    + +
    + +

    +max penetration depth (if impulse is >= impulseMaxThreshold). +

    + +

    +

    + +

    + +
    + +

    +max impulse value, damage is interpolated value between min and max impulses. +

    + +

    +

    + +

    + +
    + +

    +min impulse value to apply impact damage.

    @@ -149,7 +232,24 @@ global fragility factor

    -family's self collision enabled +family's self collision enabled. +

    + +

    +

    + +

    + +
    + +

    +use shear damage program (otherwise simple radial damage is used)

    diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_inline_array-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_inline_array-members.html deleted file mode 100644 index 951b510..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_inline_array-members.html +++ /dev/null @@ -1,50 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - - - - -
    -

    Nv::Blast::ExtInlineArray< T, N > Member List

    This is the complete list of members for Nv::Blast::ExtInlineArray< T, N >, including all inherited members.

    - -
    type typedefNv::Blast::ExtInlineArray< T, N >

    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_inline_array.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_inline_array.html deleted file mode 100644 index dc18f85..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_inline_array.html +++ /dev/null @@ -1,85 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtInlineArray< T, N > Struct Template Reference - - - - - - - - -
    -

    Nv::Blast::ExtInlineArray< T, N > Struct Template Reference

    #include <NvBlastExtArray.h> -

    - -

    -List of all members. - - - - -

    Public Types

    typedef
    -physx::shdfnd::InlineArray< T,
    -N, ExtAllocator
    type
    -

    template<class T, uint32_t N>
    - struct Nv::Blast::ExtInlineArray< T, N >

    - -

    Member Typedef Documentation

    - -
    -
    -
    -template<class T, uint32_t N>
    - - - - -
    typedef physx::shdfnd::InlineArray<T, N, ExtAllocator> Nv::Blast::ExtInlineArray< T, N >::type
    -
    -
    - -

    - -

    -

    -


    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_profile_data-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_profile_data-members.html new file mode 100644 index 0000000..a4bc965 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_profile_data-members.html @@ -0,0 +1,51 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + +
    +

    Nv::Blast::ExtProfileData Member List

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

    + + +
    dataNv::Blast::ExtProfileData
    nameNv::Blast::ExtProfileData

    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_profile_data.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_profile_data.html new file mode 100644 index 0000000..b3b24d9 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_profile_data.html @@ -0,0 +1,95 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtProfileData Struct Reference + + + + + + + + +
    +

    Nv::Blast::ExtProfileData Struct Reference

    #include <NvBlastExtCustomProfiler.h> +

    + +

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

    Public Attributes

    void * data
    const char * name
    +


    Member Data Documentation

    + +
    + +
    + +

    + +

    +

    + +

    +
    + + + + +
    const char* Nv::Blast::ExtProfileData::name
    +
    +
    + +

    + +

    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template-members.html index 3c22337..e33d738 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template.html index 565837e..979c919 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_actor_desc_template.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtPxActorDescTemplate Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtPxActorDescTemplate Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc-members.html index e8c0623..54744d2 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.html index 16ceeae..c9f9c90 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtPxAssetDesc Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtPxAssetDesc Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc-members.html index dac690c..7d2c7b1 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html index db77759..b806eca 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc-members.html index 3a23708..3529511 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc.html index 5349676..5a9df03 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_subchunk_desc.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::SubchunkDesc Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk-members.html index b147f4a..1b1aa4c 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk.html index 53f314f..1cd32bb 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_chunk.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtPxChunk Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtPxChunk Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc-members.html index e6d8375..af14c62 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -40,7 +40,7 @@

    Nv::Blast::ExtPxFamilyDesc Member List

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

    - +
    actorDescNv::Blast::ExtPxFamilyDesc
    actorDescNv::Blast::ExtPxFamilyDesc
    groupNv::Blast::ExtPxFamilyDesc
    pxAssetNv::Blast::ExtPxFamilyDesc

    diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc.html index c446d4e..b3667e1 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_family_desc.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtPxFamilyDesc Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtPxFamilyDesc Struct Reference @@ -48,9 +48,9 @@ List of all members. - + - + @@ -61,19 +61,19 @@

    Detailed Description

    Family Desc.

    Used to create Physics Family.


    Member Data Documentation

    - +

    Public Attributes

    NvBlastActorDesc actorDesc
    const NvBlastActorDescactorDesc
     actor descriptor to be used when creating TkActor.
     actor descriptor to be used when creating TkActor. If nullptr, default NvBlastActorDesc from ExtPxAsset will be used.
    TkGroupgroup
     if not nullptr, created TkActor will be placed in group
    - +
    NvBlastActorDesc Nv::Blast::ExtPxFamilyDesc::actorDesc const NvBlastActorDesc* Nv::Blast::ExtPxFamilyDesc::actorDesc

    -actor descriptor to be used when creating TkActor. +actor descriptor to be used when creating TkActor. If nullptr, default NvBlastActorDesc from ExtPxAsset will be used.

    diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_object_type_i_d-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_object_type_i_d-members.html new file mode 100644 index 0000000..eb69b7e --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_object_type_i_d-members.html @@ -0,0 +1,51 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + +
    +

    Nv::Blast::ExtPxObjectTypeID Member List

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

    + + +
    Asset enum valueNv::Blast::ExtPxObjectTypeID
    Enum enum nameNv::Blast::ExtPxObjectTypeID

    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html new file mode 100644 index 0000000..5408e6a --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html @@ -0,0 +1,83 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtPxObjectTypeID Struct Reference + + + + + + + + +
    +

    Nv::Blast::ExtPxObjectTypeID Struct Reference

    #include <NvBlastExtPxSerialization.h> +

    + +

    +List of all members. + + +

    Public Types

    +


    Detailed Description

    +Standard Object Type IDs

    Member Enumeration Documentation

    + +
    + +
    + +

    +

    Enumerator:
    + + +
    Asset  +
    +
    + +
    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template-members.html index cb5531a..46c60d2 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template.html index 5f697fe..df4eadc 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_shape_desc_template.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtPxShapeDescTemplate Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtPxShapeDescTemplate Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings-members.html index 9460f9b..e64c417 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings.html index 6753ddf..83f2074 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_spawn_settings.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtPxSpawnSettings Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtPxSpawnSettings Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk-members.html index a9be741..471de72 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk.html index 83a6004..9e60387 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_px_subchunk.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtPxSubchunk Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtPxSubchunk Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_serialization_1_1_encoding_i_d-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_serialization_1_1_encoding_i_d-members.html new file mode 100644 index 0000000..4963c65 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_serialization_1_1_encoding_i_d-members.html @@ -0,0 +1,52 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + +
    +

    Nv::Blast::ExtSerialization::ExtSerialization::EncodingID Member List

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

    + + + +
    CapnProtoBinary enum valueNv::Blast::ExtSerialization::ExtSerialization::EncodingID
    Enum enum nameNv::Blast::ExtSerialization::ExtSerialization::EncodingID
    RawBinary enum valueNv::Blast::ExtSerialization::ExtSerialization::EncodingID

    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_serialization_1_1_encoding_i_d.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_serialization_1_1_encoding_i_d.html new file mode 100644 index 0000000..69de513 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_serialization_1_1_encoding_i_d.html @@ -0,0 +1,85 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtSerialization::ExtSerialization::EncodingID Struct Reference + + + + + + + + +
    +

    Nv::Blast::ExtSerialization::ExtSerialization::EncodingID Struct Reference

    #include <NvBlastExtSerialization.h> +

    + +

    +List of all members. + + +

    Public Types

    +


    Detailed Description

    +Standard Encoding IDs

    Member Enumeration Documentation

    + +
    + +
    + +

    +

    Enumerator:
    + + + +
    CapnProtoBinary  +
    RawBinary  +
    +
    + +
    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_bond_cached_data-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_bond_cached_data-members.html deleted file mode 100644 index c278335..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_bond_cached_data-members.html +++ /dev/null @@ -1,50 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - - - - -
    -

    Nv::Blast::ExtStressBondCachedData Member List

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

    - -
    bondIndexNv::Blast::ExtStressBondCachedData

    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_bond_cached_data.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_bond_cached_data.html deleted file mode 100644 index 92a6115..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_bond_cached_data.html +++ /dev/null @@ -1,78 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtStressBondCachedData Struct Reference - - - - - - - - -
    -

    Nv::Blast::ExtStressBondCachedData Struct Reference

    #include <NvBlastExtImpulseStressSolver.h> -

    - -

    -List of all members. - - - - -

    Public Attributes

    uint32_t bondIndex
    -


    Member Data Documentation

    - -
    - -
    - -

    - -

    -

    -


    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_node_cached_data-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_node_cached_data-members.html deleted file mode 100644 index 8dad0d3..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_node_cached_data-members.html +++ /dev/null @@ -1,51 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - - - - -
    -

    Nv::Blast::ExtStressNodeCachedData Member List

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

    - - -
    isStaticNv::Blast::ExtStressNodeCachedData
    localPosNv::Blast::ExtStressNodeCachedData

    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_node_cached_data.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_node_cached_data.html deleted file mode 100644 index 0e58c73..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_node_cached_data.html +++ /dev/null @@ -1,95 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtStressNodeCachedData Struct Reference - - - - - - - - -
    -

    Nv::Blast::ExtStressNodeCachedData Struct Reference

    #include <NvBlastExtImpulseStressSolver.h> -

    - -

    -List of all members. - - - - - - -

    Public Attributes

    bool isStatic
    physx::PxVec3 localPos
    -


    Member Data Documentation

    - -
    - -
    - -

    - -

    -

    - -

    - -
    - -

    - -

    -

    -


    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_buffer-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_buffer-members.html new file mode 100644 index 0000000..c9fa8e9 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_buffer-members.html @@ -0,0 +1,51 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + +
    +

    Nv::Blast::ExtStressSolver::ExtStressSolver::DebugBuffer Member List

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

    + + +
    lineCountNv::Blast::ExtStressSolver::ExtStressSolver::DebugBuffer
    linesNv::Blast::ExtStressSolver::ExtStressSolver::DebugBuffer

    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_buffer.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_buffer.html new file mode 100644 index 0000000..f0ee873 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_buffer.html @@ -0,0 +1,96 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtStressSolver::ExtStressSolver::DebugBuffer Struct Reference + + + + + + + + +
    +

    Nv::Blast::ExtStressSolver::ExtStressSolver::DebugBuffer Struct Reference

    #include <NvBlastExtStressSolver.h> +

    + +

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

    Public Attributes

    uint32_t lineCount
    const DebugLinelines
    +


    Detailed Description

    +Debug Buffer

    Member Data Documentation

    + +
    +
    + + + + +
    uint32_t Nv::Blast::ExtStressSolver::ExtStressSolver::DebugBuffer::lineCount
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + +
    const DebugLine* Nv::Blast::ExtStressSolver::ExtStressSolver::DebugBuffer::lines
    +
    +
    + +

    + +

    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_line-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_line-members.html new file mode 100644 index 0000000..ebd116d --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_line-members.html @@ -0,0 +1,54 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + + + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_line.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_line.html new file mode 100644 index 0000000..17f2a3e --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_1_1_debug_line.html @@ -0,0 +1,169 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine Struct Reference + + + + + + + + +
    +

    Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine Struct Reference

    #include <NvBlastExtStressSolver.h> +

    + +

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

    Public Member Functions

     DebugLine (const physx::PxVec3 &p0, const physx::PxVec3 &p1, const uint32_t &c)

    Public Attributes

    uint32_t color0
    uint32_t color1
    physx::PxVec3 pos0
    physx::PxVec3 pos1
    +


    Detailed Description

    +Used to store a single line and colour for debug rendering.

    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine::DebugLine (const physx::PxVec3 &  p0,
    const physx::PxVec3 &  p1,
    const uint32_t &  c 
    ) [inline]
    +
    +
    + +

    + +

    +

    +


    Member Data Documentation

    + +
    +
    + + + + +
    uint32_t Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine::color0
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + +
    uint32_t Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine::color1
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + +
    physx::PxVec3 Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine::pos0
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + +
    physx::PxVec3 Nv::Blast::ExtStressSolver::ExtStressSolver::DebugLine::pos1
    +
    +
    + +

    + +

    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings-members.html index 8ee59a1..8a6faf3 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -43,6 +43,7 @@ bondIterationsPerFrameNv::Blast::ExtStressSolverSettings ExtStressSolverSettings()Nv::Blast::ExtStressSolverSettings [inline] graphReductionLevelNv::Blast::ExtStressSolverSettings + hardnessNv::Blast::ExtStressSolverSettings stressAngularFactorNv::Blast::ExtStressSolverSettings stressLinearFactorNv::Blast::ExtStressSolverSettings diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings.html index 4187aef..207f827 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ext_stress_solver_settings.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::ExtStressSolverSettings Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ExtStressSolverSettings Struct Reference @@ -57,6 +57,9 @@ uint32_t graphReductionLevel  graph reduction level
    +float hardness + + hardness of bond's material
    float stressAngularFactor  angular stress on bond multiplier
    @@ -66,8 +69,8 @@

    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

    +Stress on every bond is calculated as stress = (bond.linearStress * stressLinearFactor + bond.angularStress * stressAngularFactor) / hardness; where: bond.linearStress = the linear stress force on particular bond bond.angularStress = the angular stress force on particular bond stressLinearFactor, stressAngularFactor, hardness = multiplier parameters set by this struct

    +Support graph reduction: graphReductionLevel is the number of node merge passes. The resulting graph will be roughly 2^graphReductionLevel times smaller than the original.


    Constructor & Destructor Documentation

    @@ -121,6 +124,23 @@ number of bond iterations to perform per frame, graph reduction level

    +

    +

    + +

    + +
    + +

    +hardness of bond's material +

    +

    @@ -158,7 +178,7 @@ linear stress on bond multiplier


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/stress/include/NvBlastExtStressSolver.h

    Nv::Blast::FamilyHeader Member List

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

    + + + + + + + + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_family_header.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_family_header.html index 0ae678b..6606676 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_family_header.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_family_header.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::FamilyHeader Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::FamilyHeader Struct Reference @@ -57,10 +57,32 @@ Inheritance diagram for Nv::Blast::FamilyHeader:List of all members.
    applyFracture(NvBlastFractureBuffers *eventBuffers, const NvBlastFractureBuffers *commands, Actor *filterActor, NvBlastLog logFn, NvBlastTimers *timers)Nv::Blast::FamilyHeader
    AssetDataBlock enum valueNvBlastDataBlock
    borrowActor(uint32_t index)Nv::Blast::FamilyHeader
    Count enum valueNvBlastDataBlock
    dataTypeNvBlastDataBlock
    FamilyDataBlock enum valueNvBlastDataBlock
    formatVersionNvBlastDataBlock
    fractureInPlaceEvents(uint32_t chunkFractureCount, NvBlastChunkFractureData *inoutbuffer, uint32_t eventsSize, uint32_t *count, Actor *filterActor, NvBlastLog logFn)Nv::Blast::FamilyHeader
    fractureNoEvents(uint32_t chunkFractureCount, const NvBlastChunkFractureData *chunkFractures, Actor *filterActor, NvBlastLog logFn)Nv::Blast::FamilyHeader
    fractureSubSupport(uint32_t chunkIndex, uint32_t suboffset, float healthDamage, float *chunkHealths, const NvBlastChunk *chunks, NvBlastChunkFractureData *outBuffer, uint32_t *currentIndex, const uint32_t maxCount)Nv::Blast::FamilyHeader
    fractureSubSupportNoEvents(uint32_t chunkIndex, uint32_t suboffset, float healthDamage, float *chunkHealths, const NvBlastChunk *chunks)Nv::Blast::FamilyHeader
    fractureWithEvents(uint32_t chunkFractureCount, const NvBlastChunkFractureData *commands, NvBlastChunkFractureData *events, uint32_t eventsSize, uint32_t *count, Actor *filterActor, NvBlastLog logFn)Nv::Blast::FamilyHeader
    getActorBufferSize() const Nv::Blast::FamilyHeader
    getActorByIndex(uint32_t index) const Nv::Blast::FamilyHeader
    getGetChunkActor(uint32_t chunkIndex) const Nv::Blast::FamilyHeader
    getGetChunkActorIndex(uint32_t chunkIndex) const Nv::Blast::FamilyHeader
    getGetNodeActor(uint32_t nodeIndex) const Nv::Blast::FamilyHeader
    getGetNodeActorIndex(uint32_t nodeIndex) const Nv::Blast::FamilyHeader
    getSubsupportChunkHealths() const Nv::Blast::FamilyHeader [inline]
    isActorActive(uint32_t index) const Nv::Blast::FamilyHeader
    m_actorCountNv::Blast::FamilyHeader
    + + + + + + + + + + + + + + + + + + + + + + @@ -98,6 +120,64 @@ Inheritance diagram for Nv::Blast::FamilyHeader:

    Detailed Description

    Data header at the beginning of every NvBlastActor family

    The block address may be cast to a valid FamilyHeader pointer.


    Member Function Documentation

    + +
    +
    +

    Public Member Functions

    void applyFracture (NvBlastFractureBuffers *eventBuffers, const NvBlastFractureBuffers *commands, Actor *filterActor, NvBlastLog logFn, NvBlastTimers *timers)
    ActorborrowActor (uint32_t index)
    void fractureInPlaceEvents (uint32_t chunkFractureCount, NvBlastChunkFractureData *inoutbuffer, uint32_t eventsSize, uint32_t *count, Actor *filterActor, NvBlastLog logFn)
    void fractureNoEvents (uint32_t chunkFractureCount, const NvBlastChunkFractureData *chunkFractures, Actor *filterActor, NvBlastLog logFn)
    void fractureSubSupport (uint32_t chunkIndex, uint32_t suboffset, float healthDamage, float *chunkHealths, const NvBlastChunk *chunks, NvBlastChunkFractureData *outBuffer, uint32_t *currentIndex, const uint32_t maxCount)
    void fractureSubSupportNoEvents (uint32_t chunkIndex, uint32_t suboffset, float healthDamage, float *chunkHealths, const NvBlastChunk *chunks)
    void fractureWithEvents (uint32_t chunkFractureCount, const NvBlastChunkFractureData *commands, NvBlastChunkFractureData *events, uint32_t eventsSize, uint32_t *count, Actor *filterActor, NvBlastLog logFn)
    uint32_t getActorBufferSize () const
    ActorgetActorByIndex (uint32_t index) const
    ActorgetGetChunkActor (uint32_t chunkIndex) const
    uint32_t getGetChunkActorIndex (uint32_t chunkIndex) const
    ActorgetGetNodeActor (uint32_t nodeIndex) const
    uint32_t getGetNodeActorIndex (uint32_t nodeIndex) const
    float * getSubsupportChunkHealths () const
    bool isActorActive (uint32_t index) const
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void Nv::Blast::FamilyHeader::applyFracture (NvBlastFractureBuffers eventBuffers,
    const NvBlastFractureBuffers commands,
    Actor filterActor,
    NvBlastLog  logFn,
    NvBlastTimers timers 
    )
    +

    +
    + +

    +See NvBlastActorApplyFracture

    +

    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] filterActor pointer to the actor to filter commands that target other actors. May be NULL to apply all commands
    [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.
    +
    + +
    +

    @@ -123,6 +203,332 @@ Gets an actor from the actor array and validates it if it is not already valid.
  • Returns:
    A pointer to the indexed Actor.
    + +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void Nv::Blast::FamilyHeader::fractureInPlaceEvents (uint32_t  chunkFractureCount,
    NvBlastChunkFractureData inoutbuffer,
    uint32_t  eventsSize,
    uint32_t *  count,
    Actor filterActor,
    NvBlastLog  logFn 
    )
    +
    +
    + +

    +Apply chunk fracture commands hierarchically, recording a fracture event for each health damage applied.

    +In-Place version: fracture commands are replaced by fracture events.

    +If inoutbuffer array is too small, events are dropped but the chunks are still damaged.

    +

    Parameters:
    + + + + + + + +
    chunkFractureCount number of chunk fracture commands to apply
    inoutbuffer array of chunk fracture commands to be replaced by events
    eventsSize number of available entries in inoutbuffer
    count returns the number of damaged chunks
    [in] filterActor pointer to the actor to filter commands that target other actors. May be NULL to apply all commands
    [in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
    +
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void Nv::Blast::FamilyHeader::fractureNoEvents (uint32_t  chunkFractureCount,
    const NvBlastChunkFractureData chunkFractures,
    Actor filterActor,
    NvBlastLog  logFn 
    )
    +
    +
    + +

    +Apply chunk fracture commands hierarchically.

    +

    Parameters:
    + + + + + +
    chunkFractureCount number of chunk fracture commands to apply
    chunkFractures array of chunk fracture commands
    filterActor pointer to the actor to filter commands corresponding to other actors. May be NULL to apply all commands
    [in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
    +
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void Nv::Blast::FamilyHeader::fractureSubSupport (uint32_t  chunkIndex,
    uint32_t  suboffset,
    float  healthDamage,
    float *  chunkHealths,
    const NvBlastChunk chunks,
    NvBlastChunkFractureData outBuffer,
    uint32_t *  currentIndex,
    const uint32_t  maxCount 
    )
    +
    +
    + +

    +Hierarchically distribute damage to child chunks, recording a fracture event for each health damage applied.

    +If outBuffer is too small, events are dropped but the chunks are still damaged.

    +

    Parameters:
    + + + + + + + + + + + +
    chunkIndex asset chunk index to hierarchically damage
    suboffset index of the first sub-support health
    healthDamage damage strength to apply
    chunkHealths instance chunk healths
    chunks asset chunk collection
    outBuffer target buffer for fracture events
    currentIndex current position in outBuffer - returns the number of damaged chunks
    maxCount capacity of outBuffer
    [in] filterActor pointer to the actor to filter commands that target other actors. May be NULL to apply all commands
    [in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
    +
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void Nv::Blast::FamilyHeader::fractureSubSupportNoEvents (uint32_t  chunkIndex,
    uint32_t  suboffset,
    float  healthDamage,
    float *  chunkHealths,
    const NvBlastChunk chunks 
    )
    +
    +
    + +

    +Hierarchically distribute damage to child chunks.

    +

    Parameters:
    + + + + + + +
    chunkIndex asset chunk index to hierarchically damage
    suboffset index of the first sub-support health
    healthDamage damage strength to apply
    chunkHealths instance chunk healths
    chunks asset chunk collection
    +
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void Nv::Blast::FamilyHeader::fractureWithEvents (uint32_t  chunkFractureCount,
    const NvBlastChunkFractureData commands,
    NvBlastChunkFractureData events,
    uint32_t  eventsSize,
    uint32_t *  count,
    Actor filterActor,
    NvBlastLog  logFn 
    )
    +
    +
    + +

    +Apply chunk fracture commands hierarchically, recording a fracture event for each health damage applied.

    +If events array is too small, events are dropped but the chunks are still damaged.

    +

    Parameters:
    + + + + + + + + +
    chunkFractureCount number of chunk fracture commands to apply
    commands array of chunk fracture commands
    events target buffer for fracture events
    eventsSize number of available entries in 'events'
    count returns the number of damaged chunks
    [in] filterActor pointer to the actor to filter commands that target other actors. May be NULL to apply all commands
    [in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
    +
    +

    @@ -144,6 +550,141 @@ Gets an actor from the actor array and validates it if it is not already valid. Returns the total number of actors in the Actor buffer, active and inactive.

    Returns:
    the number of Actors in the actor buffer. See borrowActor.
    + +

    + +

    +
    + + + + + + + + + +
    NV_INLINE Actor * Nv::Blast::FamilyHeader::getActorByIndex (uint32_t  index  )  const
    +
    +
    + +

    +Retrieve the actor from an index. If actor is inactive nullptr is returned.

    +

    Parameters:
    + + +
    [in] index The index of an actor.
    +
    +
    Returns:
    A pointer to the indexed actor if the actor is active, nullptr otherwise.
    + +
    +

    + +

    +
    + + + + + + + + + +
    NV_INLINE Actor * Nv::Blast::FamilyHeader::getGetChunkActor (uint32_t  chunkIndex  )  const
    +
    +
    + +

    +Retrieve an actor associated with the given chunk.

    +

    Parameters:
    + + +
    [in] chunkIndex The index of chunk.
    +
    +
    Returns:
    A pointer to the actor if the actor is active, nullptr otherwise.
    + +
    +

    + +

    +
    + + + + + + + + + +
    NV_INLINE uint32_t Nv::Blast::FamilyHeader::getGetChunkActorIndex (uint32_t  chunkIndex  )  const
    +
    +
    + +

    +Retrieve the index of an actor associated with the given chunk.

    +

    Parameters:
    + + +
    [in] chunkIndex The index of chunk.
    +
    +
    Returns:
    the index of associated actor in the FamilyHeader's getActors() array.
    + +
    +

    + +

    +
    + + + + + + + + + +
    NV_INLINE Actor * Nv::Blast::FamilyHeader::getGetNodeActor (uint32_t  nodeIndex  )  const
    +
    +
    + +

    +Retrieve an actor associated with the given node.

    +

    Parameters:
    + + +
    [in] nodeIndex The index of node.
    +
    +
    Returns:
    A pointer to the actor if the actor is active, nullptr otherwise.
    + +
    +

    + +

    +
    + + + + + + + + + +
    NV_INLINE uint32_t Nv::Blast::FamilyHeader::getGetNodeActorIndex (uint32_t  nodeIndex  )  const
    +
    +
    + +

    +Retrieve the index of an actor associated with the given node.

    +

    Parameters:
    + + +
    [in] nodeIndex The index of node.
    +
    +
    Returns:
    the index of associated actor in the FamilyHeader's getActors() array.
    +

    diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_map-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_map-members.html new file mode 100644 index 0000000..91867e7 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_map-members.html @@ -0,0 +1,50 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + +

    + + +
    +

    Nv::Blast::HashMap< Key, Value, HashFn > Member List

    This is the complete list of members for Nv::Blast::HashMap< Key, Value, HashFn >, including all inherited members.

    + +
    type typedefNv::Blast::HashMap< Key, Value, HashFn >

    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_map.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_map.html new file mode 100644 index 0000000..881732f --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_map.html @@ -0,0 +1,86 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::HashMap< Key, Value, HashFn > Struct Template Reference + + + + + + + + +
    +

    Nv::Blast::HashMap< Key, Value, HashFn > Struct Template Reference

    #include <NvBlastHashMap.h> +

    + +

    +List of all members. + + + + +

    Public Types

    typedef physx::shdfnd::HashMap
    +< Key, Value, HashFn,
    +Allocator
    type
    +


    Detailed Description

    +

    template<class Key, class Value, class HashFn = physx::shdfnd::Hash<Key>>
    + struct Nv::Blast::HashMap< Key, Value, HashFn >

    + +Wrapped PxShared HashMap that uses NvBlastGlobals AllocatorCalllback.

    Member Typedef Documentation

    + +
    +
    +
    +template<class Key, class Value, class HashFn = physx::shdfnd::Hash<Key>>
    + + + + +
    typedef physx::shdfnd::HashMap<Key, Value, HashFn, Allocator> Nv::Blast::HashMap< Key, Value, HashFn >::type
    +
    +
    + +

    + +

    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_set-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_set-members.html new file mode 100644 index 0000000..2c680be --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_set-members.html @@ -0,0 +1,50 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + +
    +

    Nv::Blast::HashSet< Key, HashFn > Member List

    This is the complete list of members for Nv::Blast::HashSet< Key, HashFn >, including all inherited members.

    + +
    type typedefNv::Blast::HashSet< Key, HashFn >

    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_set.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_set.html new file mode 100644 index 0000000..62076b1 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_hash_set.html @@ -0,0 +1,85 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::HashSet< Key, HashFn > Struct Template Reference + + + + + + + + +
    +

    Nv::Blast::HashSet< Key, HashFn > Struct Template Reference

    #include <NvBlastHashSet.h> +

    + +

    +List of all members. + + + + +

    Public Types

    typedef physx::shdfnd::HashSet
    +< Key, HashFn, Allocator
    type
    +


    Detailed Description

    +

    template<class Key, class HashFn = physx::shdfnd::Hash<Key>>
    + struct Nv::Blast::HashSet< Key, HashFn >

    + +Wrapped PxShared HashSet that uses NvBlastGlobals AllocatorCalllback.

    Member Typedef Documentation

    + +
    +
    +
    +template<class Key, class HashFn = physx::shdfnd::Hash<Key>>
    + + + + +
    typedef physx::shdfnd::HashSet<Key, HashFn, Allocator> Nv::Blast::HashSet< Key, HashFn >::type
    +
    +
    + +

    + +

    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_index_d_link-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_index_d_link-members.html index 5ed1a32..c114aad 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_index_d_link-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_index_d_link-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_index_d_link.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_index_d_link.html index 928a813..22b611e 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_index_d_link.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_index_d_link.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::IndexDLink< IndexType > Struct Template Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::IndexDLink< IndexType > Struct Template Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_inline_array-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_inline_array-members.html new file mode 100644 index 0000000..bdb1648 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_inline_array-members.html @@ -0,0 +1,50 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + +
    +

    Nv::Blast::InlineArray< T, N > Member List

    This is the complete list of members for Nv::Blast::InlineArray< T, N >, including all inherited members.

    + +
    type typedefNv::Blast::InlineArray< T, N >

    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_inline_array.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_inline_array.html new file mode 100644 index 0000000..db850d5 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_inline_array.html @@ -0,0 +1,87 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::InlineArray< T, N > Struct Template Reference + + + + + + + + +
    +

    Nv::Blast::InlineArray< T, N > Struct Template Reference

    #include <NvBlastArray.h> +

    + +

    +List of all members. + + + + +

    Public Types

    typedef
    +physx::shdfnd::InlineArray< T,
    +N, Allocator
    type
    +


    Detailed Description

    +

    template<class T, uint32_t N>
    + struct Nv::Blast::InlineArray< T, N >

    + +Wrapped PxShared InlineArray that uses NvBlastGlobals AllocatorCalllback.

    +InlineArraya is array that pre-allocates for N elements.


    Member Typedef Documentation

    + +
    +
    +
    +template<class T, uint32_t N>
    + + + + +
    typedef physx::shdfnd::InlineArray<T, N, Allocator> Nv::Blast::InlineArray< T, N >::type
    +
    +
    + +

    + +

    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_less-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_less-members.html index fbc3f1b..153ad60 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_less-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_less-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_less.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_less.html index 26a6983..5a3155b 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_less.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_less.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::Less< A > Struct Template Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Less< A > Struct Template Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ll_object_type_i_d-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ll_object_type_i_d-members.html new file mode 100644 index 0000000..0ff0f88 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ll_object_type_i_d-members.html @@ -0,0 +1,52 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + +
    +

    Nv::Blast::LlObjectTypeID Member List

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

    + + + +
    Asset enum valueNv::Blast::LlObjectTypeID
    Enum enum nameNv::Blast::LlObjectTypeID
    Family enum valueNv::Blast::LlObjectTypeID

    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_ll_object_type_i_d.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ll_object_type_i_d.html new file mode 100644 index 0000000..6fa0d25 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_ll_object_type_i_d.html @@ -0,0 +1,85 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::LlObjectTypeID Struct Reference + + + + + + + + +
    +

    Nv::Blast::LlObjectTypeID Struct Reference

    #include <NvBlastExtLlSerialization.h> +

    + +

    +List of all members. + + +

    Public Types

    +


    Detailed Description

    +Standard Object Type IDs

    Member Enumeration Documentation

    + +
    + +
    + +

    +

    Enumerator:
    + + + +
    Asset  +
    Family  +
    +
    + +
    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_new-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_new-members.html deleted file mode 100644 index 489d3f1..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_new-members.html +++ /dev/null @@ -1,57 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - - - - - - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_new.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_new.html deleted file mode 100644 index c562b8f..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_new.html +++ /dev/null @@ -1,197 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew Struct Reference - - - - - - - - -
    -

    Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew Struct Reference

    #include <NvBlastExtAssetBlockVersionConverter_v0_v1.h> -

    - -

    -List of all members. - - - - - - - - - - - - - - - - - - -

    Public Attributes

    uint32_t m_bondCount
    uint32_t m_firstSubsupportChunkIndex
    uint32_t m_formatVersion
    SupportGraph m_graph
    NvBlastID m_ID
    uint32_t m_leafChunkCount
    uint32_t m_size
    uint32_t m_totalChunkCount
    -


    Member Data Documentation

    - -
    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew::m_bondCount
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew::m_firstSubsupportChunkIndex
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew::m_formatVersion
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    SupportGraph Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew::m_graph
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    NvBlastID Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew::m_ID
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew::m_leafChunkCount
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew::m_size
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderNew::m_totalChunkCount
    -
    -
    - -

    - -

    -

    -


    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_prev-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_prev-members.html deleted file mode 100644 index 1468754..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_prev-members.html +++ /dev/null @@ -1,57 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - - - - - - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_prev.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_prev.html deleted file mode 100644 index 809af78..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_asset_data_header_prev.html +++ /dev/null @@ -1,197 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev Struct Reference - - - - - - - - -
    -

    Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev Struct Reference

    #include <NvBlastExtAssetBlockVersionConverter_v0_v1.h> -

    - -

    -List of all members. - - - - - - - - - - - - - - - - - - -

    Public Attributes

    uint32_t m_bondCount
    uint32_t m_firstSubsupportChunkIndex
    uint32_t m_formatVersion
    SupportGraph m_graph
    NvBlastID m_ID
    uint32_t m_leafChunkCount
    uint32_t m_size
    uint32_t m_totalChunkCount
    -


    Member Data Documentation

    - -
    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev::m_bondCount
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev::m_firstSubsupportChunkIndex
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev::m_formatVersion
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    SupportGraph Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev::m_graph
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    NvBlastID Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev::m_ID
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev::m_leafChunkCount
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev::m_size
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::AssetDataHeaderPrev::m_totalChunkCount
    -
    -
    - -

    - -

    -

    -


    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_support_graph-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_support_graph-members.html deleted file mode 100644 index fdc4455..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_support_graph-members.html +++ /dev/null @@ -1,54 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - - - - - - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_support_graph.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_support_graph.html deleted file mode 100644 index 9443bf5..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_nv_blast_asset_block_version_converter__v0__v1_1_1_support_graph.html +++ /dev/null @@ -1,146 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph Struct Reference - - - - - - - - -
    -

    Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph Struct Reference

    #include <NvBlastExtAssetBlockVersionConverter_v0_v1.h> -

    - -

    -List of all members. - - - - - - - - - - - - -

    Public Attributes

    uint32_t m_adjacencyPartitionOffset
    uint32_t m_adjacentBondIndicesOffset
    uint32_t m_adjacentNodeIndicesOffset
    uint32_t m_chunkIndicesOffset
    uint32_t m_nodeCount
    -


    Member Data Documentation

    - -
    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph::m_adjacencyPartitionOffset
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph::m_adjacentBondIndicesOffset
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph::m_adjacentNodeIndicesOffset
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph::m_chunkIndicesOffset
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    uint32_t Nv::Blast::NvBlastAssetBlockVersionConverter_v0_v1::NvBlastAssetBlockVersionConverter_v0_v1::SupportGraph::m_nodeCount
    -
    -
    - -

    - -

    -

    -


    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer-members.html index bb99672..fb12b6b 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer.html index cf39d1e..ab792b6 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_plane_chunk_indexer.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::PlaneChunkIndexer Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::PlaneChunkIndexer Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_profiler_detail-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_profiler_detail-members.html new file mode 100644 index 0000000..557ea86 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_profiler_detail-members.html @@ -0,0 +1,53 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + +
    +

    Nv::Blast::ProfilerDetail Member List

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

    + + + + +
    HIGH enum valueNv::Blast::ProfilerDetail
    Level enum nameNv::Blast::ProfilerDetail
    LOW enum valueNv::Blast::ProfilerDetail
    MEDIUM enum valueNv::Blast::ProfilerDetail

    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_profiler_detail.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_profiler_detail.html new file mode 100644 index 0000000..317237b --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_profiler_detail.html @@ -0,0 +1,87 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::ProfilerDetail Struct Reference + + + + + + + + +
    +

    Nv::Blast::ProfilerDetail Struct Reference

    #include <NvBlastProfiler.h> +

    + +

    +List of all members. + + +

    Public Types

    +


    Detailed Description

    +Profiler detail to be reported. The higher setting is used, the more details are reported.

    Member Enumeration Documentation

    + +
    + +
    + +

    +

    Enumerator:
    + + + + +
    LOW  +
    MEDIUM  +
    HIGH  +
    +
    + +
    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_px_actor_create_info-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_px_actor_create_info-members.html index cb1a8ab..bb98330 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_px_actor_create_info-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_px_actor_create_info-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_px_actor_create_info.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_px_actor_create_info.html index 67a8676..3be2de5 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_px_actor_create_info.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_px_actor_create_info.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::PxActorCreateInfo Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::PxActorCreateInfo Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_separation-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_separation-members.html index 18cd7d4..1595a90 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_separation-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_separation-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_separation.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_separation.html index 07fa74d..127634a 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_separation.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_separation.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::Separation Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Separation Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_serialization_1_1_asset-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_serialization_1_1_asset-members.html index 8e7931e..55d6b41 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_serialization_1_1_asset-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_serialization_1_1_asset-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_serialization_1_1_asset.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_serialization_1_1_asset.html index 5e3b2cb..c7d3731 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_serialization_1_1_asset.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_serialization_1_1_asset.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::Serialization::Asset Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Serialization::Asset Struct Reference @@ -41,7 +41,7 @@
    -

    Nv::Blast::Serialization::Asset Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::Asset Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h

    Nv::Blast::Serialization::Asset::Asset::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::Asset::Asset::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::Asset::Asset::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::Asset::Asset::_capnpPrivate Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::Asset::Asset::_capnpPrivate Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::Asset::Asset::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::Asset::Asset::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerializationLL.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::ExtPxAsset Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxAsset Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h

    Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::ExtPxAsset::ExtPxAsset::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::_capnpPrivate Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::_capnpPrivate Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerialization.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::ExtPxChunk Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxChunk Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h

    Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::ExtPxChunk::ExtPxChunk::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::_capnpPrivate Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::_capnpPrivate Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerialization.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::ExtPxSubchunk Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxSubchunk Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h

    Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::_capnpPrivate Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::_capnpPrivate Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerialization.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastBond Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastBond Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h

    Nv::Blast::Serialization::NvBlastBond::NvBlastBond::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::NvBlastBond::NvBlastBond::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::NvBlastBond::NvBlastBond::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::NvBlastBond::NvBlastBond::_capnpPrivate Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastBond::NvBlastBond::_capnpPrivate Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::NvBlastBond::NvBlastBond::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::NvBlastBond::NvBlastBond::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerializationLL.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastChunk Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastChunk Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h

    Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::NvBlastChunk::NvBlastChunk::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::_capnpPrivate Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::_capnpPrivate Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerializationLL.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastDataBlock Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastDataBlock Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -101,7 +101,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h

    Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::_capnpPrivate Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::_capnpPrivate Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerializationLL.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::NvBlastSupportGraph Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastSupportGraph Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h

    Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::_capnpPrivate Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::_capnpPrivate Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerializationLL.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h
    -

    Nv::Blast::Serialization::PxConvexMeshGeometry Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxConvexMeshGeometry Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -58,19 +58,19 @@

    Public Types

    typedef
    -::capnp::schemas::Type_aad821ad53084079 Type +::capnp::schemas::Type_b197145e18e8b82a Type

    Public Member Functions

     PxConvexMeshGeometry ()

    Member Typedef Documentation

    - +


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h

    Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::_capnpPrivate Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::_capnpPrivate Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerialization.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxMeshScale Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxMeshScale Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h

    Nv::Blast::Serialization::PxMeshScale::PxMeshScale::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::PxMeshScale::PxMeshScale::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::PxMeshScale::PxMeshScale::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::PxMeshScale::PxMeshScale::_capnpPrivate Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxMeshScale::PxMeshScale::_capnpPrivate Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::PxMeshScale::PxMeshScale::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::PxMeshScale::PxMeshScale::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerialization.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxQuat Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxQuat Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h

    Nv::Blast::Serialization::PxQuat::PxQuat::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::PxQuat::PxQuat::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::PxQuat::PxQuat::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::PxQuat::PxQuat::_capnpPrivate Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxQuat::PxQuat::_capnpPrivate Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::PxQuat::PxQuat::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::PxQuat::PxQuat::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerialization.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxTransform Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxTransform Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h

    Nv::Blast::Serialization::PxTransform::PxTransform::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::PxTransform::PxTransform::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::PxTransform::PxTransform::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::PxTransform::PxTransform::_capnpPrivate Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxTransform::PxTransform::_capnpPrivate Struct Reference

    #include <NvBlastExtPxSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::PxTransform::PxTransform::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::PxTransform::PxTransform::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerialization.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtPxSerialization.capn.h
    -

    Nv::Blast::Serialization::PxVec3 Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxVec3 Struct Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h

    Nv::Blast::Serialization::PxVec3::PxVec3::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::PxVec3::PxVec3::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::PxVec3::PxVec3::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::PxVec3::PxVec3::_capnpPrivate Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::PxVec3::PxVec3::_capnpPrivate Struct Reference

    #include <NvBlastExtTkSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::PxVec3::PxVec3::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::PxVec3::PxVec3::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerialization.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::TkAsset Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::TkAsset Struct Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h

    Nv::Blast::Serialization::TkAsset::TkAsset::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::TkAsset::TkAsset::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::TkAsset::TkAsset::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::TkAsset::TkAsset::_capnpPrivate Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::TkAsset::TkAsset::_capnpPrivate Struct Reference

    #include <NvBlastExtTkSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::TkAsset::TkAsset::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::TkAsset::TkAsset::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerialization.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::TkAssetJointDesc Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::TkAssetJointDesc Struct Reference

    #include <NvBlastExtTkSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h

    Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::_capnpPrivate Struct Reference

    #include <NvBlastExtSerialization.capn.h> +

    Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::_capnpPrivate Struct Reference

    #include <NvBlastExtTkSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerialization.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtTkSerialization.capn.h
    -

    Nv::Blast::Serialization::UUID Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::UUID Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    @@ -81,7 +81,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h

    Nv::Blast::Serialization::UUID::UUID::_capnpPrivate Member List

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

    - +
    brandNv::Blast::Serialization::UUID::UUID::_capnpPrivate [static]
    brand()Nv::Blast::Serialization::UUID::UUID::_capnpPrivate [inline, static]

    -

    Nv::Blast::Serialization::UUID::UUID::_capnpPrivate Struct Reference

    #include <NvBlastExtSerializationLL.capn.h> +

    Nv::Blast::Serialization::UUID::UUID::_capnpPrivate Struct Reference

    #include <NvBlastExtLlSerialization.capn.h>

    List of all members. - + +const * 

    Static Public Attributes


    Static Public Member Functions

    static
    constexpr::capnp::_::RawBrandedSchema
    -const * 
    brand = &schema->defaultBrand
    brand ()
    -


    Member Data Documentation

    - +

    Member Function Documentation

    +
    - + + + + +
    constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::UUID::UUID::_capnpPrivate::brand = &schema->defaultBrand [static] static constexpr ::capnp::_::RawBrandedSchema const* Nv::Blast::Serialization::UUID::UUID::_capnpPrivate::brand (  )  [inline, static]
    @@ -70,7 +74,7 @@ const * NvBlastExtSerializationLL.capn.h +
  • sdk/extensions/serialization/source/generated/NvBlastExtLlSerialization.capn.h

    diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data-members.html index 3edd0bc..d217528 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data.html index 0410ee0..4ab34b5 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_data.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkActorData Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkActorData Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc-members.html index 7747e7d..51c0709 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.html index 535874e..55c71c1 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_desc.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkActorDesc Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkActorDesc Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_flag-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_flag-members.html index e6693cc..519191d 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_flag-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_flag-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_flag.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_flag.html index 2d1030c..008838d 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_flag.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_actor_flag.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkActorFlag Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkActorFlag Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_array-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_array-members.html deleted file mode 100644 index c9e6a30..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_array-members.html +++ /dev/null @@ -1,50 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - -

    - - -
    -

    Nv::Blast::TkArray< T > Member List

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

    - -
    type typedefNv::Blast::TkArray< T >

    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_array.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_array.html deleted file mode 100644 index cf16227..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_array.html +++ /dev/null @@ -1,84 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkArray< T > Struct Template Reference - - - - - - - - -
    -

    Nv::Blast::TkArray< T > Struct Template Reference

    #include <NvBlastTkArray.h> -

    - -

    -List of all members. - - - - -

    Public Types

    typedef physx::shdfnd::Array
    -< T, TkAllocator
    type
    -

    template<class T>
    - struct Nv::Blast::TkArray< T >

    - -

    Member Typedef Documentation

    - -
    -
    -
    -template<class T>
    - - - - -
    typedef physx::shdfnd::Array<T, TkAllocator> Nv::Blast::TkArray< T >::type
    -
    -
    - -

    - -

    -

    -


    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc-members.html index eb35142..7394046 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.html index ef704ab..44ad5cf 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_desc.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkAssetDesc Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkAssetDesc Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc-members.html index 0251a6c..805f816 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc.html index a571b5e..88baf8a 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_asset_joint_desc.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkAssetJointDesc Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkAssetJointDesc Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_event-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_event-members.html index 985869e..5546e96 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_event-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_event-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_event.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_event.html index 5d90519..6c14025 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_event.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_event.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkEvent Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkEvent Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands-members.html index b8607ce..e37735b 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands.html index e05eeae..aa98960 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_commands.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkFractureCommands Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkFractureCommands Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events-members.html index b29e3ac..47111e5 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events.html index 6a5bc52..8cc0a8d 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_fracture_events.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkFractureEvents Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkFractureEvents Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc-members.html deleted file mode 100644 index 4c3b975..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc-members.html +++ /dev/null @@ -1,51 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source 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/source_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc.html deleted file mode 100644 index 34fec68..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_framework_desc.html +++ /dev/null @@ -1,103 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source 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/source_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc-members.html index 0359a57..2a2629b 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_group_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -40,7 +40,7 @@

    Nv::Blast::TkGroupDesc Member List

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

    - +
    pxTaskManagerNv::Blast::TkGroupDesc
    workerCountNv::Blast::TkGroupDesc

    diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_map-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_map-members.html deleted file mode 100644 index be0b82a..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_map-members.html +++ /dev/null @@ -1,50 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - - - - -
    -

    Nv::Blast::TkHashMap< Key, Value, HashFn > Member List

    This is the complete list of members for Nv::Blast::TkHashMap< Key, Value, HashFn >, including all inherited members.

    - -
    type typedefNv::Blast::TkHashMap< Key, Value, HashFn >

    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_map.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_map.html deleted file mode 100644 index dc22bfd..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_map.html +++ /dev/null @@ -1,85 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkHashMap< Key, Value, HashFn > Struct Template Reference - - - - - - - - -
    -

    Nv::Blast::TkHashMap< Key, Value, HashFn > Struct Template Reference

    #include <NvBlastTkHashMap.h> -

    - -

    -List of all members. - - - - -

    Public Types

    typedef physx::shdfnd::HashMap
    -< Key, Value, HashFn,
    -TkAllocator
    type
    -

    template<class Key, class Value, class HashFn = physx::shdfnd::Hash<Key>>
    - struct Nv::Blast::TkHashMap< Key, Value, HashFn >

    - -

    Member Typedef Documentation

    - -
    -
    -
    -template<class Key, class Value, class HashFn = physx::shdfnd::Hash<Key>>
    - - - - -
    typedef physx::shdfnd::HashMap<Key, Value, HashFn, TkAllocator> Nv::Blast::TkHashMap< Key, Value, HashFn >::type
    -
    -
    - -

    - -

    -

    -


    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_set-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_set-members.html deleted file mode 100644 index 454e0a5..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_set-members.html +++ /dev/null @@ -1,50 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - - - - -
    -

    Nv::Blast::TkHashSet< Key, HashFn > Member List

    This is the complete list of members for Nv::Blast::TkHashSet< Key, HashFn >, including all inherited members.

    - -
    type typedefNv::Blast::TkHashSet< Key, HashFn >

    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_set.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_set.html deleted file mode 100644 index 94990f5..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_hash_set.html +++ /dev/null @@ -1,84 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkHashSet< Key, HashFn > Struct Template Reference - - - - - - - - -
    -

    Nv::Blast::TkHashSet< Key, HashFn > Struct Template Reference

    #include <NvBlastTkHashSet.h> -

    - -

    -List of all members. - - - - -

    Public Types

    typedef physx::shdfnd::HashSet
    -< Key, HashFn, TkAllocator
    type
    -

    template<class Key, class HashFn = physx::shdfnd::Hash<Key>>
    - struct Nv::Blast::TkHashSet< Key, HashFn >

    - -

    Member Typedef Documentation

    - -
    -
    -
    -template<class Key, class HashFn = physx::shdfnd::Hash<Key>>
    - - - - -
    typedef physx::shdfnd::HashSet<Key, HashFn, TkAllocator> Nv::Blast::TkHashSet< Key, HashFn >::type
    -
    -
    - -

    - -

    -

    -


    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_inline_array-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_inline_array-members.html deleted file mode 100644 index 0d8ea76..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_inline_array-members.html +++ /dev/null @@ -1,50 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List - - - - - - - - -
    -

    Nv::Blast::TkInlineArray< T, N > Member List

    This is the complete list of members for Nv::Blast::TkInlineArray< T, N >, including all inherited members.

    - -
    type typedefNv::Blast::TkInlineArray< T, N >

    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_inline_array.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_inline_array.html deleted file mode 100644 index 680c17c..0000000 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_inline_array.html +++ /dev/null @@ -1,85 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkInlineArray< T, N > Struct Template Reference - - - - - - - - -
    -

    Nv::Blast::TkInlineArray< T, N > Struct Template Reference

    #include <NvBlastTkArray.h> -

    - -

    -List of all members. - - - - -

    Public Types

    typedef
    -physx::shdfnd::InlineArray< T,
    -N, TkAllocator
    type
    -

    template<class T, uint32_t N>
    - struct Nv::Blast::TkInlineArray< T, N >

    - -

    Member Typedef Documentation

    - -
    -
    -
    -template<class T, uint32_t N>
    - - - - -
    typedef physx::shdfnd::InlineArray<T, N, TkAllocator> Nv::Blast::TkInlineArray< T, N >::type
    -
    -
    - -

    - -

    -

    -


    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data-members.html index a94a941..0ac3f6e 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data.html index 7e95026..ca47b02 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_data.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkJointData Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkJointData Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc-members.html index 6acae33..1e42a4d 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html index ab67fb4..46f2336 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkJointDesc Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkJointDesc Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_link-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_link-members.html index a0d5c7f..e36de8e 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_link-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_link-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_link.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_link.html index 1758a41..bb2a68d 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_link.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_link.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkJointLink Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkJointLink Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event-members.html index d018164..f240313 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event.html index dafcfe5..f5a68bb 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_update_event.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkJointUpdateEvent Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkJointUpdateEvent Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_object_type_i_d-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_object_type_i_d-members.html new file mode 100644 index 0000000..3fa9e5a --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_object_type_i_d-members.html @@ -0,0 +1,51 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + + + + +
    +

    Nv::Blast::TkObjectTypeID Member List

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

    + + +
    Asset enum valueNv::Blast::TkObjectTypeID
    Enum enum nameNv::Blast::TkObjectTypeID

    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_object_type_i_d.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_object_type_i_d.html new file mode 100644 index 0000000..6610f03 --- /dev/null +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_object_type_i_d.html @@ -0,0 +1,83 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkObjectTypeID Struct Reference + + + + + + + + +
    +

    Nv::Blast::TkObjectTypeID Struct Reference

    #include <NvBlastExtTkSerialization.h> +

    + +

    +List of all members. + + +

    Public Types

    +


    Detailed Description

    +Standard Object Type IDs

    Member Enumeration Documentation

    + +
    + +
    + +

    +

    Enumerator:
    + + +
    Asset  +
    +
    + +
    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_split_event-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_split_event-members.html index 80181e5..4ba495f 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_split_event-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_split_event-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_split_event.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_split_event.html index 4d527fa..3a4a1e9 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_split_event.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_split_event.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkSplitEvent Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkSplitEvent Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_type_index-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_type_index-members.html index 48a1408..b2763ad 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_type_index-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_type_index-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_type_index.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_type_index.html index 3f863d7..408ba35 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_type_index.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_type_index.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkTypeIndex Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkTypeIndex Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_worker_job-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_worker_job-members.html index 88cb555..fa8cafe 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_worker_job-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_worker_job-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_worker_job.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_worker_job.html index bacc4ea..9cf9a45 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_worker_job.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_worker_job.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TkWorkerJob Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TkWorkerJob Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle-members.html index 0cf8236..7ed353e 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle.html index d2fbbb2..3205232 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TrPrcTriangle Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TrPrcTriangle Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle2d-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle2d-members.html index f4c26eb..036e487 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle2d-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle2d-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle2d.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle2d.html index 7d87e1e..a0e428d 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle2d.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tr_prc_triangle2d.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::TrPrcTriangle2d Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::TrPrcTriangle2d Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html index 2051632..89664d4 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -44,9 +44,11 @@ bNv::Blast::Triangle cNv::Blast::Triangle getNormal()Nv::Blast::Triangle [inline] + materialIdNv::Blast::Triangle + smoothingGroupNv::Blast::Triangle Triangle()Nv::Blast::Triangle [inline] Triangle(Vertex a, Vertex b, Vertex c)Nv::Blast::Triangle [inline] - userInfoNv::Blast::Triangle + userDataNv::Blast::Triangle

    - + +

    +
    + + + + +
    int32_t Nv::Blast::Triangle::materialId
    +
    +
    + +

    + +

    +

    + +

    + +
    + +

    + +

    +

    +

    diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed-members.html index 4d874e4..7d7f2cc 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle_indexed-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -40,14 +40,17 @@


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    Triangle Nv::Blast::TriangleIndexed::convertToTriangle (Vertex vertices  )  [inline]
    +
    +
    + +

    + +

    +

    @@ -227,12 +253,42 @@ Index based triangle

    Constructor & Destructor Documentation

    - + +

    + +
    + +

    + +

    +

    + +

    + +
    + +

    + +

    +

    +

    diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_v_s3_d___halfspace___set-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_v_s3_d___halfspace___set-members.html index 55e8435..ed87f2d 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_v_s3_d___halfspace___set-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_v_s3_d___halfspace___set-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_v_s3_d___halfspace___set.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_v_s3_d___halfspace___set.html index 1d7141a..0c80e3e 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_v_s3_d___halfspace___set.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_v_s3_d___halfspace___set.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::VSA::VS3D_Halfspace_Set Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::VSA::VS3D_Halfspace_Set Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec3-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec3-members.html index cf236d9..34f4def 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec3-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec3-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec3.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec3.html index 9a4ca8c..f47e453 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec3.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec3.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::VSA::Vec3 Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::VSA::Vec3 Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec4-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec4-members.html index 22ed4a4..56c2d47 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec4-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec4-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec4.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec4.html index 7dd613f..a6621c8 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec4.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_v_s_a_1_1_vec4.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::VSA::Vec4 Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::VSA::Vec4 Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_vertex-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_vertex-members.html index 69c5dd2..22b3723 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_vertex-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_vertex-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_vertex.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_vertex.html index c0dfc61..7c3831b 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_vertex.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_vertex.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Nv::Blast::Vertex Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Nv::Blast::Vertex Struct Reference diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_vrt_comp-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_vrt_comp-members.html index e569b71..ac7b3d5 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_vrt_comp-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_vrt_comp-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -40,7 +40,7 @@

    Nv::Blast::VrtComp Member List

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

    - +
    operator()(const Vertex &a, const Vertex &b) const Nv::Blast::VrtComp
    operator()(const Vertex &a, const Vertex &b) const Nv::Blast::VrtComp [inline]

    -

    Nv::Blast::VrtComp Struct Reference

    #include <NvBlastExtAuthoringTriangulator.h> +

    Nv::Blast::VrtComp Struct Reference

    #include <NvBlastExtAuthoringInternalCommon.h>

    @@ -72,7 +72,7 @@ ) - const + const [inline]

    @@ -83,7 +83,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/authoring/source/NvBlastExtAuthoringInternalCommon.h

    Nv::Blast::VrtPositionComparator Member List

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

    - +
    operator()(const physx::PxVec3 &a, const physx::PxVec3 &b) const Nv::Blast::VrtPositionComparator
    operator()(const physx::PxVec3 &a, const physx::PxVec3 &b) const Nv::Blast::VrtPositionComparator [inline]

    -

    Nv::Blast::VrtPositionComparator Struct Reference

    #include <NvBlastExtAuthoringTriangulator.h> +

    Nv::Blast::VrtPositionComparator Struct Reference

    #include <NvBlastExtAuthoringInternalCommon.h>

    @@ -72,7 +72,7 @@ ) - const + const [inline]

    @@ -83,7 +83,7 @@


    The documentation for this struct was generated from the following file: +
  • sdk/extensions/authoring/source/NvBlastExtAuthoringInternalCommon.h

    diff --git a/docs/source_docs/files/struct_nv_blast_actor_split_event-members.html b/docs/source_docs/files/struct_nv_blast_actor_split_event-members.html index 2abc979..c3af7b2 100644 --- a/docs/source_docs/files/struct_nv_blast_actor_split_event-members.html +++ b/docs/source_docs/files/struct_nv_blast_actor_split_event-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_blast_actor_split_event.html b/docs/source_docs/files/struct_nv_blast_actor_split_event.html index 0949ffb..d026df0 100644 --- a/docs/source_docs/files/struct_nv_blast_actor_split_event.html +++ b/docs/source_docs/files/struct_nv_blast_actor_split_event.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: NvBlastActorSplitEvent Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastActorSplitEvent Struct Reference diff --git a/docs/source_docs/files/struct_nv_blast_asset.html b/docs/source_docs/files/struct_nv_blast_asset.html index 862c72f..3e826b6 100644 --- a/docs/source_docs/files/struct_nv_blast_asset.html +++ b/docs/source_docs/files/struct_nv_blast_asset.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: NvBlastAsset Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastAsset Struct Reference @@ -55,7 +55,7 @@ Inheritance diagram for NvBlastAsset:


    Detailed Description

    Asset (opaque)

    -Static destructible data, used to create actor familes.

    +Static destructible data, used to create actor families.

    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/source_docs/files/struct_nv_blast_asset_data_format-members.html b/docs/source_docs/files/struct_nv_blast_asset_data_format-members.html deleted file mode 100644 index 463ca31..0000000 --- a/docs/source_docs/files/struct_nv_blast_asset_data_format-members.html +++ /dev/null @@ -1,53 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source 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/source_docs/files/struct_nv_blast_asset_data_format.html b/docs/source_docs/files/struct_nv_blast_asset_data_format.html deleted file mode 100644 index a1405d4..0000000 --- a/docs/source_docs/files/struct_nv_blast_asset_data_format.html +++ /dev/null @@ -1,85 +0,0 @@ - - - NVIDIA(R) Blast(R) SDK 1.0 Source 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/source_docs/files/struct_nv_blast_asset_desc-members.html b/docs/source_docs/files/struct_nv_blast_asset_desc-members.html index 86dc39f..f37efe9 100644 --- a/docs/source_docs/files/struct_nv_blast_asset_desc-members.html +++ b/docs/source_docs/files/struct_nv_blast_asset_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_blast_asset_desc.html b/docs/source_docs/files/struct_nv_blast_asset_desc.html index 9346f40..d3de406 100644 --- a/docs/source_docs/files/struct_nv_blast_asset_desc.html +++ b/docs/source_docs/files/struct_nv_blast_asset_desc.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: NvBlastAssetDesc Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastAssetDesc Struct Reference diff --git a/docs/source_docs/files/struct_nv_blast_bond-members.html b/docs/source_docs/files/struct_nv_blast_bond-members.html index 65f174f..627b46b 100644 --- a/docs/source_docs/files/struct_nv_blast_bond-members.html +++ b/docs/source_docs/files/struct_nv_blast_bond-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_blast_bond.html b/docs/source_docs/files/struct_nv_blast_bond.html index 4ad1b0a..e1249e5 100644 --- a/docs/source_docs/files/struct_nv_blast_bond.html +++ b/docs/source_docs/files/struct_nv_blast_bond.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: NvBlastBond Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastBond Struct Reference @@ -56,7 +56,7 @@

    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

    +Represents the interface between two chunks. At most one bond is created for a chunk pair.

    Member Data Documentation

    diff --git a/docs/source_docs/files/struct_nv_blast_bond_desc-members.html b/docs/source_docs/files/struct_nv_blast_bond_desc-members.html index 6f9aa74..d022837 100644 --- a/docs/source_docs/files/struct_nv_blast_bond_desc-members.html +++ b/docs/source_docs/files/struct_nv_blast_bond_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_blast_bond_desc.html b/docs/source_docs/files/struct_nv_blast_bond_desc.html index 3cc6066..2658ca2 100644 --- a/docs/source_docs/files/struct_nv_blast_bond_desc.html +++ b/docs/source_docs/files/struct_nv_blast_bond_desc.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: NvBlastBondDesc Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastBondDesc Struct Reference @@ -41,6 +41,15 @@

    NvBlastBondDesc Struct Reference

    #include <NvBlastTypes.h>

    +

    +Inheritance diagram for NvBlastBondDesc:
    +
    + +

    + +NvBlastExtAssetUtilsBondDesc + +

    List of all members. @@ -80,7 +89,7 @@ Bond data (see NvBlastBond).

    -The indices of the chunks linked by this bond. They must be different support chunk indices. +The indices of the chunks linked by this bond. They must be different support chunk indices. If one of the chunk indices is the invalid index (UINT32_MAX), then this will create a bond between the chunk indexed by the other index (which must be valid) and "the world." Any actor containing this bond will cause the function NvBlastActorIsBoundToWorld to return true.


    The documentation for this struct was generated from the following file:
      diff --git a/docs/source_docs/files/struct_nv_blast_bond_desc.png b/docs/source_docs/files/struct_nv_blast_bond_desc.png new file mode 100644 index 0000000..044e217 Binary files /dev/null and b/docs/source_docs/files/struct_nv_blast_bond_desc.png differ diff --git a/docs/source_docs/files/struct_nv_blast_bond_fracture_data-members.html b/docs/source_docs/files/struct_nv_blast_bond_fracture_data-members.html index c3cee01..c563b04 100644 --- a/docs/source_docs/files/struct_nv_blast_bond_fracture_data-members.html +++ b/docs/source_docs/files/struct_nv_blast_bond_fracture_data-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_blast_bond_fracture_data.html b/docs/source_docs/files/struct_nv_blast_bond_fracture_data.html index d0d27ec..1084b33 100644 --- a/docs/source_docs/files/struct_nv_blast_bond_fracture_data.html +++ b/docs/source_docs/files/struct_nv_blast_bond_fracture_data.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: NvBlastBondFractureData Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastBondFractureData Struct Reference diff --git a/docs/source_docs/files/struct_nv_blast_chunk-members.html b/docs/source_docs/files/struct_nv_blast_chunk-members.html index c1b5e0b..99501c1 100644 --- a/docs/source_docs/files/struct_nv_blast_chunk-members.html +++ b/docs/source_docs/files/struct_nv_blast_chunk-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_blast_chunk.html b/docs/source_docs/files/struct_nv_blast_chunk.html index cff1b14..395bb31 100644 --- a/docs/source_docs/files/struct_nv_blast_chunk.html +++ b/docs/source_docs/files/struct_nv_blast_chunk.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: NvBlastChunk Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastChunk Struct Reference diff --git a/docs/source_docs/files/struct_nv_blast_chunk_desc-members.html b/docs/source_docs/files/struct_nv_blast_chunk_desc-members.html index 979014c..b3a6aee 100644 --- a/docs/source_docs/files/struct_nv_blast_chunk_desc-members.html +++ b/docs/source_docs/files/struct_nv_blast_chunk_desc-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_blast_chunk_desc.html b/docs/source_docs/files/struct_nv_blast_chunk_desc.html index 2269f95..36d1160 100644 --- a/docs/source_docs/files/struct_nv_blast_chunk_desc.html +++ b/docs/source_docs/files/struct_nv_blast_chunk_desc.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: NvBlastChunkDesc Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastChunkDesc Struct Reference diff --git a/docs/source_docs/files/struct_nv_blast_chunk_fracture_data-members.html b/docs/source_docs/files/struct_nv_blast_chunk_fracture_data-members.html index dc9fe2c..47b281a 100644 --- a/docs/source_docs/files/struct_nv_blast_chunk_fracture_data-members.html +++ b/docs/source_docs/files/struct_nv_blast_chunk_fracture_data-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_blast_chunk_fracture_data.html b/docs/source_docs/files/struct_nv_blast_chunk_fracture_data.html index 1fc171a..a201618 100644 --- a/docs/source_docs/files/struct_nv_blast_chunk_fracture_data.html +++ b/docs/source_docs/files/struct_nv_blast_chunk_fracture_data.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: NvBlastChunkFractureData Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastChunkFractureData Struct Reference diff --git a/docs/source_docs/files/struct_nv_blast_damage_program-members.html b/docs/source_docs/files/struct_nv_blast_damage_program-members.html index 533f2e7..d838525 100644 --- a/docs/source_docs/files/struct_nv_blast_damage_program-members.html +++ b/docs/source_docs/files/struct_nv_blast_damage_program-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_blast_damage_program.html b/docs/source_docs/files/struct_nv_blast_damage_program.html index 0473610..475e539 100644 --- a/docs/source_docs/files/struct_nv_blast_damage_program.html +++ b/docs/source_docs/files/struct_nv_blast_damage_program.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: NvBlastDamageProgram Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastDamageProgram Struct Reference diff --git a/docs/source_docs/files/struct_nv_blast_data_block-members.html b/docs/source_docs/files/struct_nv_blast_data_block-members.html index 77778f6..be63575 100644 --- a/docs/source_docs/files/struct_nv_blast_data_block-members.html +++ b/docs/source_docs/files/struct_nv_blast_data_block-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List diff --git a/docs/source_docs/files/struct_nv_blast_data_block.html b/docs/source_docs/files/struct_nv_blast_data_block.html index 1ce547d..0e082c2 100644 --- a/docs/source_docs/files/struct_nv_blast_data_block.html +++ b/docs/source_docs/files/struct_nv_blast_data_block.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: NvBlastDataBlock Struct Reference + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastDataBlock Struct Reference @@ -120,7 +120,7 @@ A data type keeps value from Type enum

      -A number which is incremented every time the data layout changes. Depending on dataType corresponding data format is kept. See NvBlastAssetDataFormat, NvBlastFamilyDataFormat enum. +A number which is incremented every time the data layout changes. Depending on dataType corresponding data format is kept. See NvBlastAssetDataFormat, NvBlastFamilyDataFormat enum.

      diff --git a/docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc-members.html b/docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc-members.html new file mode 100644 index 0000000..8770d6c --- /dev/null +++ b/docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc-members.html @@ -0,0 +1,52 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List + + + + + +

      + + +
      +

      NvBlastExtAssetUtilsBondDesc Member List

      This is the complete list of members for NvBlastExtAssetUtilsBondDesc, including all inherited members.

    + + + +
    bondNvBlastBondDesc
    chunkIndicesNvBlastBondDesc
    componentIndicesNvBlastExtAssetUtilsBondDesc

    + + + + diff --git a/docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc.html b/docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc.html new file mode 100644 index 0000000..9b7aa93 --- /dev/null +++ b/docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc.html @@ -0,0 +1,90 @@ + + + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: NvBlastExtAssetUtilsBondDesc Struct Reference + + + + + + + + +
    +

    NvBlastExtAssetUtilsBondDesc Struct Reference

    #include <NvBlastExtAssetUtils.h> +

    +

    +Inheritance diagram for NvBlastExtAssetUtilsBondDesc:
    +
    + +

    + +NvBlastBondDesc + +
    + +

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

    Public Attributes

    uint32_t componentIndices [2]
     The asset component for the corresponding chunkIndices[2] value.
    +


    Detailed Description

    +Bond descriptor used to merge assets.

    +In addition to the NvBlastBondDesc fields, adds "component" indices to indicate to which component asset the chunk indices in NvBlastBondDesc refer. Used in the function NvBlastExtAssetUtilsMergeAssets.


    Member Data Documentation

    + +
    + +
    + +

    +The asset component for the corresponding chunkIndices[2] value. +

    + +

    +

    +


    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc.png b/docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc.png new file mode 100644 index 0000000..69b4948 Binary files /dev/null and b/docs/source_docs/files/struct_nv_blast_ext_asset_utils_bond_desc.png differ diff --git a/docs/source_docs/files/struct_nv_blast_ext_material-members.html b/docs/source_docs/files/struct_nv_blast_ext_material-members.html index dc12b22..f14fb46 100644 --- a/docs/source_docs/files/struct_nv_blast_ext_material-members.html +++ b/docs/source_docs/files/struct_nv_blast_ext_material-members.html @@ -1,6 +1,6 @@ - NVIDIA(R) Blast(R) SDK 1.0 Source Reference: Member List + NVIDIA(R) Blast(R) SDK 1.1 Source Reference: Member List @@ -40,11 +40,11 @@

    + +

    + +
    + +

    +NvBlastChunks geometry in the NvBlastAsset. +

    +

    @@ -207,6 +230,23 @@ Entry index for graphNodeIndexLinks. Linked index list of connected nodes. Traversable with nextIndex = graphNodeIndexLinks[currentIndex], terminates with 0xFFFFFFFF.

    +

    +

    + +

    + +
    + +

    +Actual chunk health values for dead chunk detection. +

    +


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