Unigine::ObjectExternBase Class
Header: | #include <UnigineObjects.h> |
Inherits: | Base |
The base class, from which the custom user-defined objects are inherited.
ObjectExternBase Class
Members
int getClassID()
Returns a unique class ID.Return value
Unique class ID.int getCollision(const Math::vec3 & p0, const Math::vec3 & p1, Vector< int > & surfaces)
Spatial collision with the bounding box.Arguments
- const Math::vec3 & p0 - Coordinates of the start point of the line.
- const Math::vec3 & p1 - Coordinates of the end point of the line.
- Vector< int > & surfaces - Return array with surface numbers.
Return value
Returns 1 if the array of surfaces is not empty.int getCollision(const BoundBox & bb, Vector< int > & surfaces)
Spatial collision with the bounding box.Arguments
- const BoundBox & bb - Bounding box.
- Vector< int > & surfaces - Return array with surface numbers.
Return value
Returns 1 if the array of surfaces is not empty.int getIntersection(const Math::vec3 & p0, const Math::vec3 & p1, Math::vec3 * ret_point, Math::vec3 * ret_normal, Math::vec4 * ret_texcoord, int * ret_index, int surface)
Returns a value indicating that the line intersects the object surface.Arguments
- const Math::vec3 & p0 - Coordinates of the start point of the line.
- const Math::vec3 & p1 - Coordinates of the end point of the line.
- Math::vec3 * ret_point - Intersection point coordinates.
- Math::vec3 * ret_normal - Intersection normal vector.
- Math::vec4 * ret_texcoord - Intersection texture coordinates.
- int * ret_index - Intersection index number.
- int surface - Surface number.
Return value
Returns 1 if the intersection occurs.Ptr<Node> getNode()
Returns the Node smart pointer.Return value
Node smart pointer.int getNumSurfaces()
Returns the number of object surfaces.Return value
The number of object surfaces.int getNumTriangles(int surface)
Returns the number of triangles.Arguments
- int surface - Surface number.
Return value
Returns the number of triangles.Ptr<Object> getObject()
Returns the Object smart pointer.Return value
Object smart pointer.Ptr<ObjectExtern> getObjectExtern()
Returns the ObjectExtern smart pointer.Return value
ObjectExtern smart pointer.float getOpacityDistance(const Math::Vec3 & camera, int surface)
Returns the opacity rendering distance.Arguments
- const Math::Vec3 & camera - World camera position.
- int surface - Surface number.
Return value
Surface rendering distance.int getOrder(const Math::Vec3 & camera, int surface)
Returns the rendering order with respect to the camera position.Arguments
- const Math::Vec3 & camera - World camera position.
- int surface - Surface number.
Return value
Surface rendering order.int isOwner()
Returns the "owner" flag.Return value
The "owner" flag.int getRandomPoint(Math::vec3 & ret_point, Math::vec3 & ret_normal, Math::vec3 & ret_velocity, int surface)
Returns a random point from a surface.Arguments
- Math::vec3 & ret_point - Random point coordinates.
- Math::vec3 & ret_normal - Random normal vector.
- Math::vec3 & ret_velocity - Random velocity vector.
- int surface - Surface number.
Return value
Returns 1 if the random point is valid.int getResource(int surface)
Returns the unique render resource identifier.Arguments
- int surface - Surface number.
Return value
Surface resource identifier.int getSequence(const Math::Vec3 & camera, int surface)
Returns the rendering sequence with respect to the camera position.Arguments
- const Math::Vec3 & camera - World camera position.
- int surface - Surface number.
Return value
Surface rendering sequence.const char * getSurfaceName(int surface)
Returns the object surface name.Arguments
- int surface - Surface number.
Return value
Surface name.float getTransparentDistance(const Math::Vec3 & camera, int surface)
Returns the transparent rendering distance.Arguments
- const Math::Vec3 & camera - World camera position.
- int surface - Surface number.
Return value
Surface rendering distance.void create(int surface)
Renders a create function.Arguments
- int surface - Surface number.
int findSurface(const char * name)
Returns the number of the object surface by its name.Arguments
- const char * name - Surface name.
Return value
Surface number.void grab()
Grabs an object. The object should not be handled by the class after this function is called.int hasCreate()
Returns a value indicating that the object has a create function.Return value
Returns 1 if the object has a create function.int hasLods()
Returns a value indicating if the object has LODs.Return value
Returns 1 if the object has surface LODs.int hasRender()
Returns a value indicating that the object has a render function.Return value
Returns 1 if the object has a render function.int hasShadow()
Returns a value indicating that the object has a shadow function.Return value
Returns 1 if the object has a shadow function.int loadWorld(const Ptr<Xml> & xml)
Loads an object state from the Xml.Arguments
- const Ptr<Xml> & xml - Xml smart pointer.
Return value
Returns 1 if the object state was successfully loaded; otherwise, 0 is returned.void preRender(float ifps)
Arguments
- float ifps
void release()
Releases an object. The object should be handled by the class after this function is called.void render(int pass, int surface)
Renders a render function.Arguments
- int pass - Rendering pass.
- int surface - Surface number.
void renderHandler()
Renders the handler.void renderShadow(int pass, int surface)
Renders render function.Arguments
- int pass - Rendering pass.
- int surface - Surface number.
void renderVisualizer()
Renders the visualizer.You should enable the engine visualizer by the show_visualizer 1 console command.
void resizeSurfaces()
Resizes all of the object surfaces.int restoreState(const Ptr<Stream> & stream)
Restores an object state from the stream.This function is deprecated and will be removed in the next release.
Arguments
- const Ptr<Stream> & stream - Stream smart pointer.
Return value
Returns 1 if the object state was successfully restored; otherwise, 0 is returned.int saveState(const Ptr<Stream> & stream)
Saves an object state into the stream.This function is deprecated and will be removed in the next release.
Arguments
- const Ptr<Stream> & stream - Stream smart pointer.
Return value
Returns 1 if the object state was successfully saved; otherwise, 0 is returned.int saveWorld(const Ptr<Xml> & xml)
Saves an object state into the Xml.Arguments
- const Ptr<Xml> & xml - Xml smart pointer.
Return value
Returns 1 if the object state was successfully saved; otherwise, 0 is returned.void update(float ifps)
Update function.Arguments
- float ifps - Inverse FPS value.
void updateEnabled()
Updates enabled.void updateEnabled(int surface)
Updates enabled.Arguments
- int surface - Surface number.
void updatePosition()
Updates a position.void updateSurfaces()
Updates all of the object surfaces.void updateTransform()
Updates transformation.Last update: 2018-04-26
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)