KarmaEngine
Game Engine for practical learning and research purposes
|
PrimitiveComponents are SceneComponents that contain or generate some sort of geometry, generally to be rendered or used as collision data. There are several subclasses for the various types of geometry, but the most common by far are the ShapeComponents (Capsule, Sphere, Box), StaticMeshComponent, and SkeletalMeshComponent. ShapeComponents generate geometry that is used for collision detection but are not rendered, while StaticMeshComponents and SkeletalMeshComponents contain pre-built geometry that is rendered, but can also be used for collision detection. More...
#include <PrimitiveComponent.h>
Public Member Functions | |
virtual void | BeginPlay () override |
Used to detach physics objects before simulation begins. This is needed because at runtime we can't have simulated objects inside the attachment hierarchy. | |
void | SetCachedMaxDrawDistance (const float newCachedMaxDrawDistance) |
Utility to cache the max draw distance based on cull distance volumes or the desired max draw distance. | |
![]() | |
USceneComponent () | |
A constructor. | |
const glm::vec3 & | GetRelativeRotation () const |
Gets the literal value of RelativeRotation. | |
const glm::vec3 & | GetRelativeLocation () const |
Gets the literal value of RelativeLocation. | |
const glm::vec3 & | GetRelativeScale3D () const |
Gets the literal value of RelativeScale3D. | |
void | SetWorldLocation (glm::vec3 newLocation) |
void | SetWorldTransform (const FTransform &NewTransform) |
std::shared_ptr< USceneComponent > | GetAttachParent () const |
Get the SceneComponent we are attached to. | |
virtual FTransform | GetSocketTransform (const std::string &InSocketName, ERelativeTransformSpace TransformSpace=RTS_World) const |
Get world-space socket transform. | |
const FTransform & | GetComponentTransform () const |
Get the current component-to-world transform for this component. | |
virtual void | BeginDestroy () override |
Overridden BeginDestroy for USceneComponent. | |
bool | IsUsingAbsoluteLocation () const |
Gets the literal value of bAbsoluteLocation. | |
bool | IsUsingAbsoluteRotation () const |
Gets the literal value of bAbsoluteRotation. | |
bool | IsUsingAbsoluteScale () const |
Gets the literal value of bAbsoluteScale. | |
void | SetRelativeTransform (const FTransform &NewTransform) |
Set the transform of the component relative to its parent. | |
FORCEINLINE const std::string & | GetAttachSocketName () const |
Getter for the m_AttachSocektName. | |
![]() | |
UActorComponent () | |
A constructor. | |
virtual void | TickComponent (float deltaTime) |
Function called every frame on this ActorComponent. Override this function to implement custom logic to be executed every frame. Only executes if the component is registered, and also PrimaryComponentTick.bCanEverTick must be set to true. | |
virtual void | EndPlay (const EEndPlayReason::Type EndPlayReason) |
Ends gameplay for this component. //Called from AActor::EndPlay only if bHasBegunPlay is true// <- not quite sure about the call. | |
AActor * | GetOwner () const |
Follow the Outer chain to get the AActor that 'Owns' this component. | |
bool | HasBeenCreated () const |
Indicates that OnCreatedComponent has been called, but OnDestroyedComponent has not yet. | |
virtual void | OnComponentCreated () |
Called when a component is created (not loaded). This can happen in the editor or during gameplay. | |
bool | IsRegistered () const |
See if this component is currently registered. | |
bool | IsActive () const |
Returns whether the component is active or not. | |
virtual void | Activate (bool bReset=false) |
Activates the SceneComponent, should be overridden by native child classes. | |
void | SetActiveFlag (const bool bNewIsActive) |
Sets the value of bIsActive without causing other side effects to this instance. | |
bool | HasBeenInitialized () const |
Indicates that InitializeComponent has been called, but UninitializeComponent has not yet. | |
virtual void | InitializeComponent () |
Initializes the component. Occurs at level startup or actor spawn. This is before BeginPlay (Actor or Component). All Components in the level will be Initialized on load before any Actor/Component gets BeginPlay Requires component to be registered, and bWantsInitializeComponent to be true. | |
bool | HasBegunPlay () const |
Indicates that BeginPlay has been called, but EndPlay has not yet. | |
virtual void | UninitializeComponent () |
Handle this component being Uninitialized. | |
virtual void | OnComponentDestroyed (bool bDestroyingHierarchy) |
Called when a component is destroyed. | |
![]() | |
UObject () | |
virtual void | FinishDestroy () |
virtual const std::string & | GetDesc () |
Return a one line description of an object for viewing in the thumbnail view of the generic browser. | |
virtual class UWorld * | GetWorld () const |
Returns what UWorld this object is contained within. | |
bool | IsValidChecked (const UObject *Test) |
FORCEINLINE bool | Modify (bool bAlwaysMarkDirty=true) |
bool | IsSelected () const |
Test the selection state of a UObject. | |
![]() | |
UObjectBase (UClass *inClass, EObjectFlags inFlags, EInternalObjectFlags inInternalFlags, UObject *inOuter, const std::string &inName) | |
UPackage * | GetPackage () const |
UPackage * | GetExternalPackage () const |
bool | IsUnreachable () const |
FORCEINLINE void | SetInternalIndex (uint32_t StoreIndex) |
FORCEINLINE uint32_t | GetInternalIndex () const |
void | MarkAsGarbage () |
void | ClearGarbage () |
FORCEINLINE const std::string & | GetName () const |
FORCEINLINE void | SetObjectName (const std::string &aName) |
FORCEINLINE UObject * | GetOuter () const |
UObject * | GetTypedOuter (UClass *Target) const |
template<typename T> | |
T * | GetTypedOuter () const |
bool | IsValidLowLevel () const |
template<typename OtherClassType> | |
FORCEINLINE bool | IsA (OtherClassType SomeBase) const |
FORCEINLINE UClass * | GetClass () const |
FORCEINLINE EObjectFlags | GetFlags () const |
FORCEINLINE void | SetFlags (EObjectFlags NewFlags) |
FORCEINLINE void | ClearFlags (EObjectFlags FlagsToClear) |
FORCEINLINE bool | HasAnyFlags (EObjectFlags FlagsToCheck) const |
FORCEINLINE bool | HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const |
FORCEINLINE void | SetInternalFlags (EInternalObjectFlags FlagsToSet) const |
FORCEINLINE void | AddToRoot () |
Public Attributes | |
uint8_t | CastShadow: 1 |
![]() | |
glm::vec3 | m_ComponentVelocity |
std::string | m_AttachSocketName |
std::vector< std::shared_ptr< USceneComponent > > | m_AttachChildren |
![]() | |
EComponentCreationMethod | m_CreationMethod |
uint8_t | m_bAutoActivate: 1 |
uint8_t | m_bWantsInitializeComponent: 1 |
Additional Inherited Members | |
![]() | |
static const char * | StaticConfigName () |
![]() | |
static FORCEINLINE EInternalObjectFlags | FixGarbageOrPendingKillInternalObjectFlags (const EInternalObjectFlags InFlags) |
![]() | |
virtual bool | ShouldActivate () const |
![]() | |
UObjectBase () | |
Providing a default constructor. | |
FORCEINLINE void | SetFlagsTo (EObjectFlags NewFlags) |
![]() | |
uint8_t | m_bRegistered: 1 |
PrimitiveComponents are SceneComponents that contain or generate some sort of geometry, generally to be rendered or used as collision data. There are several subclasses for the various types of geometry, but the most common by far are the ShapeComponents (Capsule, Sphere, Box), StaticMeshComponent, and SkeletalMeshComponent. ShapeComponents generate geometry that is used for collision detection but are not rendered, while StaticMeshComponents and SkeletalMeshComponents contain pre-built geometry that is rendered, but can also be used for collision detection.
|
overridevirtual |
Used to detach physics objects before simulation begins. This is needed because at runtime we can't have simulated objects inside the attachment hierarchy.
Reimplemented from Karma::UActorComponent.
void Karma::UPrimitiveComponent::SetCachedMaxDrawDistance | ( | const float | newCachedMaxDrawDistance | ) |
Utility to cache the max draw distance based on cull distance volumes or the desired max draw distance.
newCachedMaxDrawDistance | The new max distance to be cached |
uint8_t Karma::UPrimitiveComponent::CastShadow |
Controls whether the primitive component should cast a shadow or not.