Unigine::PhysicalWater Class

A PhysicalWater class is used to simulate water interaction effects.

Notice
The water will affect only objects, to which a cloth body or a rigid body are assigned. If the rigid body is used, a shape should be also assigned.

• An article on Physical Water
• A set of samples located in the <UnigineSDK>/data/samples/physicals folder:
1. water_00
2. water_01

static PhysicalWaterPtr create ( const Math::vec3 & size ) #

Constructor. Creates a physical water node of the specified size.

Arguments

• const Math::vec3 & size - Water box size in units.

voidsetAngularDamping ( float damping ) #

Sets a value indicating how much the angular velocity of the objects decreases when they get into the physical water.

Arguments

• float damping - An angular damping value. If a negative value is provided, 0 will be used instead.

floatgetAngularDamping ( ) #

Returns the current value indicating how much the angular velocity of the objects decreases when they get into the physical water.

Return value

The angular damping value.

Ptr<Body>getContactBody ( int num ) #

Returns the body of the object by the given contact with physical water.

Arguments

• int num - Contact number.

Return value

Body of the object.

floatgetContactDepth ( int num ) #

Returns the depth of the object submergence by the given contact.

Arguments

• int num - Contact number.

Return value

Depth of object submergence in units.

Math::vec3getContactForce ( int num ) #

Returns the force in the point of a given contact.

Arguments

• int num - Contact number.

Force value.

Math::Vec3getContactPoint ( int num ) #

Returns the coordinates of the contact point.

Arguments

• int num - Contact number.

Return value

Contact point coordinates.

Math::vec3getContactVelocity ( int num ) #

Returns the relative velocity between the object and the physical water.

Arguments

• int num - Contact number.

Return value

Relative velocity in units per second.

voidsetDensity ( float density ) #

Sets a density of the water that determines objects buoyancy.

Arguments

• float density - A density value. If a negative value is provided, 0 will be used instead.

floatgetDensity ( ) #

Returns the current density of the physical water that determines objects buoyancy.

Return value

The density value.

voidsetLinearDamping ( float damping ) #

Sets a value indicating how much the linear velocity of the objects decreases when they get into the physical water.

Arguments

• float damping - A linear damping value. If a negative value is provided, 0 will be used instead.

floatgetLinearDamping ( ) #

Returns the current value indicating how much the linear velocity of the objects decreases when they get into the physical water.

Return value

The linear damping value.

intgetNumContacts ( ) #

Returns the number of contacts between the physical water and the objects.

Return value

Number of contacts.

voidsetSize ( const Math::vec3 & size ) #

Sets a size of the physical water node.

Arguments

• const Math::vec3 & size - A size of the water box in units. If a negative value is provided, 0 will be used instead.

Math::vec3getSize ( ) #

Returns the current size of the physical water node.

Return value

The size of the water box in units.

voidsetVelocity ( const Math::vec3 & velocity ) #

Sets a velocity of the flow in physical water.

Arguments

• const Math::vec3 & velocity - A velocity in units per second.

Math::vec3getVelocity ( ) #

Returns the current velocity of the flow in physical water.

Return value

The velocity in units per second.

static inttype ( ) #

Returns the type of the node.

Return value

Physical type identifier.
Last update: 2019-12-25