All Classes Files Functions Variables Pages
physxParticleSystem.h
Go to the documentation of this file.
1 //
2 // Copyright 2016 Pixar
3 //
4 // Licensed under the Apache License, Version 2.0 (the "Apache License")
5 // with the following modification; you may not use this file except in
6 // compliance with the Apache License and the following modification to it:
7 // Section 6. Trademarks. is deleted and replaced with:
8 //
9 // 6. Trademarks. This License does not grant permission to use the trade
10 // names, trademarks, service marks, or product names of the Licensor
11 // and its affiliates, except as required to comply with Section 4(c) of
12 // the License and to reproduce the content of the NOTICE file.
13 //
14 // You may obtain a copy of the Apache License at
15 //
16 // http://www.apache.org/licenses/LICENSE-2.0
17 //
18 // Unless required by applicable law or agreed to in writing, software
19 // distributed under the Apache License with the above modification is
20 // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21 // KIND, either express or implied. See the Apache License for the specific
22 // language governing permissions and limitations under the Apache License.
23 //
24 #ifndef PHYSXSCHEMA_GENERATED_PHYSXPARTICLESYSTEM_H
25 #define PHYSXSCHEMA_GENERATED_PHYSXPARTICLESYSTEM_H
26 
28 
29 #include "pxr/pxr.h"
30 #include ".//api.h"
31 #include "pxr/usd/usdGeom/gprim.h"
32 #include "pxr/usd/usd/prim.h"
33 #include "pxr/usd/usd/stage.h"
34 #include ".//tokens.h"
35 
36 #include "pxr/base/vt/value.h"
37 
38 #include "pxr/base/gf/vec3d.h"
39 #include "pxr/base/gf/vec3f.h"
40 #include "pxr/base/gf/matrix4d.h"
41 
42 #include "pxr/base/tf/token.h"
43 #include "pxr/base/tf/type.h"
44 
45 PXR_NAMESPACE_OPEN_SCOPE
46 
47 class SdfAssetPath;
48 
49 // -------------------------------------------------------------------------- //
50 // PHYSXPARTICLESYSTEM //
51 // -------------------------------------------------------------------------- //
52 
59 class PhysxSchemaPhysxParticleSystem : public UsdGeomGprim
60 {
61 public:
65  static const UsdSchemaType schemaType = UsdSchemaType::ConcreteTyped;
66 
71  explicit PhysxSchemaPhysxParticleSystem(const UsdPrim& prim=UsdPrim())
72  : UsdGeomGprim(prim)
73  {
74  }
75 
79  explicit PhysxSchemaPhysxParticleSystem(const UsdSchemaBase& schemaObj)
80  : UsdGeomGprim(schemaObj)
81  {
82  }
83 
85  PHYSXSCHEMA_API
87 
91  PHYSXSCHEMA_API
92  static const TfTokenVector &
93  GetSchemaAttributeNames(bool includeInherited=true);
94 
104  PHYSXSCHEMA_API
106  Get(const UsdStagePtr &stage, const SdfPath &path);
107 
130  PHYSXSCHEMA_API
132  Define(const UsdStagePtr &stage, const SdfPath &path);
133 
134 protected:
138  PHYSXSCHEMA_API
139  UsdSchemaType _GetSchemaType() const override;
140 
141 private:
142  // needs to invoke _GetStaticTfType.
143  friend class UsdSchemaRegistry;
144  PHYSXSCHEMA_API
145  static const TfType &_GetStaticTfType();
146 
147  static bool _IsTypedSchema();
148 
149  // override SchemaBase virtuals.
150  PHYSXSCHEMA_API
151  const TfType &_GetTfType() const override;
152 
153 public:
154  // --------------------------------------------------------------------- //
155  // PARTICLESYSTEMENABLED
156  // --------------------------------------------------------------------- //
164  PHYSXSCHEMA_API
165  UsdAttribute GetParticleSystemEnabledAttr() const;
166 
172  PHYSXSCHEMA_API
173  UsdAttribute CreateParticleSystemEnabledAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
174 
175 public:
176  // --------------------------------------------------------------------- //
177  // CONTACTOFFSET
178  // --------------------------------------------------------------------- //
189  PHYSXSCHEMA_API
190  UsdAttribute GetContactOffsetAttr() const;
191 
197  PHYSXSCHEMA_API
198  UsdAttribute CreateContactOffsetAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
199 
200 public:
201  // --------------------------------------------------------------------- //
202  // RESTOFFSET
203  // --------------------------------------------------------------------- //
214  PHYSXSCHEMA_API
215  UsdAttribute GetRestOffsetAttr() const;
216 
222  PHYSXSCHEMA_API
223  UsdAttribute CreateRestOffsetAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
224 
225 public:
226  // --------------------------------------------------------------------- //
227  // PARTICLECONTACTOFFSET
228  // --------------------------------------------------------------------- //
238  PHYSXSCHEMA_API
239  UsdAttribute GetParticleContactOffsetAttr() const;
240 
246  PHYSXSCHEMA_API
247  UsdAttribute CreateParticleContactOffsetAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
248 
249 public:
250  // --------------------------------------------------------------------- //
251  // SOLIDRESTOFFSET
252  // --------------------------------------------------------------------- //
263  PHYSXSCHEMA_API
264  UsdAttribute GetSolidRestOffsetAttr() const;
265 
271  PHYSXSCHEMA_API
272  UsdAttribute CreateSolidRestOffsetAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
273 
274 public:
275  // --------------------------------------------------------------------- //
276  // FLUIDRESTOFFSET
277  // --------------------------------------------------------------------- //
288  PHYSXSCHEMA_API
289  UsdAttribute GetFluidRestOffsetAttr() const;
290 
296  PHYSXSCHEMA_API
297  UsdAttribute CreateFluidRestOffsetAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
298 
299 public:
300  // --------------------------------------------------------------------- //
301  // ENABLECCD
302  // --------------------------------------------------------------------- //
310  PHYSXSCHEMA_API
311  UsdAttribute GetEnableCCDAttr() const;
312 
318  PHYSXSCHEMA_API
319  UsdAttribute CreateEnableCCDAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
320 
321 public:
322  // --------------------------------------------------------------------- //
323  // SOLVERPOSITIONITERATIONCOUNT
324  // --------------------------------------------------------------------- //
333  PHYSXSCHEMA_API
334  UsdAttribute GetSolverPositionIterationCountAttr() const;
335 
341  PHYSXSCHEMA_API
342  UsdAttribute CreateSolverPositionIterationCountAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
343 
344 public:
345  // --------------------------------------------------------------------- //
346  // MAXDEPENETRATIONVELOCITY
347  // --------------------------------------------------------------------- //
357  PHYSXSCHEMA_API
358  UsdAttribute GetMaxDepenetrationVelocityAttr() const;
359 
365  PHYSXSCHEMA_API
366  UsdAttribute CreateMaxDepenetrationVelocityAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
367 
368 public:
369  // --------------------------------------------------------------------- //
370  // WIND
371  // --------------------------------------------------------------------- //
381  PHYSXSCHEMA_API
382  UsdAttribute GetWindAttr() const;
383 
389  PHYSXSCHEMA_API
390  UsdAttribute CreateWindAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
391 
392 public:
393  // --------------------------------------------------------------------- //
394  // MAXNEIGHBORHOOD
395  // --------------------------------------------------------------------- //
403  PHYSXSCHEMA_API
404  UsdAttribute GetMaxNeighborhoodAttr() const;
405 
411  PHYSXSCHEMA_API
412  UsdAttribute CreateMaxNeighborhoodAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
413 
414 public:
415  // --------------------------------------------------------------------- //
416  // MAXVELOCITY
417  // --------------------------------------------------------------------- //
427  PHYSXSCHEMA_API
428  UsdAttribute GetMaxVelocityAttr() const;
429 
435  PHYSXSCHEMA_API
436  UsdAttribute CreateMaxVelocityAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
437 
438 public:
439  // --------------------------------------------------------------------- //
440  // GLOBALSELFCOLLISIONENABLED
441  // --------------------------------------------------------------------- //
450  PHYSXSCHEMA_API
451  UsdAttribute GetGlobalSelfCollisionEnabledAttr() const;
452 
458  PHYSXSCHEMA_API
459  UsdAttribute CreateGlobalSelfCollisionEnabledAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
460 
461 public:
462  // --------------------------------------------------------------------- //
463  // NONPARTICLECOLLISIONENABLED
464  // --------------------------------------------------------------------- //
473  PHYSXSCHEMA_API
474  UsdAttribute GetNonParticleCollisionEnabledAttr() const;
475 
481  PHYSXSCHEMA_API
482  UsdAttribute CreateNonParticleCollisionEnabledAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
483 
484 public:
485  // --------------------------------------------------------------------- //
486  // SIMULATIONOWNER
487  // --------------------------------------------------------------------- //
491  PHYSXSCHEMA_API
492  UsdRelationship GetSimulationOwnerRel() const;
493 
496  PHYSXSCHEMA_API
497  UsdRelationship CreateSimulationOwnerRel() const;
498 
499 public:
500  // ===================================================================== //
501  // Feel free to add custom code below this line, it will be preserved by
502  // the code generator.
503  //
504  // Just remember to:
505  // - Close the class declaration with };
506  // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
507  // - Close the include guard with #endif
508  // ===================================================================== //
509  // --(BEGIN CUSTOM CODE)--
510 };
511 
512 PXR_NAMESPACE_CLOSE_SCOPE
513 
514 #endif
PhysxSchemaPhysxParticleSystem(const UsdPrim &prim=UsdPrim())
Construct a PhysxSchemaPhysxParticleSystem on UsdPrim prim .
PHYSXSCHEMA_API UsdAttribute GetParticleContactOffsetAttr() const
Contact offset used for interactions between particles.
PHYSXSCHEMA_API UsdAttribute CreateMaxNeighborhoodAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetMaxNeighborhoodAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
PHYSXSCHEMA_API UsdAttribute GetFluidRestOffsetAttr() const
Rest offset used for fluid-fluid particle interactions.
PHYSXSCHEMA_API UsdAttribute GetRestOffsetAttr() const
Rest offset used for collisions with non-particle objects such as rigid or deformable bodies...
PHYSXSCHEMA_API UsdAttribute GetEnableCCDAttr() const
Enable continuous collision detection for particles to help avoid tunneling effects.
PHYSXSCHEMA_API UsdAttribute GetSolidRestOffsetAttr() const
Rest offset used for solid-solid or solid-fluid particle interactions.
PHYSXSCHEMA_API UsdAttribute CreateContactOffsetAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetContactOffsetAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
PHYSXSCHEMA_API UsdAttribute GetNonParticleCollisionEnabledAttr() const
Enable or disable particle collision with nonparticle objects for all particles in the system...
PHYSXSCHEMA_API UsdAttribute CreateWindAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetWindAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
PHYSXSCHEMA_API UsdAttribute CreateMaxDepenetrationVelocityAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetMaxDepenetrationVelocityAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Cre...
PHYSXSCHEMA_API UsdAttribute CreateRestOffsetAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRestOffsetAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
PHYSXSCHEMA_API UsdAttribute CreateMaxVelocityAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetMaxVelocityAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
static const UsdSchemaType schemaType
Compile time constant representing what kind of schema this class is.
PHYSXSCHEMA_API UsdAttribute CreateFluidRestOffsetAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetFluidRestOffsetAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
WARNING: This is a draft API; the design is not fixed and may change in the future.
PHYSXSCHEMA_API UsdAttribute GetMaxNeighborhoodAttr() const
The particle neighborhood size.
PHYSXSCHEMA_API UsdAttribute GetGlobalSelfCollisionEnabledAttr() const
If True, self collisions follow particle-object-specific settings.
PHYSXSCHEMA_API UsdAttribute GetMaxVelocityAttr() const
Maximum particle velocity.
virtual PHYSXSCHEMA_API ~PhysxSchemaPhysxParticleSystem()
Destructor.
PHYSXSCHEMA_API UsdAttribute GetSolverPositionIterationCountAttr() const
Number of solver iterations for position.
static PHYSXSCHEMA_API const TfTokenVector & GetSchemaAttributeNames(bool includeInherited=true)
Return a vector of names of all pre-declared attributes for this schema class and all its ancestor cl...
PHYSXSCHEMA_API UsdAttribute CreateEnableCCDAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetEnableCCDAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
static PHYSXSCHEMA_API PhysxSchemaPhysxParticleSystem Get(const UsdStagePtr &stage, const SdfPath &path)
Return a PhysxSchemaPhysxParticleSystem holding the prim adhering to this schema at path on stage...
PHYSXSCHEMA_API UsdAttribute CreateSolverPositionIterationCountAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetSolverPositionIterationCountAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs...
PHYSXSCHEMA_API UsdSchemaType _GetSchemaType() const override
Returns the type of schema this class belongs to.
PHYSXSCHEMA_API UsdAttribute CreateSolidRestOffsetAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetSolidRestOffsetAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
PHYSXSCHEMA_API UsdRelationship GetSimulationOwnerRel() const
Single PhysicsScene that simulates this particle system.
PHYSXSCHEMA_API UsdAttribute CreateParticleSystemEnabledAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetParticleSystemEnabledAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
PHYSXSCHEMA_API UsdAttribute GetWindAttr() const
The wind applied to the current particle system.
PHYSXSCHEMA_API UsdAttribute CreateParticleContactOffsetAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetParticleContactOffsetAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
PHYSXSCHEMA_API UsdRelationship CreateSimulationOwnerRel() const
See GetSimulationOwnerRel(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
PHYSXSCHEMA_API UsdAttribute CreateGlobalSelfCollisionEnabledAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetGlobalSelfCollisionEnabledAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs C...
PhysxSchemaPhysxParticleSystem(const UsdSchemaBase &schemaObj)
Construct a PhysxSchemaPhysxParticleSystem on the prim held by schemaObj .
PHYSXSCHEMA_API UsdAttribute GetParticleSystemEnabledAttr() const
Enable or disable the particle system.
PHYSXSCHEMA_API UsdAttribute GetMaxDepenetrationVelocityAttr() const
The maximum velocity permitted to be introduced by the solver to depenetrate intersecting particles...
PHYSXSCHEMA_API UsdAttribute GetContactOffsetAttr() const
Contact offset used for collisions with non-particle objects such as rigid or deformable bodies...
PHYSXSCHEMA_API UsdAttribute CreateNonParticleCollisionEnabledAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetNonParticleCollisionEnabledAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs ...
static PHYSXSCHEMA_API PhysxSchemaPhysxParticleSystem Define(const UsdStagePtr &stage, const SdfPath &path)
Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefin...