OpenClonk
C4ValueProviderCosR Class Reference

#include <C4MeshAnimation.h>

Inheritance diagram for C4ValueProviderCosR:
[legend]
Collaboration diagram for C4ValueProviderCosR:
[legend]

Public Member Functions

 C4ValueProviderCosR ()
 
 C4ValueProviderCosR (C4Object *object, C4Real begin, C4Real end, C4Real offset)
 
bool Execute () override
 
void CompileFunc (StdCompiler *pComp) override
 
void DenumeratePointers () override
 
void ClearPointers (C4Object *pObj) override
 

Static Public Member Functions

static const IDBaseLookup (const char *name)
 
static const IDBaseLookup (const std::type_info &type)
 

Public Attributes

C4Real Value
 

Detailed Description

Definition at line 251 of file C4MeshAnimation.h.

Constructor & Destructor Documentation

◆ C4ValueProviderCosR() [1/2]

C4ValueProviderCosR::C4ValueProviderCosR ( )
inline

Definition at line 254 of file C4MeshAnimation.h.

254 : Object(nullptr), Begin(Fix0), End(Fix0), Offset(Fix0) {}
const C4Real Fix0
Definition: C4Real.h:312

◆ C4ValueProviderCosR() [2/2]

C4ValueProviderCosR::C4ValueProviderCosR ( C4Object object,
C4Real  begin,
C4Real  end,
C4Real  offset 
)

Definition at line 567 of file C4MeshAnimation.cpp.

567  :
568  Object(object), Begin(begin), End(end), Offset(offset)
569 {
570  Execute();
571 }
bool Execute() override

References Execute().

Here is the call graph for this function:

Member Function Documentation

◆ ClearPointers()

void C4ValueProviderCosR::ClearPointers ( C4Object pObj)
inlineoverridevirtual

Reimplemented from StdMeshInstance::SerializableValueProvider.

Definition at line 260 of file C4MeshAnimation.h.

260 { if(Object == pObj) Object = nullptr; }

◆ CompileFunc()

void C4ValueProviderCosR::CompileFunc ( StdCompiler pComp)
overridevirtual

Reimplemented from StdMeshInstance::SerializableValueProvider.

Definition at line 582 of file C4MeshAnimation.cpp.

583 {
585  pComp->Separator();
586  pComp->Value(Object);
587  pComp->Separator();
588  pComp->Value(Begin);
589  pComp->Separator();
590  pComp->Value(End);
591  pComp->Separator();
592  pComp->Value(Offset);
593 }
void CompileFunc(C4Real &rValue, StdCompiler *pComp)
Definition: C4Real.cpp:9033
virtual bool Separator(Sep eSep=SEP_SEP)
Definition: StdCompiler.h:119
void Value(const T &rStruct)
Definition: StdCompiler.h:161

References CompileFunc(), StdCompiler::Separator(), and StdCompiler::Value().

Here is the call graph for this function:

◆ DenumeratePointers()

void C4ValueProviderCosR::DenumeratePointers ( )
inlineoverridevirtual

Reimplemented from StdMeshInstance::SerializableValueProvider.

Definition at line 259 of file C4MeshAnimation.h.

259 { Object.DenumeratePointers(); }
void DenumeratePointers()
Definition: C4ObjectPtr.cpp:49

References C4ObjectPtr::DenumeratePointers().

Here is the call graph for this function:

◆ Execute()

bool C4ValueProviderCosR::Execute ( )
overridevirtual

Implements StdMeshInstanceValueProvider.

Definition at line 573 of file C4MeshAnimation.cpp.

574 {
575  // Object might have been removed
576  if(!Object) return false;
577 
578  Value = Begin + (End - Begin) * Cos(Object->fix_r + Offset);
579  return true;
580 }
C4Real Cos(const C4Real &fAngle)
Definition: C4Real.h:266
C4Real fix_r
Definition: C4Object.h:123

References Cos(), C4Object::fix_r, and StdMeshInstanceValueProvider::Value.

Referenced by C4ValueProviderCosR().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Lookup() [1/2]

static const IDBase* StdMeshInstance::SerializableValueProvider::Lookup ( const char *  name)
inlinestaticinherited

Definition at line 460 of file StdMesh.h.

461  {
462  if(!IDs) return nullptr;
463  for(auto & ID : *IDs)
464  if(strcmp(ID->name, name) == 0)
465  return ID;
466  return nullptr;
467  }

References StdMeshInstance::SerializableValueProvider::IDBase::name.

◆ Lookup() [2/2]

static const IDBase* StdMeshInstance::SerializableValueProvider::Lookup ( const std::type_info &  type)
inlinestaticinherited

Definition at line 469 of file StdMesh.h.

470  {
471  if(!IDs) return nullptr;
472  for(auto & ID : *IDs)
473  if(ID->type == type)
474  return ID;
475  return nullptr;
476  }

References StdMeshInstance::SerializableValueProvider::IDBase::type.

Member Data Documentation

◆ Value


The documentation for this class was generated from the following files: