|
|
|
virtual bool | AddFlow (INode *flow)=0 |
| A flow must be added to Populate in order for simulation to take place on it. More...
|
|
virtual bool | AddIdleArea (INode *iArea)=0 |
| Adds an idle area to Populate. More...
|
|
virtual bool | AddSeat (INode *seat)=0 |
| Adds a seat to Populate. More...
|
|
virtual bool | UpdateIdleArea (INode *iArea)=0 |
| Updates the marks drawn on an idle area. More...
|
|
virtual void | DisplayEnvironment (bool show)=0 |
| Shows or hides idle areas, flows, and seats. More...
|
|
virtual bool | IsEnvironmentDisplayed () const =0 |
| Returns whether or not the idle areas, flows, and seats are displayed. More...
|
|
virtual void | DisplayMarks (bool show)=0 |
| Shows or hides marks on idle areas, flows, and seats. More...
|
|
virtual bool | AreMarksDisplayed () const =0 |
| Returns whether or not marks on idle areas, flows, and seats are displayed. More...
|
|
|
Returns the probability the next seat created will be for a female
- Returns
- a value between 0.0 and 1.0 indicating the probability the next seat created will be for a female
|
virtual float | GetSeatFemalePercent () const =0 |
| Sets the probability the next seat created will be for a female. More...
|
|
virtual void | SetSeatFemalePercent (float percent)=0 |
| Sets the probability the next seat created will be for a female. More...
|
|
virtual bool | SetSelectedSeatsGender ()=0 |
| Sets the gender of the selected seats. More...
|
|
|
In order for a person in seat A and B to talk to one another the following conditions must be met:
- The angle between the vector from seat A to seat B and the orientation vector of seat A must be less than the specified maximum angle.
- The angle between the vector from seat B to seat A and the orientation vector of seat B must be less than the specified maximum angle.
- The distance between seat A and seat B must be less than the maximum talk distance.
Returns the maximum distance at which seated people will talk to each other - See also
- GetSeatMaxTalkAngle()
|
virtual float | GetSeatMaxTalkDist () const =0 |
| Sets the maximum distance at which seated people will talk to each other. More...
|
|
virtual void | SetSeatMaxTalkDist (float distance)=0 |
| Sets the maximum distance at which seated people will talk to each other. More...
|
|
virtual float | GetSeatMaxTalkAngle () const =0 |
| Returns the maximum angle at which seated people will talk to each other. More...
|
|
virtual void | SetSeatMaxTalkAngle (float angle)=0 |
| Sets the maximum angle at which seated people will talk to each other. More...
|
|
|
These functions return the number of each type of character, and a node from each character.
These functions must be performed after a simulation, after characters have been created. If you delete characters or re-simulate, these functions may return different values than they did after a previous simulation. If you get the node of a character and then you delete the character or change its FigureDisplayType, the node will no longer exist. Characters of display type eDisplayStickFigs do not have nodes. They are lines drawn by Populate. However if you switched from any other display type to the stick figure type, the nodes will still exist and these functions will still return them.
Returns the number of standing idlers
|
virtual int | NumStandingIdlers ()=0 |
| Returns the number of seated idlers. More...
|
|
virtual int | NumSeatedIdlers ()=0 |
| Returns the number of seated idlers. More...
|
|
virtual int | NumPedestrians ()=0 |
| Returns the number of pedestrians. More...
|
|
virtual INode * | GetStandingIdler (int i)=0 |
| Returns a node from a standing idler, if there is one, NULL if not. More...
|
|
virtual INode * | GetSeatedIdler (int i)=0 |
| Returns a node from a seated idler, if there is one, NULL if not. More...
|
|
virtual INode * | GetPedestrian (int i)=0 |
| Returns a node from a pedestrian, if there is one, NULL if not. More...
|
|
|
Returns the display type of the characters
- See also
- FigureDisplayType
|
virtual FigureDisplayType | GetDisplayType () const =0 |
| Sets the display type of the characters. More...
|
|
virtual bool | SetDisplayType (FigureDisplayType type)=0 |
| Sets the display type of the characters. More...
|
|
virtual void | DisplayCharacters (bool show)=0 |
| Shows or hides characters. More...
|
|
virtual bool | AreCharactersDisplayed () const =0 |
| Returns whether or not the characters are displayed. More...
|
|
virtual bool | RegenerateSelected (TimeValue t)=0 |
| Generates new meshes and texture maps for the selected characters. More...
|
|
virtual bool | SwapSelectedCharacterAppearance ()=0 |
| Swaps the appearance of the selected characters. More...
|
|
virtual bool | SwitchSelectedCharactersResolution ()=0 |
| Switches the mesh resolution for the selected characters. More...
|
|
virtual void | DeleteSelectedCharacters (TimeValue t)=0 |
| Deletes all the selected characters. More...
|
|
virtual void | DeleteAllCharacters ()=0 |
| Deletes all the characters. More...
|
|
|
Returns the number of frames to simulate
|
virtual int | GetNumFrames () const =0 |
| Sets the number of frames to simulate. More...
|
|
virtual void | SetNumFrames (int nFrames)=0 |
| Sets the number of frames to simulate. More...
|
|
virtual TurnOptimizationType | GetTurnOptimization () const =0 |
| Returns the turn optimization type. More...
|
|
virtual void | SetTurnOptimization (TurnOptimizationType type)=0 |
| Sets the turn optimization type. More...
|
|
virtual void | Simulate ()=0 |
| Computes a simulation. More...
|
|
virtual void | ResimulateSelected ()=0 |
| Resimulates all the selected standing or seated idle characters. More...
|
|
|
Returns the real world scale
|
virtual float | GetRealWorldScale () const =0 |
| Sets the real world scale. More...
|
|
virtual void | SetRealWorldScale (float scale)=0 |
| Sets the real world scale. More...
|
|
|
Returns the custom material for custom skinned characters
|
virtual Mtl * | GetCustomMaterial () const =0 |
| Sets the custom material for custom skinned characters. More...
|
|
virtual void | SetCustomMaterial (Mtl *mat)=0 |
| Sets the custom material for custom skinned characters. More...
|
|
virtual void | SaveTextureMaps (bool save)=0 |
| Sets the Save Texture Maps flag. More...
|
|
virtual bool | GetSaveTextureMapsState () const =0 |
| Returns the value of the Save Texture Maps flag. More...
|
|
virtual void | ShowAppearanceDialog ()=0 |
| Shows the Appearance Dialog. More...
|
|
CoreExport | FPInterfaceDesc () |
|
CoreExport | FPInterfaceDesc (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, ULONG flag,...) |
|
CoreExport | ~FPInterfaceDesc () |
|
virtual void | Init () |
|
LifetimeType | LifetimeControl () |
|
virtual BaseInterface * | GetInterface (Interface_ID id) |
|
CoreExport void | LoadDescriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *pCD, ULONG flag,...) |
|
CoreExport void | AppendFunction (int id,...) |
| Add a new function to this interface descriptor. More...
|
|
CoreExport void | AppendProperty (int id,...) |
| Add a new property to this interface descriptor. More...
|
|
CoreExport void | AppendEnum (int id,...) |
| Add a new enum to this interface descriptor. More...
|
|
CoreExport void | SetClassDesc (ClassDesc *i_cd) |
|
CoreExport va_list | check_fn (va_list ap, int id) |
|
CoreExport va_list | scan_fn (va_list ap, int id, int index) |
|
CoreExport va_list | check_prop (va_list ap, int id) |
|
CoreExport va_list | scan_prop (va_list ap, int id, int index) |
|
CoreExport va_list | check_enum (va_list ap, EnumID id) |
|
CoreExport va_list | scan_enum (va_list ap, EnumID id, int index) |
|
FPInterfaceDesc * | GetDesc () |
|
Interface_ID | GetID () |
|
CoreExport FPFunctionDef * | GetFnDef (FunctionID fid) |
|
ActionTable * | GetActionTable () |
|
CoreExport void | EnableActions (BOOL onOff) |
|
virtual CoreExport HINSTANCE | HInstance () |
|
virtual CoreExport const MCHAR * | GetRsrcString (StringResID id) |
|
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL) |
|
virtual FPStatus | Invoke (FunctionID fid, FPParams *params) |
|
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL) |
|
virtual FPStatus | Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL) |
|
virtual CoreExport FunctionID | FindFn (const MCHAR *name) |
|
virtual CoreExport BOOL | IsEnabled (FunctionID actionID) |
|
virtual CoreExport BOOL | IsChecked (FunctionID actionID) |
|
virtual CoreExport BOOL | IsVisible (FunctionID actionID) |
|
virtual CoreExport FunctionID | GetIsEnabled (FunctionID actionID) |
|
virtual CoreExport FunctionID | GetIsChecked (FunctionID actionID) |
|
virtual CoreExport FunctionID | GetIsVisible (FunctionID actionID) |
|
virtual UtilExport | ~BaseInterface () |
| Destructor. More...
|
|
virtual bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
|
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
|
virtual BaseInterface * | AcquireInterface () |
|
virtual void | ReleaseInterface () |
|
virtual void | DeleteInterface () |
|
virtual BaseInterface * | CloneInterface (void *remapDir=NULL) |
|
virtual UtilExport | ~InterfaceServer () |
| Destructor. More...
|
|
template<class InterfaceType > |
InterfaceType * | GetTypedInterface () |
|
|
static IPopulate * | GetInstance () |
| Returns the interface to Populate. More...
|
|
static UtilExport void * | operator new (size_t size) |
| Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
| Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new (size_t size, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate arrays of objects. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void | operator delete (void *ptr) |
| Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
| Placement new operator. More...
|
|
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
| Placement delete operator. More...
|
|
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
| Allocates memory on a specified alignment boundary. More...
|
|
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
| Reallocates memory on a specified alignment boundary. More...
|
|
static UtilExport void | aligned_free (void *ptr) |
| Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
|
|
This is the interface class to Populate.
It is a singleton class which is created upon 3dsMax start up. It manages all of the Populate operations.
The following code sets some Populate parameters and simulates. It then selects all the simulated characters and sets them to high resolution. This code will only do something if Populate objects exist in the scene. Code to create Populate objects can be found in the IPopulateFlow, IPopulateSeat and IPopulateIdleArea documentation.
- Example
iPopulate->SetNumFrames(500);
iPopulate->Simulate();
for (int i=0; i<iPopulate->NumStandingIdlers(); i++)
{
node = iPopulate->GetStandingIdler(i);
if (node) nodes.
Append(1,&node);
}
for (int i=0; i<iPopulate->NumSeatedIdlers(); i++)
{
node = iPopulate->GetSeatedIdler(i);
if (node) nodes.
Append(1,&node);
}
for (int i=0; i<iPopulate->NumPedestrians(); i++)
{
node = iPopulate->GetPedestrian(i);
if (node) nodes.
Append(1,&node);
}
ip->SelectNodeTab(nodes,1,1);
iPopulate->SwitchSelectedCharactersResolution();
#define NULL
Definition: autoptr.h:18
Class representing a dynamic array of INodes.
Definition: INodeTab.h:8
@ eDisplayTexturedSkin
Textured Skin.
Definition: IPopulate.h:51
int Append(int num, T *el, int allocExtra=0)
Appends items at the end of the Tab.
Definition: tab.h:281
- See also
- IPopulateFlow, IPopulateIdleArea, IPopulateSeat