aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/module/destructible/fracture/Compound.cpp
blob: 593443e99f4245118809f468d48ccb8c50979825 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
 * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.
 *
 * NVIDIA CORPORATION and its licensors retain all intellectual property
 * and proprietary rights in and to this software, related documentation
 * and any modifications thereto.  Any use, reproduction, disclosure or
 * distribution of this software and related documentation without an express
 * license agreement from NVIDIA CORPORATION is strictly prohibited.
 */


#include "RTdef.h"
#if RT_COMPILE
#include "ApexActor.h"
#include "DestructibleScene.h"
#include "DestructibleActorImpl.h"
#include "SimScene.h"
#include "Actor.h"
#include "PxShape.h"

#include "Compound.h"

namespace nvidia
{

namespace fracture
{

void Compound::applyShapeTemplate(PxShape* shape)
{
	if( shape && mActor)
	{
		DestructibleActorImpl* dactor = ((Actor*)mActor)->getDestructibleActor();
		{
			PhysX3DescTemplateImpl physX3Template;
			dactor->getPhysX3Template(physX3Template);
			physX3Template.apply(shape);
		}
	}
}

::nvidia::destructible::DestructibleActorImpl* Compound::getDestructibleActor() const
{
	::nvidia::destructible::DestructibleActorImpl* dactor = NULL;
	if(mActor)
		dactor = ((Actor*)mActor)->getDestructibleActor();
	return dactor;
}
}
}
#endif