open_toontown_panda3d/panda/src/physx/physxSoftBodyDesc.h

84 lines
2.5 KiB
C++

// Filename: physxSoftBodyDesc.h
// Created by: enn0x (12Sep10)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University. All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license. You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
#ifndef PHYSXSOFTBODYDESC_H
#define PHYSXSOFTBODYDESC_H
#include "pandabase.h"
#include "luse.h"
#include "physxEnums.h"
#include "physx_includes.h"
class PhysxSoftBodyMesh;
////////////////////////////////////////////////////////////////////
// Class : PhysxSoftBodyDesc
// Description : Descriptor for PhysxSoftBody.
////////////////////////////////////////////////////////////////////
class EXPCL_PANDAPHYSX PhysxSoftBodyDesc : public PhysxEnums {
PUBLISHED:
INLINE PhysxSoftBodyDesc();
INLINE ~PhysxSoftBodyDesc();
INLINE void set_to_default();
INLINE bool is_valid() const;
void set_soft_body_mesh(PhysxSoftBodyMesh *mesh);
void set_name(const char *name);
void set_global_pos(const LPoint3f &pos);
void set_global_mat(const LMatrix4f &mat);
void set_global_hpr(float h, float p, float r);
void set_density(float density);
void set_volume_stiffness(float stiffness);
void set_stretching_stiffness(float stiffness);
void set_damping_coefficient(float damping);
void set_friction(float friction);
void set_tear_factor(float tearFactor);
void set_particle_radius(float radius);
void set_relative_grid_spacing(float spacing);
void set_collision_response_coefficient(float coef);
void set_attachment_response_coefficient(float coef);
void set_solver_iterations(unsigned int interations);
void set_flag(PhysxSoftBodyFlag flag, bool value);
const char *get_name() const;
LPoint3f get_global_pos() const;
LMatrix4f get_global_mat() const;
float get_density() const;
float get_volume_stiffness() const;
float get_stretching_stiffness() const;
float get_damping_coefficient() const;
float get_friction() const;
float get_tear_factor() const;
float get_particle_radius() const;
float get_relative_grid_spacing() const;
float get_collision_response_coefficient() const;
float get_attachment_response_coefficient() const;
unsigned int get_solver_iterations() const;
bool get_flag(PhysxSoftBodyFlag flag) const;
public:
NxSoftBodyDesc _desc;
private:
string _name;
};
#include "physxSoftBodyDesc.I"
#endif // PHYSXSOFTBODYDESC_H