RavEngine
Loading...
Searching...
No Matches
PxPvdCommStreamEvents.h
1// Redistribution and use in source and binary forms, with or without
2// modification, are permitted provided that the following conditions
3// are met:
4// * Redistributions of source code must retain the above copyright
5// notice, this list of conditions and the following disclaimer.
6// * Redistributions in binary form must reproduce the above copyright
7// notice, this list of conditions and the following disclaimer in the
8// documentation and/or other materials provided with the distribution.
9// * Neither the name of NVIDIA CORPORATION nor the names of its
10// contributors may be used to endorse or promote products derived
11// from this software without specific prior written permission.
12//
13// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
14// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
17// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24//
25// Copyright (c) 2008-2022 NVIDIA Corporation. All rights reserved.
26
27#ifndef PX_PVD_COMM_STREAM_EVENTS_H
28#define PX_PVD_COMM_STREAM_EVENTS_H
29
30#include "foundation/PxVec3.h"
31#include "foundation/PxFlags.h"
32#include "foundation/PxTime.h"
33
34#include "PxPvdObjectModelBaseTypes.h"
35
36namespace physx
37{
38namespace pvdsdk
39{
40
42{
43 enum Enum
44 {
45 Is64BitPtr = 1
46 };
47};
48
50
51template <typename TDataType>
53{
54 bool variable_size_check;
55};
56
57// Pick out the events that are possibly very large.
58// This helps us keep our buffers close to the size the user requested.
59#define DECLARE_TYPE_VARIABLE_SIZED(type) \
60 template <> \
61 struct PvdCommVariableSizedEventCheck<type> \
62 { \
63 uint32_t variable_size_check; \
64 };
65
66struct NameHandleValue;
69struct CreateClass;
70struct DeriveClass;
71struct CreateProperty;
73struct CreateInstance;
74struct SetPropertyValue;
82struct CreateDestroyInstanceProperty;
84struct RemoveObjectRef;
85struct BeginSection;
86struct EndSection;
87struct SetPickable;
88struct SetColor;
89struct SetIsTopLevel;
90struct SetCamera;
91struct AddProfileZone;
93struct StreamEndEvent;
94struct ErrorMessage;
95struct OriginShift;
96struct DestroyInstance;
97
98#define DECLARE_COMM_STREAM_EVENTS \
99 \
100DECLARE_PVD_COMM_STREAM_EVENT(StringHandleEvent) \
101DECLARE_PVD_COMM_STREAM_EVENT(CreateClass) \
102DECLARE_PVD_COMM_STREAM_EVENT(DeriveClass) \
103DECLARE_PVD_COMM_STREAM_EVENT(CreateProperty) \
104DECLARE_PVD_COMM_STREAM_EVENT(CreatePropertyMessage) \
105DECLARE_PVD_COMM_STREAM_EVENT(CreateInstance) \
106DECLARE_PVD_COMM_STREAM_EVENT(SetPropertyValue) \
107DECLARE_PVD_COMM_STREAM_EVENT(BeginSetPropertyValue) \
108DECLARE_PVD_COMM_STREAM_EVENT(AppendPropertyValueData) \
109DECLARE_PVD_COMM_STREAM_EVENT(EndSetPropertyValue) \
110DECLARE_PVD_COMM_STREAM_EVENT(SetPropertyMessage) \
111DECLARE_PVD_COMM_STREAM_EVENT(BeginPropertyMessageGroup) \
112DECLARE_PVD_COMM_STREAM_EVENT(SendPropertyMessageFromGroup) \
113DECLARE_PVD_COMM_STREAM_EVENT(EndPropertyMessageGroup) \
114DECLARE_PVD_COMM_STREAM_EVENT(DestroyInstance) \
115DECLARE_PVD_COMM_STREAM_EVENT(PushBackObjectRef) \
116DECLARE_PVD_COMM_STREAM_EVENT(RemoveObjectRef) \
117DECLARE_PVD_COMM_STREAM_EVENT(BeginSection) \
118DECLARE_PVD_COMM_STREAM_EVENT(EndSection) \
119DECLARE_PVD_COMM_STREAM_EVENT(SetPickable) \
120DECLARE_PVD_COMM_STREAM_EVENT(SetColor) \
121DECLARE_PVD_COMM_STREAM_EVENT(SetIsTopLevel) \
122DECLARE_PVD_COMM_STREAM_EVENT(SetCamera) \
123DECLARE_PVD_COMM_STREAM_EVENT(AddProfileZone) \
124DECLARE_PVD_COMM_STREAM_EVENT(AddProfileZoneEvent) \
125DECLARE_PVD_COMM_STREAM_EVENT(StreamEndEvent) \
126DECLARE_PVD_COMM_STREAM_EVENT(ErrorMessage) \
127DECLARE_PVD_COMM_STREAM_EVENT_NO_COMMA(OriginShift)
128
130{
131 enum Enum
132 {
133 Unknown = 0,
134#define DECLARE_PVD_COMM_STREAM_EVENT(x) x,
135#define DECLARE_PVD_COMM_STREAM_EVENT_NO_COMMA(x) x
136 DECLARE_COMM_STREAM_EVENTS
137#undef DECLARE_PVD_COMM_STREAM_EVENT_NO_COMMA
138#undef DECLARE_PVD_COMM_STREAM_EVENT
139 , Last
140 };
141};
142
143template <typename TDataType>
145{
146 bool compile_error;
147};
148template <PvdCommStreamEventTypes::Enum TEnumType>
150{
151 bool compile_error;
152};
153
154#define DECLARE_PVD_COMM_STREAM_EVENT(x) \
155 template <> \
156 struct DatatypeToCommEventType<x> \
157 { \
158 enum Enum \
159 { \
160 EEventTypeMap = PvdCommStreamEventTypes::x \
161 }; \
162 }; \
163 template <> \
164 struct CommEventTypeToDatatype<PvdCommStreamEventTypes::x> \
165 { \
166 typedef x TEventType; \
167 };
168#define DECLARE_PVD_COMM_STREAM_EVENT_NO_COMMA(x) \
169 \
170template<> struct DatatypeToCommEventType<x> \
171 { \
172 enum Enum \
173 { \
174 EEventTypeMap = PvdCommStreamEventTypes::x \
175 }; \
176 }; \
177 \
178template<> struct CommEventTypeToDatatype<PvdCommStreamEventTypes::x> \
179 { \
180 typedef x TEventType; \
181 };
182
183DECLARE_COMM_STREAM_EVENTS
184#undef DECLARE_PVD_COMM_STREAM_EVENT_NO_COMMA
185#undef DECLARE_PVD_COMM_STREAM_EVENT
186
187template <typename TDataType>
188PvdCommStreamEventTypes::Enum getCommStreamEventType()
189{
190 return static_cast<PvdCommStreamEventTypes::Enum>(DatatypeToCommEventType<TDataType>::EEventTypeMap);
191}
192
194{
195 StringHandle mNamespace; // StringHandle handles
196 StringHandle mName;
197 StreamNamespacedName(StringHandle ns = 0, StringHandle nm = 0) : mNamespace(ns), mName(nm)
198 {
199 }
200};
201
203
205{
206 protected:
207 virtual ~PvdEventSerializer()
208 {
209 }
210
211 public:
212 virtual void streamify(uint8_t& val) = 0;
213 virtual void streamify(uint16_t& val) = 0;
214 virtual void streamify(uint32_t& val) = 0;
215 virtual void streamify(float& val) = 0;
216 virtual void streamify(uint64_t& val) = 0;
217 virtual void streamify(String& val) = 0;
218 virtual void streamify(DataRef<const uint8_t>& data) = 0;
219 virtual void streamify(DataRef<NameHandleValue>& data) = 0;
220 virtual void streamify(DataRef<StreamPropMessageArg>& data) = 0;
221 virtual void streamify(DataRef<StringHandle>& data) = 0;
222
223 void streamify(StringHandle& hdl)
224 {
225 streamify(hdl.mHandle);
226 }
227 void streamify(CommStreamFlags& flags)
228 {
229 uint32_t val(flags);
230 streamify(val);
231 flags = CommStreamFlags(val);
232 }
233
234 void streamify(PvdCommStreamEventTypes::Enum& val)
235 {
236 uint8_t detyped = static_cast<uint8_t>(val);
237 streamify(detyped);
238 val = static_cast<PvdCommStreamEventTypes::Enum>(detyped);
239 }
240 void streamify(PropertyType::Enum& val)
241 {
242 uint8_t detyped = static_cast<uint8_t>(val);
243 streamify(detyped);
244 val = static_cast<PropertyType::Enum>(detyped);
245 }
246
247 void streamify(bool& val)
248 {
249 uint8_t detyped = uint8_t(val ? 1 : 0);
250 streamify(detyped);
251 val = detyped ? true : false;
252 }
253
254 void streamify(StreamNamespacedName& name)
255 {
256 streamify(name.mNamespace);
257 streamify(name.mName);
258 }
259
260 void streamify(PvdColor& color)
261 {
262 streamify(color.r);
263 streamify(color.g);
264 streamify(color.b);
265 streamify(color.a);
266 }
267
268 void streamify(PxVec3& vec)
269 {
270 streamify(vec.x);
271 streamify(vec.y);
272 streamify(vec.z);
273 }
274
275 static uint32_t measure(const EventSerializeable& evt);
276};
277
279{
280 protected:
281 virtual ~EventSerializeable()
282 {
283 }
284
285 public:
286 virtual void serialize(PvdEventSerializer& serializer) = 0;
287};
288
294{
295 static uint32_t getStreamId()
296 {
297 return 837150850;
298 }
299 static uint32_t getStreamVersion()
300 {
301 return 1;
302 }
303
304 uint32_t mStreamId;
305 uint32_t mStreamVersion;
306 uint64_t mTimestampNumerator;
307 uint64_t mTimestampDenominator;
308 CommStreamFlags mStreamFlags;
310 : mStreamId(getStreamId())
311 , mStreamVersion(getStreamVersion())
312 , mTimestampNumerator(physx::PxTime::getCounterFrequency().mNumerator * 10)
313 , mTimestampDenominator(physx::PxTime::getCounterFrequency().mDenominator)
314 , mStreamFlags(sizeof(void*) == 4 ? 0 : 1)
315 {
316 }
317
318 void serialize(PvdEventSerializer& s)
319 {
320 s.streamify(mStreamId);
321 s.streamify(mStreamVersion);
322 s.streamify(mTimestampNumerator);
323 s.streamify(mTimestampDenominator);
324 s.streamify(mStreamFlags);
325 }
326};
327
329{
330 uint32_t mDataSize; // in bytes, data directly follows this header
331 uint32_t mNumEvents;
332 uint64_t mStreamId;
333 uint64_t mTimestamp;
334
335 EventGroup(uint32_t dataSize = 0, uint32_t numEvents = 0, uint64_t streamId = 0, uint64_t ts = 0)
336 : mDataSize(dataSize), mNumEvents(numEvents), mStreamId(streamId), mTimestamp(ts)
337 {
338 }
339
340 void serialize(PvdEventSerializer& s)
341 {
342 s.streamify(mDataSize);
343 s.streamify(mNumEvents);
344 s.streamify(mStreamId);
345 s.streamify(mTimestamp);
346 }
347};
348
350{
351 String mString;
352 uint32_t mHandle;
353 StringHandleEvent(String str, uint32_t hdl) : mString(str), mHandle(hdl)
354 {
355 }
357 {
358 }
359
360 void serialize(PvdEventSerializer& s)
361 {
362 s.streamify(mString);
363 s.streamify(mHandle);
364 }
365};
366
367DECLARE_TYPE_VARIABLE_SIZED(StringHandleEvent)
368
369typedef uint64_t Timestamp;
370
372{
374 CreateClass(StreamNamespacedName nm) : mName(nm)
375 {
376 }
378 {
379 }
380
381 void serialize(PvdEventSerializer& s)
382 {
383 s.streamify(mName);
384 }
385};
386
388{
389 StreamNamespacedName mParent;
391
392 DeriveClass(StreamNamespacedName p, StreamNamespacedName c) : mParent(p), mChild(c)
393 {
394 }
396 {
397 }
398
399 void serialize(PvdEventSerializer& s)
400 {
401 s.streamify(mParent);
402 s.streamify(mChild);
403 }
404};
405
407{
408 StringHandle mName;
409 uint32_t mValue;
410 NameHandleValue(StringHandle name, uint32_t val) : mName(name), mValue(val)
411 {
412 }
414 {
415 }
416
417 void serialize(PvdEventSerializer& s)
418 {
419 s.streamify(mName);
420 s.streamify(mValue);
421 }
422};
423/*virtual PvdError createProperty( StreamNamespacedName clsName, StringHandle name, StringHandle semantic
424 , StreamNamespacedName dtypeName, PropertyType::Enum propertyType
425 , DataRef<NamedValue> values = DataRef<NamedValue>() ) = 0; */
427{
429 StringHandle mName;
430 StringHandle mSemantic;
431 StreamNamespacedName mDatatypeName;
432 PropertyType::Enum mPropertyType;
434
436 PropertyType::Enum ptype, DataRef<NameHandleValue> values)
437 : mClass(cls), mName(name), mSemantic(semantic), mDatatypeName(dtypeName), mPropertyType(ptype), mValues(values)
438 {
439 }
441 {
442 }
443
444 void serialize(PvdEventSerializer& s)
445 {
446 s.streamify(mClass);
447 s.streamify(mName);
448 s.streamify(mSemantic);
449 s.streamify(mDatatypeName);
450 s.streamify(mPropertyType);
451 s.streamify(mValues);
452 }
453};
454
456{
457 StringHandle mPropertyName;
458 StreamNamespacedName mDatatypeName;
459 uint32_t mMessageOffset;
460 uint32_t mByteSize;
461 StreamPropMessageArg(StringHandle pname, StreamNamespacedName dtypeName, uint32_t offset, uint32_t byteSize)
462 : mPropertyName(pname), mDatatypeName(dtypeName), mMessageOffset(offset), mByteSize(byteSize)
463 {
464 }
465
467 {
468 }
469
470 void serialize(PvdEventSerializer& s)
471 {
472 s.streamify(mPropertyName);
473 s.streamify(mDatatypeName);
474 s.streamify(mMessageOffset);
475 s.streamify(mByteSize);
476 }
477};
478
479/*
480 virtual PvdError createPropertyMessage( StreamNamespacedName cls, StreamNamespacedName msgName
481 , DataRef<PropertyMessageArg> entries, uint32_t messageSizeInBytes ) =
482 0;*/
484{
486 StreamNamespacedName mMessageName;
487 DataRef<StreamPropMessageArg> mMessageEntries;
488 uint32_t mMessageByteSize;
489
491 uint32_t messageByteSize)
492 : mClass(cls), mMessageName(msgName), mMessageEntries(propArg), mMessageByteSize(messageByteSize)
493 {
494 }
496 {
497 }
498
499 void serialize(PvdEventSerializer& s)
500 {
501 s.streamify(mClass);
502 s.streamify(mMessageName);
503 s.streamify(mMessageEntries);
504 s.streamify(mMessageByteSize);
505 }
506};
507
510// virtual PvdError createInstance( StreamNamespacedName cls, uint64_t instance ) = 0;
512{
514 uint64_t mInstanceId;
515
516 CreateInstance(StreamNamespacedName cls, uint64_t streamId) : mClass(cls), mInstanceId(streamId)
517 {
518 }
520 {
521 }
522
523 void serialize(PvdEventSerializer& s)
524 {
525 s.streamify(mClass);
526 s.streamify(mInstanceId);
527 }
528};
529
530// virtual PvdError setPropertyValue( uint64_t instance, StringHandle name, DataRef<const uint8_t> data,
531// StreamNamespacedName incomingTypeName ) = 0;
533{
534 uint64_t mInstanceId;
535 StringHandle mPropertyName;
537 StreamNamespacedName mIncomingTypeName;
538 uint32_t mNumItems;
539
540 SetPropertyValue(uint64_t instance, StringHandle name, DataRef<const uint8_t> data,
541 StreamNamespacedName incomingTypeName, uint32_t numItems)
542 : mInstanceId(instance), mPropertyName(name), mData(data), mIncomingTypeName(incomingTypeName), mNumItems(numItems)
543 {
544 }
545
547 {
548 }
549
550 void serializeBeginning(PvdEventSerializer& s)
551 {
552 s.streamify(mInstanceId);
553 s.streamify(mPropertyName);
554 s.streamify(mIncomingTypeName);
555 s.streamify(mNumItems);
556 }
557
558 void serialize(PvdEventSerializer& s)
559 {
560 serializeBeginning(s);
561 s.streamify(mData);
562 }
563};
564
565DECLARE_TYPE_VARIABLE_SIZED(SetPropertyValue)
566
568{
569 uint64_t mInstanceId;
570 StringHandle mPropertyName;
571 StreamNamespacedName mIncomingTypeName;
572
573 BeginSetPropertyValue(uint64_t instance, StringHandle name, StreamNamespacedName incomingTypeName)
574 : mInstanceId(instance), mPropertyName(name), mIncomingTypeName(incomingTypeName)
575 {
576 }
578 {
579 }
580
581 void serialize(PvdEventSerializer& s)
582 {
583 s.streamify(mInstanceId);
584 s.streamify(mPropertyName);
585 s.streamify(mIncomingTypeName);
586 }
587};
588
589// virtual PvdError appendPropertyValueData( DataRef<const uint8_t> data ) = 0;
591{
593 uint32_t mNumItems;
594 AppendPropertyValueData(DataRef<const uint8_t> data, uint32_t numItems) : mData(data), mNumItems(numItems)
595 {
596 }
598 {
599 }
600
601 void serialize(PvdEventSerializer& s)
602 {
603 s.streamify(mData);
604 s.streamify(mNumItems);
605 }
606};
607
608DECLARE_TYPE_VARIABLE_SIZED(AppendPropertyValueData)
609
610// virtual PvdError endSetPropertyValue() = 0;
612{
614 {
615 }
616
617 void serialize(PvdEventSerializer&)
618 {
619 }
620};
621
622// virtual PvdError setPropertyMessage( uint64_t instance, StreamNamespacedName msgName, DataRef<const uint8_t> data ) =
623// 0;
625{
626 uint64_t mInstanceId;
627 StreamNamespacedName mMessageName;
629
630 SetPropertyMessage(uint64_t instance, StreamNamespacedName msgName, DataRef<const uint8_t> data)
631 : mInstanceId(instance), mMessageName(msgName), mData(data)
632 {
633 }
634
636 {
637 }
638
639 void serialize(PvdEventSerializer& s)
640 {
641 s.streamify(mInstanceId);
642 s.streamify(mMessageName);
643 s.streamify(mData);
644 }
645};
646
647DECLARE_TYPE_VARIABLE_SIZED(SetPropertyMessage)
648
649// virtual PvdError beginPropertyMessageGroup( StreamNamespacedName msgName ) = 0;
651{
652 StreamNamespacedName mMsgName;
653 BeginPropertyMessageGroup(StreamNamespacedName msgName) : mMsgName(msgName)
654 {
655 }
657 {
658 }
659
660 void serialize(PvdEventSerializer& s)
661 {
662 s.streamify(mMsgName);
663 }
664};
665
666// virtual PvdError sendPropertyMessageFromGroup( uint64_t instance, DataRef<const uint8_t*> data ) = 0;
668{
669 uint64_t mInstance;
671
672 SendPropertyMessageFromGroup(uint64_t instance, DataRef<const uint8_t> data) : mInstance(instance), mData(data)
673 {
674 }
676 {
677 }
678
679 void serialize(PvdEventSerializer& s)
680 {
681 s.streamify(mInstance);
682 s.streamify(mData);
683 }
684};
685
686DECLARE_TYPE_VARIABLE_SIZED(SendPropertyMessageFromGroup)
687
688// virtual PvdError endPropertyMessageGroup() = 0;
690{
692 {
693 }
694
695 void serialize(PvdEventSerializer&)
696 {
697 }
698};
699
701{
702 uint64_t mInstanceId;
703 StringHandle mProperty;
704 uint64_t mObjectRef;
705
706 PushBackObjectRef(uint64_t instId, StringHandle prop, uint64_t objRef)
707 : mInstanceId(instId), mProperty(prop), mObjectRef(objRef)
708 {
709 }
710
712 {
713 }
714
715 void serialize(PvdEventSerializer& s)
716 {
717 s.streamify(mInstanceId);
718 s.streamify(mProperty);
719 s.streamify(mObjectRef);
720 }
721};
722
724{
725 uint64_t mInstanceId;
726 StringHandle mProperty;
727 uint64_t mObjectRef;
728
729 RemoveObjectRef(uint64_t instId, StringHandle prop, uint64_t objRef)
730 : mInstanceId(instId), mProperty(prop), mObjectRef(objRef)
731 {
732 }
733
735 {
736 }
737
738 void serialize(PvdEventSerializer& s)
739 {
740 s.streamify(mInstanceId);
741 s.streamify(mProperty);
742 s.streamify(mObjectRef);
743 }
744};
745
746// virtual PvdError destroyInstance( uint64_t key ) = 0;
748{
749 uint64_t mInstanceId;
750 DestroyInstance(uint64_t instance) : mInstanceId(instance)
751 {
752 }
754 {
755 }
756
757 void serialize(PvdEventSerializer& s)
758 {
759 s.streamify(mInstanceId);
760 }
761};
762
763// virtual PvdError beginSection( uint64_t sectionId, StringHandle name ) = 0;
765{
766 uint64_t mSectionId;
767 StringHandle mName;
768 Timestamp mTimestamp;
769 BeginSection(uint64_t sectionId, StringHandle name, uint64_t timestamp)
770 : mSectionId(sectionId), mName(name), mTimestamp(timestamp)
771 {
772 }
774 {
775 }
776
777 void serialize(PvdEventSerializer& s)
778 {
779 s.streamify(mSectionId);
780 s.streamify(mName);
781 s.streamify(mTimestamp);
782 }
783};
784// virtual PvdError endSection( uint64_t sectionId, StringHandle name ) = 0;
786{
787 uint64_t mSectionId;
788 StringHandle mName;
789 Timestamp mTimestamp;
790 EndSection(uint64_t sectionId, StringHandle name, uint64_t timestamp)
791 : mSectionId(sectionId), mName(name), mTimestamp(timestamp)
792 {
793 }
794 EndSection()
795 {
796 }
797
798 void serialize(PvdEventSerializer& s)
799 {
800 s.streamify(mSectionId);
801 s.streamify(mName);
802 s.streamify(mTimestamp);
803 }
804};
805
806// virtual void setPickable( void* instance, bool pickable ) = 0;
808{
809 uint64_t mInstanceId;
810 bool mPickable;
811 SetPickable(uint64_t instId, bool pick) : mInstanceId(instId), mPickable(pick)
812 {
813 }
815 {
816 }
817
818 void serialize(PvdEventSerializer& s)
819 {
820 s.streamify(mInstanceId);
821 s.streamify(mPickable);
822 }
823};
824// virtual void setColor( void* instance, const PvdColor& color ) = 0;
826{
827 uint64_t mInstanceId;
828 PvdColor mColor;
829 SetColor(uint64_t instId, PvdColor color) : mInstanceId(instId), mColor(color)
830 {
831 }
832 SetColor()
833 {
834 }
835
836 void serialize(PvdEventSerializer& s)
837 {
838 s.streamify(mInstanceId);
839 s.streamify(mColor);
840 }
841};
842
843// virtual void setColor( void* instance, const PvdColor& color ) = 0;
845{
846 uint64_t mInstanceId;
847 bool mIsTopLevel;
848
849 SetIsTopLevel(uint64_t instId, bool topLevel) : mInstanceId(instId), mIsTopLevel(topLevel)
850 {
851 }
852 SetIsTopLevel() : mIsTopLevel(false)
853 {
854 }
855
856 void serialize(PvdEventSerializer& s)
857 {
858 s.streamify(mInstanceId);
859 s.streamify(mIsTopLevel);
860 }
861};
862
864{
865 String mName;
866 PxVec3 mPosition;
867 PxVec3 mUp;
868 PxVec3 mTarget;
869 SetCamera(String name, const PxVec3& pos, const PxVec3& up, const PxVec3& target)
870 : mName(name), mPosition(pos), mUp(up), mTarget(target)
871 {
872 }
873 SetCamera() : mName(NULL)
874 {
875 }
876
877 void serialize(PvdEventSerializer& s)
878 {
879 s.streamify(mName);
880 s.streamify(mPosition);
881 s.streamify(mUp);
882 s.streamify(mTarget);
883 }
884};
885
887{
888 uint32_t mCode;
889 String mMessage;
890 String mFile;
891 uint32_t mLine;
892
893 ErrorMessage(uint32_t code, String message, String file, uint32_t line)
894 : mCode(code), mMessage(message), mFile(file), mLine(line)
895 {
896 }
897
898 ErrorMessage() : mMessage(NULL), mFile(NULL)
899 {
900 }
901
902 void serialize(PvdEventSerializer& s)
903 {
904 s.streamify(mCode);
905 s.streamify(mMessage);
906 s.streamify(mFile);
907 s.streamify(mLine);
908 }
909};
910
912{
913 uint64_t mInstanceId;
914 String mName;
915 AddProfileZone(uint64_t iid, String nm) : mInstanceId(iid), mName(nm)
916 {
917 }
918 AddProfileZone() : mName(NULL)
919 {
920 }
921
922 void serialize(PvdEventSerializer& s)
923 {
924 s.streamify(mInstanceId);
925 s.streamify(mName);
926 }
927};
928
930{
931 uint64_t mInstanceId;
932 String mName;
933 uint16_t mEventId;
934 bool mCompileTimeEnabled;
935 AddProfileZoneEvent(uint64_t iid, String nm, uint16_t eid, bool cte)
936 : mInstanceId(iid), mName(nm), mEventId(eid), mCompileTimeEnabled(cte)
937 {
938 }
940 {
941 }
942
943 void serialize(PvdEventSerializer& s)
944 {
945 s.streamify(mInstanceId);
946 s.streamify(mName);
947 s.streamify(mEventId);
948 s.streamify(mCompileTimeEnabled);
949 }
950};
951
953{
954 String mName;
955 StreamEndEvent() : mName("StreamEnd")
956 {
957 }
958
959 void serialize(PvdEventSerializer& s)
960 {
961 s.streamify(mName);
962 }
963};
964
966{
967 uint64_t mInstanceId;
968 PxVec3 mShift;
969
970 OriginShift(uint64_t iid, const PxVec3& shift) : mInstanceId(iid), mShift(shift)
971 {
972 }
974 {
975 }
976
977 void serialize(PvdEventSerializer& s)
978 {
979 s.streamify(mInstanceId);
980 s.streamify(mShift);
981 }
982};
983} // pvdsdk
984} // physx
985
986#endif
987
Container for bitfield flag variables associated with a specific enum type.
Definition PxFlags.h:73
3 Element vector class.
Definition PxVec3.h:50
Definition PxPvdObjectModelBaseTypes.h:345
Definition PxPvdCommStreamEvents.h:279
Definition PxPvdCommStreamEvents.h:205
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Definition PxPvdCommStreamEvents.h:930
Definition PxPvdCommStreamEvents.h:912
Definition PxPvdCommStreamEvents.h:591
Definition PxPvdCommStreamEvents.h:651
Definition PxPvdCommStreamEvents.h:765
Definition PxPvdCommStreamEvents.h:568
Definition PxPvdCommStreamEvents.h:150
Definition PxPvdCommStreamEvents.h:42
Definition PxPvdCommStreamEvents.h:372
Definition PxPvdCommStreamEvents.h:512
Definition PxPvdCommStreamEvents.h:484
Definition PxPvdCommStreamEvents.h:427
Definition PxPvdCommStreamEvents.h:145
Definition PxPvdCommStreamEvents.h:388
Definition PxPvdCommStreamEvents.h:748
Definition PxPvdCommStreamEvents.h:690
Definition PxPvdCommStreamEvents.h:786
Definition PxPvdCommStreamEvents.h:612
Definition PxPvdCommStreamEvents.h:887
Definition PxPvdCommStreamEvents.h:329
Definition PxPvdCommStreamEvents.h:407
Definition PxPvdCommStreamEvents.h:966
Definition PxPvdCommStreamEvents.h:701
Definition PxPvdObjectModelBaseTypes.h:114
Definition PxPvdCommStreamEvents.h:130
Definition PxPvdCommStreamEvents.h:53
Definition PxPvdCommStreamEvents.h:724
Definition PxPvdCommStreamEvents.h:668
Definition PxPvdCommStreamEvents.h:864
Definition PxPvdCommStreamEvents.h:826
Definition PxPvdCommStreamEvents.h:845
Definition PxPvdCommStreamEvents.h:808
Definition PxPvdCommStreamEvents.h:625
Definition PxPvdCommStreamEvents.h:533
Definition PxPvdCommStreamEvents.h:953
Definition PxPvdCommStreamEvents.h:294
Definition PxPvdCommStreamEvents.h:194
Definition PxPvdCommStreamEvents.h:456
Definition PxPvdCommStreamEvents.h:350
Definition PxPvdObjectModelBaseTypes.h:136