| 140 | } |
| 141 | |
| 142 | TSharedPtr<FPCGAttributeAccessorKeysPoints> FPointIO::GetInKeys() |
| 143 | { |
| 144 | TRACE_CPUPROFILER_EVENT_SCOPE(FPointIO::GetInKeys); |
| 145 | |
| 146 | { |
| 147 | FReadScopeLock ReadScopeLock(InKeysLock); |
| 148 | if (InKeys) { return InKeys; } |
| 149 | } |
| 150 | |
| 151 | { |
| 152 | FWriteScopeLock WriteScopeLock(InKeysLock); |
| 153 | if (InKeys) { return InKeys; } |
| 154 | if (const TSharedPtr<FPointIO> PinnedRoot = RootIO.Pin()) { InKeys = PinnedRoot->GetInKeys(); } |
| 155 | else { InKeys = MakeShared<FPCGAttributeAccessorKeysPoints>(In->GetPoints()); } |
| 156 | } |
| 157 | |
| 158 | return InKeys; |
| 159 | } |
| 160 | |
| 161 | TSharedPtr<FPCGAttributeAccessorKeysPoints> FPointIO::GetOutKeys(const bool bEnsureValidKeys) |
| 162 | { |
no outgoing calls
no test coverage detected